Configures Claude Code hooks and Codex hooks.json/notify. Use when adding PreToolUse guards, Stop hooks, managed hooks, format-on-save, preflight, audits, or worktree/budget hooks.
日本語の概要は準備中です。原文の説明を表示しています。
Reviews application security and guides AppSec design. Use when reviewing auth, authentication, authorization, sessions, data handling, supply chain, or AppSec architecture.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Use this skill for application-layer security: authentication, authorization, input and output handling, cryptography, supply-chain controls, API security, threat modeling, and security reviews. It is the AppSec decision layer, not general backend or infrastructure hardening.
Choose the provider's credential storage and verify who can read values; encryption at rest does not imply write-only access or complete read auditing.
| Provider | Credential storage | Check before use |
|---|---|---|
| Cloudflare Workers | wrangler secret put | Secret binding rather than a plain vars binding; see Workers secrets |
| Vercel | Secret environment variable | Confirm the current write-only option and environment scope in Vercel docs; a readable Config value may still be encrypted |
| GitHub Actions | Repository / Organization Secrets | Restrict workflow and environment access; keep credentials out of workflow env: literals and repository Variables |
| AWS | Secrets Manager or SSM SecureString | Restrict decrypt/read permissions; authorized clients can retrieve plaintext (Secrets Manager retrieval) |
| Kubernetes | Secret with configured encryption at rest | Base64 alone is not encryption; restrict API and Pod-creation access (Kubernetes Secrets) |
Use secret storage for API keys, signing keys, passwords and webhook secrets. Public identifiers belong in ordinary configuration. For multiline values, prefer a protected file or provider CLI input and verify exact bytes through an authorized test without printing the value; do not assume every dashboard corrupts newlines.
If a credential was exposed to unauthorized readers, revoke and rotate it at the issuer, remove exposed copies, and verify the replacement's scope. Storage in readable configuration warrants an exposure assessment; it does not by itself prove compromise.
Scoping a self-audit with an AI reviewer: state that the team owns the code and the goal is remediation; review one module or trust boundary per pass; run static tools (SAST, dependency audit, secret scan) first and have the reviewer triage their output against the real code path; ask for fixes and safe reproductions, not exploit payloads. A whole-repository "find all vulnerabilities" prompt gives shallow, unverifiable findings and can trip provider safety filters.
| Situation | Choose | Avoid |
|---|---|---|
| Product with browser users, session state acceptable | Server sessions (cookie + server-side store) | JWTs for sessions — revocation is hard |
| Mobile/desktop app with device-native biometrics | Passkeys (WebAuthn) | SMS OTP — SIM-swap risk |
| Third-party sign-in or delegated access | OIDC for identity; OAuth authorization-code flow + PKCE for delegated access | Implicit flow; apply RFC 9700 security guidance |
| API-to-API, no user context | mTLS or short-lived signed tokens | Long-lived API keys |
| Intra-service auth in a trusted cluster | Service accounts + mTLS | Shared secrets or user tokens |
| Sink / operation | Required control |
|---|---|
| SQL query construction | Parameterized query or ORM binding; never string concatenation |
| Shell / process execution | Allowlist args; avoid shell=True / exec with user input |
| HTML rendering | Context-aware output encoding; CSP header |
| File upload destination path | Canonicalize; reject path traversal sequences; store outside webroot |
| Redirect target | Allowlist known origins; reject open redirect patterns |
| LDAP / XPath / XML | Library-level escaping or schema validation before query construction |
| LLM / agent tool call input | Treat as untrusted; validate schema before execution; log intent + scope |
Default choices:
Choose the simplest safe model that matches the app shape.
Minimum rules:
Threat-model before implementing:
Retroactive hardening is slower and weaker than secure-by-default design.
Model explicitly:
Keep read-only and mutating capabilities separate and log intent, scope, and result. Never let one context combine untrusted content, private data, and an exfiltration or mutation channel. Threat-to-control design: references/agentic-llm-appsec.md.
Metered or costly actions (single-source design pattern): for any agent action that consumes a bounded quota, spends money, or is otherwise costly/irreversible, re-check current authorization and quota state immediately before that specific call, not from an earlier cached check. Apply the user-authorized budget and action scope; request fresh confirmation when a call would exceed them or when the authorization requires confirmation per call. On failure mid-run, resume from saved state rather than restarting, since restarting re-incurs the metered cost.
Use:
Finding evidence gate.
For each security finding, identify the attacker capability, reachable entry point, trust-boundary crossing, sink, and concrete impact. Separate confirmed exploit paths from defense-in-depth gaps and unverified hypotheses. Supply a safe reproduction or code-path trace plus the smallest viable remediation; severity follows exploitability and impact, not the presence of a risky-looking API alone.
Before finalizing any AppSec design or review output:
Default to one of these:
'unsafe-inline' or 'unsafe-eval' as the default. Each one removes much of the XSS protection the policy exists for; treat any that a dependency forces as debt with an owner and a plan to move to nonces or hashes.Attribution: the metered/costly-action authorization-check pattern under Agentic and MCP Security is adapted from regulatory-threat-model by Ansvar Systems AB, in davila7/claude-code-templates at commit 22d8efa9e9afcf31b98b7e3952ec557694e72c13, licensed CC-BY-4.0. Extracted 2026-08-09. This is a single-source pattern (medium confidence) extracted from one vendor-specific, proprietary-tool-bound skill — treat it as a named pattern to consider, not a widely-corroborated convention.
When prior decisions or pitfalls are relevant, consult learnings.consolidated.md if present; use learnings.md only for needed history or as the available fallback. Otherwise skip both.
After applying it, if you encountered a pattern worth remembering, a mistake worth preventing, or a domain fact that surprised you, append one dated bullet to learnings.md via agents-skills-feedback-loop/scripts/append_learning.py. Do not modify SKILL.md itself.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Configures Claude Code hooks and Codex hooks.json/notify. Use when adding PreToolUse guards, Stop hooks, managed hooks, format-on-save, preflight, audits, or worktree/budget hooks.
日本語の概要は準備中です。原文の説明を表示しています。
Configures and hardens Claude Code and Codex MCP servers. Use when connecting databases, APIs, SaaS, building servers, or serving a clearance-filtered knowledge base.
日本語の概要は準備中です。原文の説明を表示しています。
Owns instruction files: AGENTS.md, CLAUDE.md, personal and repo rules. Use when writing, pruning, auditing them, sharing rules across Claude and Codex, or fixing ignored rules.
日本語の概要は準備中です。原文の説明を表示しています。
Creates and audits agent skills: SKILL.md, references, scripts, runtime metadata. Use when writing, validating, or security-reviewing a skill, or fixing truncated skill listings.
日本語の概要は準備中です。原文の説明を表示しています。
Adds per-skill learnings loops for dated patterns, mistakes, and domain facts. Use when wiring skill memory, consolidation, or drift audits.
日本語の概要は準備中です。原文の説明を表示しています。
Chooses subagent, team, workflow, or debate and launches it on Claude Code or Codex. Use when delegating, running agent review boards, or installing shared agents.
日本語の概要は準備中です。原文の説明を表示しています。