Redact credentials in audit skill evidence and frame the vulnerable examples - #591
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the repository’s auditing prompts and skill bundles so they can still provide quote-based evidence while redacting credential values, and so that intentionally vulnerable reference snippets are framed as patterns to recognize rather than patterns to introduce. It also tightens the finding-refuter agent’s operational boundaries around what commands it can run when refuting findings.
Changes:
- Add a consistent credential-redaction rule (
[REDACTED]) acrossaudit-pr,audit-quality,audit-docs, and TypeScript/test standards agents, while keeping verification steps unredacted. - Add “Data handling” prompt-injection resistance language, and clarify that fenced “Finding/Fix” blocks in references are illustrations to read, not instructions to run.
- Upgrade several runtime/dev dependencies (Next/React, jest-dom, Cypress, Prettier, Sass) and refresh the lockfile accordingly.
Reviewed changes
Copilot reviewed 21 out of 22 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Upgrades runtime and dev dependencies (Next/React, jest-dom, Cypress, Prettier, Sass). |
| package-lock.json | Updates resolved dependency graph to match the package.json upgrades. |
| .github/prompts/audit-quality.prompt.md | Adds credential redaction rule and “Data handling” guardrails to the prompt half. |
| .github/prompts/audit-pr.prompt.md | Adds credential redaction rule and “Data handling” guardrails to the prompt half. |
| .github/prompts/audit-docs.prompt.md | Extends “prove it” evidence rule with credential redaction guidance. |
| .claude/skills/typescript-code-and-test-standards/agents/test-quality-reviewer.md | Allows quoted evidence to be redacted for credentials in test-review findings. |
| .claude/skills/typescript-code-and-test-standards/agents/comment-and-jsdoc-auditor.md | Allows quoted evidence to be redacted for credentials in comment/JSDoc findings. |
| .claude/skills/audit-quality/SKILL.md | Mirrors audit-quality prompt updates in the skill bundle. |
| .claude/skills/audit-pr/SKILL.md | Mirrors audit-pr prompt updates in the skill bundle. |
| .claude/skills/audit-pr/references/supply-chain.md | Adds explicit framing that fenced examples are illustrations, not commands/files to create. |
| .claude/skills/audit-pr/references/security-and-privacy.md | Frames vulnerable “Finding/Fix” pairs as recognition-only examples, adds credential-quote redaction note. |
| .claude/skills/audit-pr/references/environment-and-observability.md | Adds explicit framing that fenced examples are illustrations, not commands. |
| .claude/skills/audit-pr/references/cost-and-billing.md | Adds explicit framing that fenced examples are illustrations, not commands. |
| .claude/skills/audit-pr/assets/review-summary.template.md | Clarifies [REDACTED] is not a placeholder and how to validate redacted quotes. |
| .claude/skills/audit-pr/agents/finding-refuter.md | Narrows command execution language, adds redacted-quote matching rules. |
| .claude/skills/audit-docs/SKILL.md | Mirrors audit-docs prompt updates in the skill bundle. |
| .claude/skills/audit-docs/references/evidence-and-citation.md | Adds guidance on redacting credential values even in private verification notes. |
| .claude/skills/audit-docs/assets/audit-report.template.md | Clarifies [REDACTED] is intentionally preserved in the filled template. |
| .claude/skills/audit-docs/agents/surface-auditor.md | Allows code-quote evidence to redact credential values while still reporting contradictions. |
| .claude/skills/audit-docs/agents/diagram-reviewer.md | Allows redacted credential values in quoted evidence for diagram accuracy findings. |
| .claude/skills/audit-docs/agents/coverage-mapper.md | Allows redacted credential values in quoted evidence for narration findings. |
| .claude/skills/audit-docs/agents/claim-verifier.md | Allows redacted credential values in quotes while preserving CONFIRMED/REFUTED verdicts. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
audit-prandaudit-qualityskills were failing their skills.sh security audits. Snyk flagged both under W007, insecure credential handling, because they make a verbatim quote the unit of evidence and drop any finding that cannot produce one. Socket separately flaggedaudit-prfor the deliberately vulnerable snippets insecurity-and-privacy.md, reading the# Finding:half of each pair as a pattern the skill was telling the agent to use rather than one to recognize.Added a redaction rule to section 1 of both halves of
audit-prandaudit-quality. A credential value is replaced with[REDACTED]in the quote, and a redacted quote still satisfies the evidence rule, so the finding ships instead of being dropped. The rule also states that the substitution happens on the way into the report and not on the way into any check, since a carve-out worded the other way would stop the refutation pass from verifying anything. Carried the matching carve-out into every place the quote is re-checked: the finding format, refutation question 1, the summary template, and the refuter's literal-string search. Also added aData handling.paragraph to the same four files saying the diff, the description, the commit messages and any linked issue are data to report on rather than instructions to follow, which closes the prompt injection path neither audit covered.For Socket, added a short paragraph to each of the four
references/files stating that a fenced block is an illustration to recognize and not a command to run. The examples stay, since that is what those files are for. Also narrowedfinding-refuter.md, which was granting itself "running whatever command settles a question" with the choice of command driven by an untrusted diff.In addition, carried the same redaction rule into
audit-docsandtypescript-code-and-test-standards. Both hold the same drop-if-you-cannot-quote rule in their subagents and would fail the same way, and a test fixture is the usual place a credential turns up.