test(llm-security): add red AV-surface probe for the v8.1.0 Defender plan
tests/av-surface.test.mjs walks git ls-files and fails on four surfaces a clone or the plugin cache puts on a user's disk: (a) own SIG payloads (webshell/reverse_shell/cryptominer) in a runnable file type, (b) base64 blobs decoding to a shell command, (c) Tag/zero-width/bidi carriers in text files outside the conformance corpus, (d) known payload trees. Red on purpose (order S0): it is the failing test for S1-S3. Measured on this tree: a=3 b=9 (8 files) c=5 d=5. Chosen definitions are documented in the file header: .mjs/.js/.cjs/.json and scanners/commons/** are outside (a) so the untouchable signature tables stay out of a gate that must reach zero; binaries are outside (c) because decoding PNG/WOFF2 as UTF-8 yields the codepoints by chance. PLAN.md is local-only, so .gitignore now names it. No production code, no fixtures, no signature tables touched; golden baseline unchanged. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
c14501e99c
commit
c7bfd2cfd0
2 changed files with 167 additions and 0 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -24,6 +24,9 @@ HANDOFF-FINDINGS.local.md
|
|||
# Untracked 2026-08-01 (org-ops finding) after being tracked since project start;
|
||||
# git history keeps the old commits, this only stops future ones.
|
||||
STATE.md
|
||||
# PLAN.md is local-only for the same reason (destination, open questions,
|
||||
# what NOT to build) — it never reaches the public remote.
|
||||
PLAN.md
|
||||
REMEMBER.md
|
||||
ROADMAP.md
|
||||
TODO.md
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue