01 — Scanning
before install
Trust is decided here.
A scan reads the skill. It runs nothing. The verdict is yours, and it comes before anything executes.
This is where AgentScan lives.
Skills run with your permissions. AgentScan reads a skill before you install it and shows you what it does: shell commands, network calls, secrets, license, with the exact line for each. It runs nothing. It sends nothing.
$ pipx install agentscan-cli|zero dependencies|works offline|scans before install
01 — The two layers
Scanning happens before install. Runtime tools act after. A skill that ran was trusted at install time.
01 — Scanning
before install
A scan reads the skill. It runs nothing. The verdict is yours, and it comes before anything executes.
This is where AgentScan lives.
02 — Runtime
after install
Monitoring, alerting, and rollback happen after a skill has already acted. By then, the damage may already be done.
Runtime tools react after the fact.
Trust is decided before install.
Claude Code
OpenAI Codex
OpenCode
Hermes
Grok BuildInstall
$ pipx install agentscan-cli
$ agentscan scan .
Scan a skill directory for malware, secrets, and network calls. Local and offline.
$ agentscan search
Browse the catalog.
$ agentscan install trust-pack
Install Trust Pack. Runtimes auto-detected.
$ agentscan install trust-pack --runtime hermes
Pick a runtime: claude, codex, opencode, hermes, grok.
$ agentscan install trust-pack --runtime grok
Grok Build installs to ~/.grok/skills/.
$ agentscan update
Update installed packages.
$ agentscan verify
Check installed packages.
02 — Pricing
The scanner is free and open source. Trust Pack is a one-time purchase. No subscription.
Free
Open-source security scanner for AI agent skills.
MIT · Open Source · Local First
Trust Pack
Ninety audited skills and fifteen specialist agents across eight engineering domains. Signed releases. Deterministic builds. One command to install.
includes 12 months of updates
03 — The problem
A skill is code. Your agent runs it with your permissions and your secrets. Installing a skill from a random repository is curl|bash with extra steps. Nobody reviews it first.
01
A skill reads your files. It reaches your network. It runs in your shell. Nobody reviews it before it does.
02
Stars mean people installed it. They do not mean it is safe.
03
ToxicSkills (Snyk, Feb 2026): 76 confirmed malicious payloads in 3,984 public skills. Clinejection turned one issue title into a supply-chain compromise.
04 — The record
Independent audits and mainstream coverage agree. Each number and claim below carries its source, so you can check it.
13.4%
of public agent skills have critical security issues
Snyk ToxicSkills, 3,984 skills
93.6%
declare no recognizable license
AgentScan corpus, 4,000 skills
76
confirmed malicious payloads in the audit
Snyk ToxicSkills
8
were still live at publication
Snyk ToxicSkills
The category is real
Snyk — Feb 2026
ToxicSkills scanned 3,984 public agent skills. 13.4% had critical issues. 76 were confirmed malicious. 8 were still live at publication.
read ↗CNN — Jul 2026
OpenAI test models escaped a sandbox without human direction and hacked onto another company's servers.
read ↗GitHub — Mar 2026
Secret scanning now covers code written by AI coding agents, via the GitHub MCP server.
read ↗Anthropic — Apr 2026
Project Glasswing: Anthropic and leading security vendors publicly treat AI-agent code as a security surface.
read ↗05 — The scanner
It runs locally. It executes nothing. It never calls out. Same input gives the same report.
$ agentscan .agentscan 0.5.0 — .scanned 1 artifact(s), 2 finding(s) ARTIFACT [claude-skill] deploy-notifier — Notifies a channel when a deploy finishes. LOW [license] No license declared SKILL.md:1 Skill declares no license (frontmatter `license:` or LICENSE file). Redistribution rights unclear. INFO [network] URL in skill SKILL.md:16 https://api.example.com/v1/notify summary: critical=0 high=0 medium=0 low=1 info=1 note: findings are observed patterns, not verdicts. Review each before acting.$ echo $?0Severity counts for each check. Use them to make a verdict.
Findings with file and line. Shell, eval, unpinned installs, hooks.
rm -rf, chmod 777, force-push, remote MCP servers.
Where the skill connects. URLs, IP literals, exfil sinks.
Declared vs recognized. Most public skills declare no license.
20+ token formats. Placeholders excluded by design.
06 — Trust Pack
Every skill is scanned and reviewed. We re-verify it on every release. We keep the list small on purpose.
A person reads every listing. The review leaves a public record.
Every release is re-scanned. Behavior changes show up before you update.
A tampered archive fails verification and does not install.
Every scan report, review note, and re-verification is public.
one-time purchase · updates for 12 months
07 — Integrations
All three are in the repo today. All three work offline.
GitHub Action
A ready workflow installs the CLI, scans skills, and uploads SARIF to code scanning. Copy one file into your repo.
.github/workflows/scan-skills.yml↗Pre-commit
A pre-commit hook runs the scan before you commit. Findings at your threshold stop the commit.
.pre-commit-hooks.yaml↗MCP server
A stdio MCP server exposes the scanner as a tool. Claude, Cursor, or any agent can scan a directory on demand.
agentscan-mcp↗Machine output: JSON · SARIF 2.1.0 · SBOM (CycloneDX) · OSV (opt-in) · Exit codes for CI
08 — Features
Each command does one thing.
01
Point it at a directory. It scans skills, MCP servers, and configs.
02
No account. No telemetry. It works offline.
03
MIT license. Zero dependencies. Standard library only.
04
It uses regex, entropy, and structure. Same input gives the same report.
05
It never runs the skill. It never makes a network call.
06
Exit codes, JSON, and SARIF 2.1.0 for GitHub code scanning.
It is free, local, and open source. It takes one command.
$ pipx install agentscan-cli