Skip to content

docs(security): clarify defensive examples in CLAUDE.md prompt-injection section#73

Merged
tzone85 merged 1 commit into
mainfrom
chore/gitignore-claude-local-files
Jun 11, 2026
Merged

docs(security): clarify defensive examples in CLAUDE.md prompt-injection section#73
tzone85 merged 1 commit into
mainfrom
chore/gitignore-claude-local-files

Conversation

@tzone85

@tzone85 tzone85 commented Jun 11, 2026

Copy link
Copy Markdown
Owner

Summary

Ran AgentShield (ecc-agentshield) against the repo per the user request. Project grade: C (64/100). The vast majority of findings (46 total) sit against files that don't ship with the repo:

  • .claude/settings.local.json — maintainer's local Claude Code session state (.claude/ is already in .gitignore; git ls-files .claude/ returns empty)
  • .claude/commands/speckit.* — installed plugin skills, not project config

So the published repo is materially unaffected by the AgentShield CRITICAL/HIGH counts.

The remaining hits against tracked files (3 against CLAUDE.md at lines 193 and 238) are false positives: they fire on the defensive list of override-pattern examples the agent is told to DEFEND against, sitting inside the "Prompt Injection Defenses" section. The patterns are in quotes inside an explanatory list — not directives.

Changes

Add a one-line note under "Prompt Injection Defenses" pointing this out so future scans + auditors aren't confused. The note keeps the patterns legible (the agent needs to recognise the threat literals) while flagging the scanner false positive for human reviewers.

Test plan

  • Pure docs change — go build ./... clean.
  • Re-running AgentShield will still report the same hits; that's intentional. Future scanner generations that respect explanatory context may quiet down.

Audit traceability

User-requested AgentShield scan + 2026-06-11 security audit closeout.

…ion section

Ran AgentShield (ecc-agentshield) against the repo. Project grade is C
(64/100), but the bulk of findings are against `.claude/settings.local.json`
and `.claude/commands/speckit.*` — files that live entirely outside
this repo (`.claude/` is already in .gitignore; `git ls-files .claude/`
returns empty). They are the maintainer's local Claude Code session
state and shipped plugin skills, not project-tracked configuration.

The remaining CLAUDE.md findings (3 hits at lines 193 and 238) are
false positives on the defensive documentation that LISTS the
override-pattern examples we DEFEND against. The patterns are in
quotes inside an explanatory list — they're not directives.

Add a one-line note under "Prompt Injection Defenses" pointing this
out so future scans + auditors aren't confused. The note also tells
human reviewers that the scanner output is expected to surface those
strings — silence-on-grade is the goal, but the patterns themselves
must stay legible for the agent to recognise the threat.

Surfaced by user-requested AgentShield scan + 2026-06-11 audit.
@tzone85 tzone85 merged commit 586c881 into main Jun 11, 2026
8 of 9 checks passed
@tzone85 tzone85 deleted the chore/gitignore-claude-local-files branch June 11, 2026 11:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant