Skill scanner shoot-out

Independent, reproducible comparison of open-source scanners for AI agent Skills on a small synthetic sample set. Run 2026-10-20. Results describe this sample set only; they are not a ranking of the tools. Part 1 of 2: the key-free static baseline. Part 2 will add an LLM judge running on a local model.

Read this first. No LLM review stage, VirusTotal or cloud analyzer was run (no API keys, static analysis only). Cisco's README says every setup it recommends includes its LLM judge, and that rules alone catch only about 8% of its own held-out set of malicious Skills; SkillSpector also has an optional LLM stage, off here. Cisco also describes its scan as best-effort: a clean result is not a guarantee. 22 of the 24 samples were written before any scanner was installed; the last two (known-vulnerable pinned dependencies) were added after a first run to exercise the online dependency check, and every scan was then re-run on the full set. No sample was tuned to a tool's output. Treat the numbers as a map of what static checks cover, not as a verdict.

Headline: caught or missed, per sample

✓ caught✗ missed! false alarm (benign sample flagged)– correctly quiet

Detection by rule family

View by framework

Pick one or more frameworks. Each rule family is mapped to items in the framework (the mapping is the author's judgement, not an official crosswalk; every ID was checked at the owner's page). Results regroup by the selected items.

Every sample, in detail

Method

Review notes (manual adjudication)

Part 2: a local LLM judge

Limits

Fairness and corrections

If a maintainer or reader believes a result is wrong or a tool was run in a way that doesn't reflect its intended use, please open an issue; I will rerun with your recommended configuration and publish the change, including what was wrong. Mistakes in matching or ground truth will be corrected in the open.

Reproduce

Everything runs in Docker (images pinned by digest, scanner versions pinned). Clone the repository, then run sh harness/reproduce.sh. Images built: base python:3.12-slim-bookworm, shootout-cisco:2.3.0, shootout-skillspector:2.13.0, shootout-report:mpl3.11.2.