fix(skills): update trailofbits/skills to cfe5d7b, fix zeroize-audit - #740
fix(skills): update trailofbits/skills to cfe5d7b, fix zeroize-audit#740JAORMX wants to merge 3 commits into
Conversation
…onstant-time-analysis,differential-review,fp-check,insecure-defaults,property-based-testing,sarif-parsing,semgrep,semgrep-rule-creator,semgrep-rule-variant-creator,sharp-edges,supply-chain-risk-auditor,variant-analysis,yara-rule-authoring,zeroize-audit
Scanner flagged two list-form subprocess.run() calls (generate_poc.py, check_rust_asm.py) as dangerous. Neither uses shell=True or takes attacker-controlled arguments -- fixed commands/scripts, one with an explicit timeout. Note: the other 5 skills bumped in this digest (agentic-actions-auditor, codeql, constant-time-analysis, sharp-edges, yara-rule-authoring) still fail skill-security-scan due to the known scanner meta-analyzer JSON-parse bug (dozens to hundreds of raw findings surviving as blocking) -- not fixed here, not practically allowlistable by hand. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
🛡️ Skill Security Scan Results✅ agentic-actions-auditor
❌ codeql
Blocking issues:
❌ constant-time-analysis
Blocking issues:
✅ differential-review
✅ fp-check
✅ insecure-defaults
✅ property-based-testing
✅ sarif-parsing
✅ semgrep
✅ semgrep-rule-creator
✅ semgrep-rule-variant-creator
❌ sharp-edges
Blocking issues:
Allowlisted (not blocking):
✅ supply-chain-risk-auditor
✅ variant-analysis
❌ yara-rule-authoring
Blocking issues:
✅ zeroize-audit
Summary: Scanned 16 skill(s), found 647 blocking issue(s).
|
|
#855 advances the trailofbits skills beyond this ref. The later |
…oize-audit Same finding, same false positive already verified in #740: both subprocess.run() calls in tools/generate_poc.py and tools/scripts/check_rust_asm.py are list-form, use fixed commands/scripts, and take no attacker-controlled arguments. Revalidated against the current ref before carrying forward. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Superseded by #855, which has now carried forward the |
* chore(deps): update trailofbits/skills digest to 7b9bd5f * chore(skills): bump spec.version for agentic-actions-auditor,codeql,constant-time-analysis,differential-review,fp-check,insecure-defaults,property-based-testing,sarif-parsing,semgrep,semgrep-rule-creator,semgrep-rule-variant-creator,sharp-edges,supply-chain-risk-auditor,variant-analysis,yara-rule-authoring,zeroize-audit * chore: allowlist scanner false positive(s) for supply-chain-risk-auditor * fix(skills): remove insecure-defaults, restructured out of existence upstream trailofbits/skills dropped the skills/ subdirectory from the insecure-defaults plugin at the new digest, so plugins/insecure-defaults/ no longer contains a SKILL.md anywhere. There is nothing left to package at the vendored path. Already-published insecure-defaults artifacts are unaffected. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(skills): accept LLM_PROMPT_INJECTION risk for semgrep ruleset cloning The scanner's prompt-injection finding on skills/semgrep is not a keyword false positive: the skill genuinely clones third-party ruleset repos by GitHub URL. Accepting as a known, bounded risk since the ruleset sources are fixed and skill-selected (not user-supplied), the content is declarative YAML rather than executable code, and the user approves the exact ruleset list before any clone happens. Same reasoning already accepted for skills/hf-mcp and skills/huggingface-tool-builder. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(skills): allowlist LLM_COMMAND_INJECTION false positive on semgrep The scanner flagged [TARGET]/[OUTPUT_DIR] placeholders in the scanner subagent's bash templates as unsanitized command injection. Both are locally-resolved values (the codebase path being scanned, and the skill's own output directory) that the user/agent already controls, not attacker-supplied input. Same reasoning already accepted for skills/huggingface-tool-builder and skills/huggingface-paper-publisher. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(skills): carry forward BEHAVIOR_EVAL_SUBPROCESS allowlist for zeroize-audit Same finding, same false positive already verified in #740: both subprocess.run() calls in tools/generate_poc.py and tools/scripts/check_rust_asm.py are list-form, use fixed commands/scripts, and take no attacker-controlled arguments. Revalidated against the current ref before carrying forward. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(skills): allowlist LLM_COMMAND_INJECTION findings on codeql Two blocking findings in workflows/build-database.md: - Tracing compilation of a compiled-language codebase requires running that codebase's own build system (make/cmake/gradle/etc.), including a make --dry-run compile-command extraction for the macOS arm64e workaround. This is CodeQL's documented, required mechanism for compiled-language analysis, not a new injection primitive - the same inherent risk as running any CI/build pipeline against the analyzed codebase. - $CMD/$DB_NAME/$OUTPUT_DIR in the bash templates are the skill's own locally-resolved values, not attacker-supplied input - same reasoning already accepted for skills/semgrep. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: toolhive-release-app[bot] <280093410+toolhive-release-app[bot]@users.noreply.github.com> Co-authored-by: Dan Barr <danbarr@users.noreply.github.com> Co-authored-by: Dan Barr <6922515+danbarr@users.noreply.github.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Summary
skill-security-scan.zeroize-audit: allowlistedBEHAVIOR_EVAL_SUBPROCESS— verified against the actual upstream source, both flaggedsubprocess.run()calls are list-form (noshell=True) with fixed commands/scripts and no attacker-controlled arguments.Not fixed here
The other 5 skills bumped in this digest (
agentic-actions-auditor,codeql,constant-time-analysis,sharp-edges,yara-rule-authoring) still failskill-security-scan. Their logs showFailed to parse meta-analysis response: No valid JSON found in response, the known scanner meta-analyzer bug — dozens to hundreds of raw pattern-match findings survive as blocking when this happens, which isn't practically fixable by hand-allowlisting. This is a scanner tooling reliability issue, not a dockyard content problem.Test plan
dockhandlocally, ranvalidate-skillagainstskills/zeroize-audit/spec.yaml—Status: VALIDzeroize-auditto go green, the other 5 to remain red pending the scanner bugCo-Authored-By: Claude Sonnet 5 noreply@anthropic.com