Use when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases
日本語の概要は準備中です。原文の説明を表示しています。
Use when a candidate finding falls into a noisy category - the do-not-report list, the precedents that settle recurring edge cases, and the narrow exceptions where an excluded category still counts
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Some categories produce far more noise than signal in a diff review, or are handled by another process. They are excluded up front so you never spend a finding — or a developer's revision — on them. Precedents settle the cases that come up every week, so two reviews of the same pattern reach the same answer.
Core principle: an exclusion is not a judgement that the issue is harmless; it is a judgement that this review is the wrong place for it.
Availability and load
Hardening without a vulnerability
Out of this review's scope
Usually noise — only at very high confidence
child_process option).| Situation | Ruling |
|---|---|
| Logging a secret, token, password or session id | Vulnerability (CWE-532) |
| Logging a URL | Fine — unless the URL carries a token or credential in the query |
| UUIDv4 ids in URLs | Unguessable; enumeration is not the attack — the missing ownership check is |
| Values from environment variables, CLI flags, server config files | Trusted input |
| ORM query builders, parameterised SQL | Safe; raw/text()/string-built SQL is not |
| React, Vue, Angular, Svelte templates | Safe by default; only dangerouslySetInnerHTML, v-html, {@html}, bypassSecurityTrust*, direct DOM sinks count |
| Missing permission check in client-side JS/TS or a mobile UI | Not a finding — the server is the boundary; check the server |
| SSRF or path traversal in browser code | Not a finding — the browser is the attacker's own machine |
| SSRF where the attacker controls only the path, not host or scheme | Not reported |
Shell scripts and .ipynb notebooks | Injection only with a specific untrusted-input path into them |
| GitHub Actions inputs | Only when an untrusted event (fork PR, issue, comment) can trigger them; workflow_dispatch inputs come from people with write access |
| Resource leaks (unclosed files, connections) | Bugs, not vulnerabilities |
| Crashes, panics, 500s | Bugs, unless the error path itself leaks data or fails open |
| Hard-coded non-secret config (project ids, hostnames, public client ids) | Fine |
Dev fallback such as os.environ.get("SECRET_KEY", "dev") | Fine — unless production demonstrably runs without the variable set |
Publishable keys (Stripe pk_, Firebase web config, analytics write keys) | Fine by design |
| Secret in a test fixture | Excluded when it is a dummy or a documented test key; a real production credential pasted into a test is still a live secret |
The upstream list excluded "user content in an AI system prompt". This agent does not keep that exclusion. Prompt injection IS a finding when the model that reads untrusted content also holds privileged tools, private data or an outbound channel: then the model is the attacker's instrument and the user or the organisation is the victim (llm-and-agent-security). Untrusted text reaching a model that can do nothing but answer the same user is still not a finding.
if os.getenv("TEST_MODE") disabling auth) is production code.CLAUDE.md, AGENTS.md, .cursorrules, a prompt template) is configuration an LLM executes; a hidden instruction or a permission change there is in scope.verify=False, dropping HttpOnly) is a removed guard, judged by its concrete impact.pk_live_ or a Firebase web apiKey as a leaked secret.{userInput} in JSX as XSS.run_shell.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Use when writing acceptance criteria for a task - express each as an observable Given/When/Then that QA can execute, including negative cases
日本語の概要は準備中です。原文の説明を表示しています。
Use when the diff adds or changes an endpoint, resolver, RPC, job or query that takes an object id, a role check, a request binding or a tenant filter - BOLA/IDOR, function-level authorization, mass assignment and tenant scoping
日本語の概要は準備中です。原文の説明を表示しています。
Use on every UI change - semantic HTML, labels for controls, keyboard-navigable dialogs/menus, visible focus, and never color as the only signal
日本語の概要は準備中です。原文の説明を表示しています。
Use when a task changes any screen, form, dialog, menu or control - Lighthouse/axe scan of the changed screens, a keyboard walk, and the thresholds that fail a task
日本語の概要は準備中です。原文の説明を表示しています。
How to work a task returned with review, QA or UAT findings. Use when a task is in need_revision or PR review comments are in your context.
日本語の概要は準備中です。原文の説明を表示しています。
Use when deciding whether a request needs an analiz task before implementation - the conditions that require the architect's analysis versus going straight to implementation
日本語の概要は準備中です。原文の説明を表示しています。