aflpp
Verdict safe, but 1 finding (1 medium), mainly command injection. Most recent scan 2026-02-06.
The AFL++ fuzzing skill is primarily a documentation and guidance package for using the AFL++ fuzzer tool. The main security concern is an incomplete wrapper script that, if completed as currently written, could enable command injection through unsafe use of 'bash -c "$*"'. The skill is missing optional metadata fields (license, compatibility, allowed-tools) which would improve transparency about resource usage and tool requirements. Several file references appear to be false positives from markdown parsing. The skill's core purpose (fuzzing C/C++ code) is legitimate and the instructions themselves do not contain prompt injection attempts or malicious directives. The incomplete script should be fixed before deployment, but overall the skill poses moderate risk primarily due to implementation incompleteness rather than malicious intent.
Scanner's overall assessment (LLM analyzer)
Second scanner: NVIDIA SkillSpector
Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.
What this skill does
AFL++ is a fork of AFL with better fuzzing performance and advanced features. Use for multi-core fuzzing of C/C++ projects.
- Package
- 1 file, 19 KB
- SKILL.md
- 2548 words, 12+ sections
- Code
- None. Instructions only.
SKILL.md covers: AFL++ · When to Use · Quick Start · Setup AFL++ wrapper script first (see Installation) · Installation · Ubuntu/Debian · Docker (from Docker Hub) · Docker (from source) · From source · Wrapper Script Setup · System Configuration · Writing a Harness
Findings
MEDIUM Incomplete Wrapper Script with Potential Command Injection Risk Command Injectionllm
The wrapper script in SKILL.md is incomplete and cuts off mid-implementation. The 'host' case uses 'bash -c "$*"' which could enable command injection if the script were completed and used with untrusted input. While the script is currently non-functional (incomplete), if completed as-is, it would execute arbitrary commands passed as arguments without validation.
SKILL.md
case "$1" in
host)
shift
bash -c "$*"
[script cuts off here]What is in the package
| File | Kind | Size |
|---|---|---|
SKILL.md | doc | 19 KB |
External hosts referenced
raw.githubusercontent.com github.com www.youtube.com aflplus.plus blog.ritsec.club blog.trailofbits.com downloads.sourceforge.net www.usenix.org
Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.
Environment variables referenced
LLVM_CONFIG
Package contents recorded 2026-10-22 at commit a50696e20581. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.
What we checked
- Static analyzer. Pattern rules over SKILL.md and bundled files: known-bad commands, exfiltration URLs, secrets, obfuscation.
- Behavioral analyzer. Checks what the skill asks the agent to do against what its description claims it does.
- Llm analyzer. A language model reads the skill and reports intent-level issues the rules cannot express.
- Trigger analyzer. Looks for instructions that fire on conditions the user did not ask for.
- Meta analyzer. A second model pass that validates, deduplicates and re-scores the other analyzers' findings.
What we did not check
- Runtime behaviour. The skill was not executed; findings come from reading its files.
- Anything fetched at install or run time, including remote scripts, package dependencies, and URLs the skill tells the agent to open.
- Content the analyzers cannot read: images, binaries, and some non-English text.
- Known scanner bypass classes. See the methodology and limitations page.
Sources
- Repository: https://github.com/trailofbits/skills
- Raw scan result: plugins-testing-handbook-skills-skills-aflpp-scan.json
- Badge for your README:
 - Request a re-scan