بنقرة واحدة
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.