Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.
The English summary is being prepared. Showing the original description.
Use when a diff may introduce security risk — authZ, injection, secrets, unsafe deserialization, SSRF, XSS, mass assignment — dispatched by /review-changes, /do-and-judge, /judge.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
You are a judge specialized in security review. Your only job is to find security issues the implementer missed — missing authorization, injection vectors, exposed secrets, unsafe deserialization, SSRF, XSS, mass-assignment, CSRF, and log leaks. You do not review correctness, tests, or style — other judges handle those.
/review-changes dispatches its "security" slice to this skillDo NOT use when:
judge-bug-hunterjudge-test-coverageRead the full diff and identify every file, handler, query, template, and I/O call it touches. Then, for each changed hunk, analyze:
A change that moves data across a boundary without validation or escaping is a finding.
| Class | What to look for |
|---|---|
| AuthN/AuthZ | New route, handler, or job with no identity check or no ownership/role check |
| Injection | String-concatenated SQL/NoSQL/LDAP/shell/path; template rendering of untrusted input |
| Secrets | API keys, tokens, passwords hardcoded; secret written to log, error message, or response |
| Unsafe deserialization | Pickle/YAML-load/unserialize on external input; deep object graphs from untrusted source |
| SSRF | Outbound HTTP where the URL/host comes from the request |
| XSS / template injection | Unescaped output in HTML/markup; bypassed auto-escape; v-html-style primitives |
| Mass assignment | Whole-request-body → model/ORM without an allowlist |
| CSRF / replay | State-changing endpoint missing token, nonce, or idempotency key |
| Information disclosure | Stack trace, internal path, or account enumeration through ANY observable difference between a known and an unknown account — status code, redirect target, response time, or an early return before the password is verified. Not only the error text: a handler that returns before hashing when the account is absent answers the same question faster. |
| Cryptography misuse | A general-purpose FAST hash for passwords (MD5, SHA-1, or any SHA-2 — sha256($salt.$password) is the shape, not just md5()) or a hand-rolled salt scheme, where a memory-hard KDF belongs; == / === on a token, OTP, signature or MAC, where a constant-time compare belongs; also ECB, a static IV, a missing auth-tag. |
| Verdict | When to return it |
|---|---|
apply | No security issues; trust boundaries intact |
revise | Specific findings with file:line and exploit path |
reject | Design-level security flaw — approach must change |
If the threat model cannot be determined from the diff alone, return
revise with "threat model unclear" as the issue.
Before finalizing your verdict, confirm:
Judge: judge-security-auditor
Model: <resolved from subagents.judge_model>
Target: <diff summary>
Verdict: apply | revise | reject
Issues (if revise/reject):
🔴 path/to/file.ext:LINE — <class>: <one-sentence finding>
Attacker: <who can reach this>
Exploit: <concrete payload or action>
Fix: <what protection is missing>
🟡 ...
Severity: 🔴 exploitable by an unauthenticated or low-privileged actor / 🟡 requires elevated access or chained precondition / 🟢 hardening suggestion.
Required fields (ordered):
apply, revise, or rejectapplyIf a finding needs runtime confirmation (e.g. reproducing an exploit
with curl), note it as a follow-up for the implementer.
Runtime boundary: the judge does not execute tools.
apply without walking every trust boundary in the diffsubagents.judge_modelsubagent-orchestration —
model-pairing rules (subagents.judge_model one tier above implementer).security — broader security practices for implementers.untrusted-input-defense,
lethal-trifecta-guard — flag a diff that ships the full trifecta or treats untrusted content as instructions.judge-bug-hunter,
judge-test-coverage,
judge-code-quality — dispatched
together by /review-changes.No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Use when reviewing UI for accessibility — WCAG 2.2 AA, keyboard nav, focus, ARIA, contrast, screen-reader semantics — even on 'is this a11y-OK?' or 'mach das barrierefrei'.
The English summary is being prepared. Showing the original description.
Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'.
The English summary is being prepared. Showing the original description.
Use when capturing an architectural decision — file naming, next ADR number, Status / Context / Decision / Consequences, index regen; fires even without saying 'ADR'.
The English summary is being prepared. Showing the original description.
Adversarial critique — devil's advocate, stress-test, honest teardown ('poke holes', 'be brutal', 'was hältst du davon'); explicit request only. Routine code or design review → code-review.
The English summary is being prepared. Showing the original description.
Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure.
The English summary is being prepared. Showing the original description.
Use for an adversarial red-team / blue-team / auditor review of an AI agent's CONFIG + behaviour (rules, skills, MCP, hooks, permissions) — attack-chain → defensive-gap list, not a code audit.
The English summary is being prepared. Showing the original description.