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'.
中文简介正在准备中。当前显示原文说明。
Security audit — vulnerability scan, pentest review, attack-surface sweep; explicit request only, not regular feature work. Pre-implementation threat pass → threat-modeling.
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
Find real security vulnerabilities in code before they are exploited. This skill is proactive — it audits code for security weaknesses, not just responds to incidents.
For writing secure code patterns (policies, auth, CSRF), use the security skill instead.
Use this skill when:
analysis-autonomous-mode routes here after detecting risky patternsDo NOT use when:
securitybug-analyzer (proactive mode)performance-analysisthreat-modelingauthz-reviewBefore any finding enters the report, restate it as one falsifiable sentence naming all three of:
If any of the three cannot be named concretely, the item is not a finding yet — trace further or drop it with a one-line reason.
Rationalizations to Reject:
| Rationalization | Reality |
|---|---|
| "It looks dangerous" | Pattern-recognition is not analysis — trace the full data flow from entry to sink first |
| "This is clearly critical" | Complete a devil's-advocate pass — models systematically overrate severity |
| "Report it just in case" | Over-reporting erodes trust; an unverifiable finding is noise, not diligence |
| "Same pattern as a known CVE" | Same pattern ≠ same preconditions — verify the preconditions hold in THIS codebase |
Standard vs. Deep verification routing:
Identify all entry points where untrusted data enters:
For each entry point, trace where user input flows:
User Input → Controller → Validation → Service → DB/File/External
↓ ↓ ↓
Is it sanitized? Complete? Used safely?
| Category | What to look for |
|---|---|
| SQL Injection | Raw queries with concatenation, missing parameter binding |
| XSS | Unescaped template output (Blade {!! !!}, JSX dangerouslySetInnerHTML, Jinja ` |
| CSRF | Missing middleware, API endpoints without token verification |
| Auth bypass | Missing policy checks, broken gate logic, withoutMiddleware() |
| IDOR | Direct object access without ownership verification |
| Mass assignment | Missing $fillable/$guarded, request()->all() in create/update |
| File upload | Missing type validation, path traversal, executable uploads |
| SSRF | User-controlled URLs passed to HTTP client |
| Deserialization | Unserializing user input, unsafe queue payloads |
| Secret exposure | Hardcoded credentials, secrets in logs, .env in public dir |
| Rate limiting | Missing throttle on auth endpoints, password reset, API |
| Header injection | User input in response headers, email headers |
| Insecure defaults / fail-open | Guards that allow on error (catch { return true } in an authz check), default-allow matchers, debug mode defaulting on, permissive CORS/verify=false fallbacks, feature flags whose missing value grants access |
Worked example (fail-open): if (!$gate->check($user)) { … } wrapped in a
try/catch that logs and continues fails open — an exception in the gate
grants access. Finding shape: Category Insecure defaults, Evidence the
catch block file:line, Fix fail closed — rethrow or deny on gate error.
The table above names vulnerability classes, which are stable. This package carries no cryptographic parameter, key size, work factor, cipher suite, or TLS version floor: a value copied here reads authoritative long after it stops being true. Report the finding, route the fix to https://cheatsheetseries.owasp.org/ — Cryptographic Storage, Transport Layer Security, Password Storage, XML External Entity Prevention — and never name a value from memory. Rationale and reopening condition: ADR-238.
→ Laravel-specific checks: see laravel § Security audit checks.
composer.lock for known vulnerable packagespackage-lock.json for frontend vulnerabilitiesFor each vulnerability:
After the findings, add a Rejected candidates section: one line per look-dangerous-but-benign pattern the Step-0 gate killed, with the traced reason ("raw SQL string is a static migration constant — no user input reaches it"). An audit that rejects nothing has usually skipped the gate.
protect_from_forgery is already handled).docs/threat-model.md — package attack surface and trust boundary documentation.还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
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'.
中文简介正在准备中。当前显示原文说明。
Use when defining or auditing the activation event — aha-moment selection, retention correlation, falsifiable definition. Triggers on 'what is our aha moment', 'redefine activation'.
中文简介正在准备中。当前显示原文说明。
Use when capturing an architectural decision — file naming, next ADR number, Status / Context / Decision / Consequences, index regen; fires even without saying 'ADR'.
中文简介正在准备中。当前显示原文说明。
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.
中文简介正在准备中。当前显示原文说明。
Use when reading, creating, or updating agent documentation, module docs, roadmaps, or AGENTS.md. Understands the full .augment/, agents/, and copilot-instructions structure.
中文简介正在准备中。当前显示原文说明。
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.
中文简介正在准备中。当前显示原文说明。