一键导入
derive-security-from-risk
Derives security requirements from a named threat.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Derives security requirements from a named threat.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Flags risky shell commands and unsafe tree ops.
Detects high-confidence security risks in code.
Surfaces the dojo's non-negotiable prime directives.
Activates the dojo framework at the start of a session.
Plans multi-step work before writing code.
Captures lessons and promotes recurring patterns.
| name | derive-security-from-risk |
| description | Derives security requirements from a named threat. |
| tier | practical |
| category | workflow |
| created_by | human |
| platforms | ["windows","macos","linux"] |
| tags | ["security","requirements","traceability","togaf","threat-modelling"] |
| verifier | traceability-sample |
| author | Andreas Wasita (@andreaswasita) |
Turns a ratified business driver or functional requirement — together with a named threat — into a Security Requirement (SR) the gate can verify. This skill does NOT propose generic controls and does NOT parent SRs to unspecified parent risks; every SR names the obligation or threat it satisfies.
BR-* or FR-* exists for the engagement and processes regulated
data, money, identity, or controlled access.BR-* or FR-* exists in
requirements/<engagement>/ and is ratified.requirements/<engagement>/threats/<threat-id>.md (free-form, but
the SR body must cite it).spec/artifact-schema.md is the contract for SR frontmatter.If no named threat exists, stop. The TOGAF red thread breaks the moment a control mitigates a threat nobody named.
bash scripts/verify-traceability.sh requirements/<engagement>
# create requirements/<engagement>/SR/SR-NNN.md
bash scripts/verify-traceability.sh requirements/<engagement>
| Action | Tool | Notes |
|---|---|---|
| Read parent BR/FR | view | Get exact id. |
| Read threat record | view | The threat ID goes in the SR body. |
| Write SR | create | Frontmatter per schema; measurable: true. |
| Verify lineage | bash scripts/verify-traceability.sh | Must pass before commit. |
Example SR frontmatter:
---
id: SR-003
layer: SR
title: PII masking before persistence
parent_ids: [BR-001, FR-002]
owner: security.lead@example.com
measurable: true
ratified_by: ""
target: "Zero unmasked PII fields in storage; verified by daily DLP scan."
derivation_skill: derive-security-from-risk
tags: [pii, masking, data-protection, threat-T03]
---
view. Confirm the data classification
(public / internal / confidential / regulated) is stated.For each named threat or obligation, produce one SR with:
parent_ids includes the affected BR-* and/or FR-*. SRs MAY
also parent to an NFR-* when the control constrains an existing
quality attribute (e.g. an availability SR for a fraud-detection
service).derivation_skill: derive-security-from-risk is mandatory.bash scripts/verify-traceability.sh requirements/<engagement>
Must exit 0. Then regenerate the RTM:
bash scripts/gen-rtm.sh requirements/<engagement>
measurable: true without defining how it is
measured. The gate cannot tell, but the auditor can.ratified_by after review.SR-*.md filename equals its id.parent_ids resolves to ratified BR-*/FR-*/NFR-*.target describes how the control is measured.bash scripts/verify-traceability.sh requirements/<engagement> exits 0.bash scripts/verify.sh passes the full gate.