Read the skillbefore it readsyour machine.
Husk checks AI agent skills for credential theft, hidden installers and prompt injection before you install them. Paste one, upload it, or look it up on a marketplace.
We'll fetch the published files, inspect them, and return the result.
Optional: get a second opinion from an AI model +
Your key is used only for that request.
Static analysis. Nothing you submit is executed.
What people are installingright now.
One scan is a snapshot.Husk covers the whole life of a skill.
Check it before publish, compare copies across registries, and keep watching after install.
Before publish
A pass or fail gate for your CI. Blocks a skill with dangerous code before it ever reaches a marketplace.
husk gate ./skillAt publish
A signed, reproducible record of the exact files scanned and the verdict. Change one byte and it no longer matches.
husk attest ./skillAcross registries
Fetches the same skill from every marketplace and warns when the copies differ, the sign of a swapped package.
husk crossref nameAfter install
Run it on a schedule and it tells you when an installed skill that was clean turns malicious in an update.
husk watchTested on real malware, not examples we wrote ourselves.
11,224 confirmed malicious skills and 4,249 legitimate skills were used to measure detection and false alarms.
3,815 of 4,000 legitimate skills from an independent research set passed without a single flag.
| Scanner | Real skills passed | Catch rate |
|---|---|---|
| Husk | 99.6% | 67.3% |
| syedabbast/skill-scanner | 86.7% | 64.3% |
| SkillFortify | 82.3% | 59.7% |
| agent-audit | 92.8% | 53.0% |
| clawhub-bridge | 80.7% | 44.7% |
| skillfrisk | 91.6% | 42.0% |
| skillguard | 70.3% | 39.3% |
| skill-audit (npm) | 91.2% | 38.0% |
| agentscan-cli | 93.2% | 35.0% |
| agent-audit-kit | 93.6% | 27.3% |
| malwar | 92.0% | 24.9% |
| SecureAI-Scan | 99.6% | 22.3% |
| skill-shielder | 92.0% | 21.7% |
| OpenTrApp Skill Firewall | 96.0% | 21.0% |
| skill-security-scanner | 100.0% | 0.0% |
| NVIDIA SkillSpector * | 65.1% | 58.3% |
| Cisco AI Defense skill-scanner * | 88.0% | 51.6% |
Same 699-skill sample for every tool, strict reading, current versions, no LLM. * Cisco and SkillSpector ran on a shared 200-skill subset (Husk on that subset: 60.0% caught, 98.0% passed). Full method, loose readings and raw results in BENCHMARK.md.
Benchmarked against industry security scanners
Runs locally. Nothing leaves your machine.
One pip install. No account. No API key. The scanner is open source, offline, and built so you can inspect the rules behind every verdict.
pip install husk-scannerhusk skill path/to/SKILL.mdhusk gate ./my-skillhusk explain ./my-skillQuestions people ask first.
Short answers. The repository has the long ones.
What does Husk actually check?+
SKILL.md instructions, bundled scripts, PDFs and archives. It looks for credential theft, curl | bash installers, reverse shells, data being sent out, and written instructions that try to hijack the agent. Its analysis engine follows data from where it came from to where it goes, through shell, Python, JavaScript and the code inside Markdown, so bash <(curl ...) and a download run three code blocks later are caught like curl | bash. Every finding names the lines that prove it.How often does it cry wolf?+
Why not just ask an AI model to review the skill?+
Can I run it before publishing?+
husk gate ./my-skill returns pass or fail with an exit code, so it drops into CI or a publish step. A .huskpolicy file sets how strict it is per project.