首页/安全与合规/security-threat-model
S

security-threat-model

by @openaiv
4.3(20)

为特定代码仓库或项目路径提供可操作的 AppSec 级威胁模型,而非通用清单。

threat-modelingstridedreadrisk-assessmentsecurity-architectureGitHub
安装方式
npx skills add openai/skills --skill security-threat-model
compare_arrows

Before / After 效果对比

1
使用前

传统安全清单无法针对特定项目提供具体威胁分析。安全团队难以有效识别和应对项目特有风险。

使用后

为代码仓库生成可操作的AppSec威胁模型。精准识别项目风险,指导安全防护,提升应用安全性。

SKILL.md

security-threat-model

Threat Model Source Code Repo

Deliver an actionable AppSec-grade threat model that is specific to the repository or a project path, not a generic checklist. Anchor every architectural claim to evidence in the repo and keep assumptions explicit. Prioritizing realistic attacker goals and concrete impacts over generic checklists.

Quick start

  • Collect (or infer) inputs:

  • Repo root path and any in-scope paths.

  • Intended usage, deployment model, internet exposure, and auth expectations (if known).

  • Any existing repository summary or architecture spec.

  • Use prompts in references/prompt-template.md to generate a repository summary.

  • Follow the required output contract in references/prompt-template.md. Use it verbatim when possible.

Workflow

1) Scope and extract the system model

  • Identify primary components, data stores, and external integrations from the repo summary.

  • Identify how the system runs (server, CLI, library, worker) and its entrypoints.

  • Separate runtime behavior from CI/build/dev tooling and from tests/examples.

  • Map the in-scope locations to those components and exclude out-of-scope items explicitly.

  • Do not claim components, flows, or controls without evidence.

2) Derive boundaries, assets, and entry points

  • Enumerate trust boundaries as concrete edges between components, noting protocol, auth, encryption, validation, and rate limiting.

  • List assets that drive risk (data, credentials, models, config, compute resources, audit logs).

  • Identify entry points (endpoints, upload surfaces, parsers/decoders, job triggers, admin tooling, logging/error sinks).

3) Calibrate assets and attacker capabilities

  • List the assets that drive risk (credentials, PII, integrity-critical state, availability-critical components, build artifacts).

  • Describe realistic attacker capabilities based on exposure and intended usage.

  • Explicitly note non-capabilities to avoid inflated severity.

4) Enumerate threats as abuse paths

  • Prefer attacker goals that map to assets and boundaries (exfiltration, privilege escalation, integrity compromise, denial of service).

  • Classify each threat and tie it to impacted assets.

  • Keep the number of threats small but high quality.

5) Prioritize with explicit likelihood and impact reasoning

  • Use qualitative likelihood and impact (low/medium/high) with short justifications.

  • Set overall priority (critical/high/medium/low) using likelihood x impact, adjusted for existing controls.

  • State which assumptions most influence the ranking.

6) Validate service context and assumptions with the user

  • Summarize key assumptions that materially affect threat ranking or scope, then ask the user to confirm or correct them.

  • Ask 1–3 targeted questions to resolve missing context (service owner and environment, scale/users, deployment model, authn/authz, internet exposure, data sensitivity, multi-tenancy).

  • Pause and wait for user feedback before producing the final report.

  • If the user declines or can’t answer, state which assumptions remain and how they influence priority.

7) Recommend mitigations and focus paths

  • Distinguish existing mitigations (with evidence) from recommended mitigations.

  • Tie mitigations to concrete locations (component, boundary, or entry point) and control types (authZ checks, input validation, schema enforcement, sandboxing, rate limits, secrets isolation, audit logging).

  • Prefer specific implementation hints over generic advice (e.g., "enforce schema at gateway for upload payloads" vs "validate inputs").

  • Base recommendations on validated user context; if assumptions remain unresolved, mark recommendations as conditional.

8) Run a quality check before finalizing

  • Confirm all discovered entrypoints are covered.

  • Confirm each trust boundary is represented in threats.

  • Confirm runtime vs CI/dev separation.

  • Confirm user clarifications (or explicit non-responses) are reflected.

  • Confirm assumptions and open questions are explicit.

  • Confirm that the format of the report matches closely the required output format defined in prompt template: references/prompt-template.md

  • Write the final Markdown to a file named <repo-or-dir-name>-threat-model.md (use the basename of the repo root, or the in-scope directory if you were asked to model a subpath).

Risk prioritization guidance (illustrative, not exhaustive)

  • High: pre-auth RCE, auth bypass, cross-tenant access, sensitive data exfiltration, key or token theft, model or config integrity compromise, sandbox escape.

  • Medium: targeted DoS of critical components, partial data exposure, rate-limit bypass with measurable impact, log/metrics poisoning that affects detection.

  • Low: low-sensitivity info leaks, noisy DoS with easy mitigation, issues requiring unlikely preconditions.

References

  • Output contract and full prompt template: references/prompt-template.md

  • Optional controls/asset list: references/security-controls-and-assets.md

Only load the reference files you need. Keep the final result concise, grounded, and reviewable. Weekly Installs427Repositoryopenai/skillsGitHub Stars14.5KFirst SeenFeb 2, 2026Security AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled oncodex355opencode334github-copilot332gemini-cli321cursor308kimi-cli298

用户评价 (0)

发表评价

效果
易用性
文档
兼容性

暂无评价

统计数据

安装量1.8K
评分4.3 / 5.0
版本
更新日期2026年5月21日
对比案例1 组

用户评分

4.3(20)
5
30%
4
55%
3
15%
2
0%
1
0%

为此 Skill 评分

0.0

兼容平台

🔧Claude Code
🔧OpenClaw
🔧OpenCode
🔧Codex
🔧Gemini CLI
🔧GitHub Copilot
🔧Amp
🔧Kimi CLI

时间线

创建2026年3月17日
最后更新2026年5月21日