diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6f2f9eec..60e0530f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -158,6 +158,15 @@ If your contribution includes skill test fixtures, also run: ruby scripts/test_skill_fixtures.rb ``` +### Normalized JSON output + +Every skill must be able to emit findings as normalized JSON that validates +against [schemas/finding.schema.json](schemas/finding.schema.json). The required +top-level envelope and field semantics are documented in +[docs/normalized-json-output.md](docs/normalized-json-output.md). Existing +human-readable report sections may remain, but machine-readable finding output +must use the normalized contract. + --- ## Getting Started diff --git a/README.md b/README.md index 86d49340..403bbf63 100644 --- a/README.md +++ b/README.md @@ -106,6 +106,14 @@ Validate skill fixture manifests and expected evidence strings with: ruby scripts/test_skill_fixtures.rb ``` +### Normalized finding JSON + +Every skill must be able to emit findings as normalized JSON that validates +against [`schemas/finding.schema.json`](schemas/finding.schema.json). The +top-level envelope, required run/skill metadata, finding fields, evidence, +framework/CWE references, remediation fields, and test strategy requirements are +documented in [`docs/normalized-json-output.md`](docs/normalized-json-output.md). + ### Progressive disclosure (keep `SKILL.md` lean) Claude's skill guidance: when a `SKILL.md` would exceed ~500 lines, **don't inline everything** — split detail into sibling reference files in the same directory and link to them from `SKILL.md`. The agent loads a reference only when it needs it, so the entrypoint stays cheap to load. @@ -241,7 +249,7 @@ Pre-configured skill sequences for common security roles. Each bundle orchestrat ## What Makes This Different - **Framework-grounded.** Every skill cites real control IDs from OWASP, NIST, MITRE ATT&CK, or CIS. No invented controls. No hallucinated references. -- **Consistent output format.** Structured findings with severity, CWE mapping, framework reference, evidence, and remediation -- every time. +- **Consistent output format.** Structured findings with severity, CWE mapping, framework reference, evidence, remediation, and normalized JSON -- every time. - **AI-security skills that don't exist elsewhere.** OWASP LLM Top 10, Agentic AI security, prompt injection testing, model supply chain review. - **Multi-agent compatible.** Same skill file works with Claude Code, Gemini CLI, Cursor, Codex CLI, OpenClaw, and Kiro. - **Prompt-injection hardened.** Every skill reviewed against OWASP LLM01:2025. CI scans for injection patterns on every PR. diff --git a/SKILL_TEMPLATE.md b/SKILL_TEMPLATE.md index bfed27cd..f8b1ee42 100644 --- a/SKILL_TEMPLATE.md +++ b/SKILL_TEMPLATE.md @@ -72,6 +72,12 @@ modify code or configuration, classify each remediation path using the repo-leve request approval when the policy requires it, and include review evidence plus rollback guidance in the handoff. +When machine-readable output is requested, findings MUST be available as JSON +that validates against the repo-level normalized contract: +[`schemas/finding.schema.json`](schemas/finding.schema.json). See +[`docs/normalized-json-output.md`](docs/normalized-json-output.md) for +the top-level envelope and required fields. + **Before (vulnerable):** ``` @@ -158,6 +164,7 @@ skills/// - [ ] Frontmatter complete; `name` matches the directory - [ ] Every framework ID is real and resolves (no invented control numbers) - [ ] At least one machine-matchable detection signal (regex / structural) +- [ ] Findings can be emitted as normalized JSON per `schemas/finding.schema.json` - [ ] Rules are hard constraints (no "consider"/"may") - [ ] Before/after remediation example present - [ ] Every fix recommendation includes `guidance`, `confidence`, `blast_radius`, `behavior_change_risk`, and `test_strategy` diff --git a/docs/normalized-json-output.md b/docs/normalized-json-output.md new file mode 100644 index 00000000..cd8b5226 --- /dev/null +++ b/docs/normalized-json-output.md @@ -0,0 +1,156 @@ +# Normalized JSON Output Contract + +SecuritySkills can emit machine-readable findings as a normalized JSON envelope +that validates against [`schemas/finding.schema.json`](../schemas/finding.schema.json). +This contract is independent of SARIF. Downstream systems may map it to SARIF, +ticketing systems, GRC platforms, dashboards, or vulnerability stores without +changing individual skill output rules. + +## Envelope + +Every JSON response uses this top-level shape: + +```json +{ + "schema_version": "1.0.0", + "run": { + "id": "run-2026-06-16T12:00:00Z", + "timestamp": "2026-06-16T12:00:00Z", + "tool": "codex", + "target": "github.com/example/service", + "source_ref": "commit-or-build-id" + }, + "skill": { + "name": "secure-code-review", + "version": "1.0.0", + "path": "skills/appsec/secure-code-review/SKILL.md", + "frameworks": ["OWASP-ASVS-4.0.3", "CWE"] + }, + "findings": [] +} +``` + +- `schema_version` is fixed at `1.0.0` until a breaking contract change is + required. +- `run.id` is the deduplication boundary for one execution. Use an orchestrator + ID, CI job ID, or generated run ID. +- `run.timestamp` should be an ISO 8601 timestamp. +- `run.target` identifies the reviewed repository, project, service, artifact, + environment, or evidence package. +- `skill.name`, `skill.version`, and `skill.frameworks` come from the skill's + `SKILL.md` frontmatter. + +## Findings + +Each finding must include: + +- `id`: stable finding ID within the run. +- `title`: concise finding title. +- `severity`: one of `info`, `low`, `medium`, `high`, or `critical`. +- `status`: one of `open`, `mitigated`, `accepted_risk`, or `false_positive`. +- `evidence`: one or more concrete evidence entries. +- `remediations`: one or more remediation recommendations, each with a test + strategy. + +Each finding must include at least one framework/CWE mapping: + +- `cwe`: array of CWE IDs such as `CWE-89`, when applicable. +- `framework_refs`: array of framework/control references from the skill's + declared frameworks. + +Optional fields such as `fingerprint`, `description`, and `references` support +enterprise deduplication, analyst context, and external advisory linking. + +## Evidence + +Evidence entries must identify where the issue was observed and summarize the +observation. Locations may be source paths, line ranges, cloud resource IDs, log +sources, policy paths, scanner result identifiers, or evidence package records. + +Use `snippet` only for the minimal redacted text needed to prove the finding. +Set `redacted: true` when secrets, tokens, personal data, internal hostnames, or +other sensitive values were removed. + +## Remediation And Tests + +Each remediation item must include: + +- `guidance`: concrete remediation steps or patch guidance. +- `confidence`: `low`, `medium`, or `high`. +- `blast_radius`: expected affected files, systems, users, integrations, data, + or workflows. +- `behavior_change_risk`: `low`, `medium`, or `high`. +- `test_strategy`: validation that proves the issue is fixed. + +`test_strategy` must include a `summary` and at least one of +`recommended_tests` or `generated_tests`. See +[`docs/remediation-output.md`](remediation-output.md) for remediation-specific +field guidance. + +## Minimal Example + +```json +{ + "schema_version": "1.0.0", + "run": { + "id": "run-001", + "timestamp": "2026-06-16T12:00:00Z", + "tool": "codex", + "target": "payments-api", + "source_ref": "abc1234" + }, + "skill": { + "name": "api-security", + "version": "1.0.0", + "path": "skills/appsec/api-security/SKILL.md", + "frameworks": ["OWASP-API-Top-10-2023", "CWE"] + }, + "findings": [ + { + "id": "API-SEC-001", + "fingerprint": "api-security:users-delete:missing-admin-auth", + "title": "Administrative endpoint lacks authorization check", + "description": "The delete-user route accepts authenticated requests without verifying administrative privileges.", + "severity": "high", + "status": "open", + "cwe": ["CWE-862"], + "framework_refs": [ + { + "framework": "OWASP-API-Top-10-2023", + "control": "API5:2023", + "name": "Broken Function Level Authorization" + } + ], + "evidence": [ + { + "location": "routes/users.js:42", + "artifact_type": "source", + "summary": "DELETE /users/:id checks authentication but not administrator role.", + "snippet": "router.delete('/users/:id', requireAuth, deleteUser)", + "redacted": false + } + ], + "remediations": [ + { + "guidance": "Require an administrator role check before invoking deleteUser.", + "confidence": "high", + "blast_radius": "User administration routes only.", + "behavior_change_risk": "medium", + "test_strategy": { + "summary": "Proves non-admin users cannot delete accounts while admins still can.", + "recommended_tests": [ + { + "name": "Reject non-admin delete", + "type": "integration", + "purpose": "Confirms the vulnerable authorization bypass no longer succeeds.", + "command": "npm test -- users-authz.test.js", + "expected_result": "Non-admin DELETE /users/:id returns 403 and admin DELETE succeeds." + } + ] + } + } + ] + } + ] +} +``` diff --git a/docs/remediation-output.md b/docs/remediation-output.md index 577feccc..e2f6a015 100644 --- a/docs/remediation-output.md +++ b/docs/remediation-output.md @@ -1,7 +1,9 @@ # Remediation Output Fields SecuritySkills fix recommendations should be emitted as structured remediation -items under each finding. Every remediation item must include: +items under each finding in the normalized JSON envelope documented in +[`docs/normalized-json-output.md`](normalized-json-output.md). Every remediation +item must include: - `guidance`: concrete remediation steps or patch guidance. - `confidence`: `low`, `medium`, or `high` confidence that the recommendation is correct for the observed evidence. @@ -44,5 +46,5 @@ remediations: expected_result: "All login redirect regression examples pass." ``` -The machine-readable contract lives in +The machine-readable JSON schema lives in [`schemas/finding.schema.json`](../schemas/finding.schema.json). diff --git a/schemas/finding.schema.json b/schemas/finding.schema.json index d9109a05..535a4960 100644 --- a/schemas/finding.schema.json +++ b/schemas/finding.schema.json @@ -2,11 +2,23 @@ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://github.com/UnitOneAI/SecuritySkills/schemas/finding.schema.json", "title": "SecuritySkills Normalized Finding Output", - "description": "Machine-readable contract for normalized security findings and remediation recommendations emitted by SecuritySkills workflows.", + "description": "Machine-readable envelope for normalized security findings and remediation recommendations emitted by SecuritySkills workflows. This contract is independent of SARIF and may be mapped to downstream enterprise formats later.", "type": "object", "additionalProperties": false, - "required": ["findings"], + "required": ["schema_version", "run", "skill", "findings"], "properties": { + "schema_version": { + "const": "1.0.0", + "description": "Version of this normalized SecuritySkills finding envelope." + }, + "run": { + "$ref": "#/$defs/run", + "description": "Metadata for the analysis run that produced this output." + }, + "skill": { + "$ref": "#/$defs/skill", + "description": "Metadata for the SecuritySkills entrypoint that produced this output." + }, "findings": { "type": "array", "items": { @@ -24,29 +36,116 @@ "type": "string", "minLength": 1 }, + "uriString": { + "type": "string", + "format": "uri" + }, + "run": { + "type": "object", + "additionalProperties": false, + "required": ["id", "timestamp"], + "properties": { + "id": { + "$ref": "#/$defs/nonEmptyString", + "description": "Stable run identifier supplied by the agent, CI job, or enterprise orchestrator." + }, + "timestamp": { + "$ref": "#/$defs/nonEmptyString", + "description": "ISO 8601 timestamp for when the run output was produced." + }, + "tool": { + "$ref": "#/$defs/nonEmptyString", + "description": "Agent, CLI, scanner, or workflow that executed the skill." + }, + "target": { + "$ref": "#/$defs/nonEmptyString", + "description": "Repository, project, service, artifact, environment, or other target reviewed." + }, + "source_ref": { + "$ref": "#/$defs/nonEmptyString", + "description": "Optional commit SHA, branch, image digest, build ID, ticket ID, or evidence package reference." + } + } + }, + "skill": { + "type": "object", + "additionalProperties": false, + "required": ["name", "version"], + "properties": { + "name": { + "$ref": "#/$defs/nonEmptyString", + "description": "SecuritySkills skill name from SKILL.md frontmatter." + }, + "version": { + "$ref": "#/$defs/nonEmptyString", + "description": "SecuritySkills skill version from SKILL.md frontmatter." + }, + "path": { + "$ref": "#/$defs/nonEmptyString", + "description": "Path to the SKILL.md entrypoint used for the run." + }, + "frameworks": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/nonEmptyString" + }, + "description": "Framework identifiers declared by the skill frontmatter." + } + } + }, "finding": { "type": "object", "additionalProperties": false, - "required": ["id", "title", "severity", "evidence", "remediations"], + "required": ["id", "title", "severity", "status", "evidence", "remediations"], "properties": { "id": { "$ref": "#/$defs/nonEmptyString", "description": "Stable finding identifier within the output." }, + "fingerprint": { + "$ref": "#/$defs/nonEmptyString", + "description": "Stable deduplication key based on finding type, affected asset, and evidence location." + }, "title": { "$ref": "#/$defs/nonEmptyString" }, + "description": { + "$ref": "#/$defs/nonEmptyString", + "description": "What the issue is and why it matters." + }, "severity": { "type": "string", "enum": ["info", "low", "medium", "high", "critical"] }, + "status": { + "type": "string", + "enum": ["open", "mitigated", "accepted_risk", "false_positive"] + }, "cwe": { - "$ref": "#/$defs/nonEmptyString", - "description": "Optional CWE mapping, when applicable." + "type": "array", + "minItems": 1, + "items": { + "type": "string", + "pattern": "^CWE-[0-9]+$" + }, + "description": "Optional CWE mappings, when applicable." }, - "framework": { - "$ref": "#/$defs/nonEmptyString", - "description": "Optional framework/control reference from the skill frontmatter frameworks." + "framework_refs": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/frameworkRef" + }, + "description": "Framework/control references from the skill frontmatter frameworks." + }, + "references": { + "type": "array", + "minItems": 1, + "items": { + "$ref": "#/$defs/reference" + }, + "description": "Optional advisory, standard, vendor, or knowledge-base references." }, "evidence": { "type": "array", @@ -57,10 +156,23 @@ "required": ["location", "summary"], "properties": { "location": { - "$ref": "#/$defs/nonEmptyString" + "$ref": "#/$defs/nonEmptyString", + "description": "File path, line range, asset ID, log source, policy path, or other concrete evidence location." }, "summary": { "$ref": "#/$defs/nonEmptyString" + }, + "artifact_type": { + "type": "string", + "enum": ["source", "config", "policy", "log", "scan_result", "cloud_resource", "identity", "network", "document", "other"] + }, + "snippet": { + "$ref": "#/$defs/nonEmptyString", + "description": "Minimal redacted snippet or observation needed to support the finding." + }, + "redacted": { + "type": "boolean", + "description": "True when sensitive values were intentionally removed from this evidence." } } } @@ -79,10 +191,43 @@ "required": ["cwe"] }, { - "required": ["framework"] + "required": ["framework_refs"] } ] }, + "frameworkRef": { + "type": "object", + "additionalProperties": false, + "required": ["framework", "control"], + "properties": { + "framework": { + "$ref": "#/$defs/nonEmptyString" + }, + "control": { + "$ref": "#/$defs/nonEmptyString" + }, + "name": { + "$ref": "#/$defs/nonEmptyString" + } + } + }, + "reference": { + "type": "object", + "additionalProperties": false, + "required": ["type", "id"], + "properties": { + "type": { + "type": "string", + "enum": ["cve", "cwe", "framework", "advisory", "vendor", "documentation", "other"] + }, + "id": { + "$ref": "#/$defs/nonEmptyString" + }, + "url": { + "$ref": "#/$defs/uriString" + } + } + }, "remediation": { "type": "object", "additionalProperties": false, diff --git a/skills/ai-security/agent-security/SKILL.md b/skills/ai-security/agent-security/SKILL.md index f5e73ccb..37e0a3d2 100644 --- a/skills/ai-security/agent-security/SKILL.md +++ b/skills/ai-security/agent-security/SKILL.md @@ -34,6 +34,7 @@ This skill complements the `agentic-top-10` skill (which covers the full OWASP A - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/ai-security/agentic-top-10/SKILL.md b/skills/ai-security/agentic-top-10/SKILL.md index f604a3a7..4ff18710 100644 --- a/skills/ai-security/agentic-top-10/SKILL.md +++ b/skills/ai-security/agentic-top-10/SKILL.md @@ -593,6 +593,7 @@ A tool functioning correctly is not the same as a tool being used correctly. The - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/ai-security/ai-data-privacy/SKILL.md b/skills/ai-security/ai-data-privacy/SKILL.md index 3f536a4d..75b627c8 100644 --- a/skills/ai-security/ai-data-privacy/SKILL.md +++ b/skills/ai-security/ai-data-privacy/SKILL.md @@ -30,6 +30,7 @@ This skill guides a structured privacy and data governance assessment of AI/ML s - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/ai-security/llm-top-10/SKILL.md b/skills/ai-security/llm-top-10/SKILL.md index fd52daca..1f03577f 100644 --- a/skills/ai-security/llm-top-10/SKILL.md +++ b/skills/ai-security/llm-top-10/SKILL.md @@ -483,6 +483,7 @@ These are the five most frequent mistakes agents make when performing LLM securi - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/ai-security/model-supply-chain/SKILL.md b/skills/ai-security/model-supply-chain/SKILL.md index afcf2208..ec8d263e 100644 --- a/skills/ai-security/model-supply-chain/SKILL.md +++ b/skills/ai-security/model-supply-chain/SKILL.md @@ -31,6 +31,7 @@ This skill guides a structured security assessment of AI/ML model supply chains. - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/ai-security/prompt-injection/SKILL.md b/skills/ai-security/prompt-injection/SKILL.md index 6f3a60d3..0db5c969 100644 --- a/skills/ai-security/prompt-injection/SKILL.md +++ b/skills/ai-security/prompt-injection/SKILL.md @@ -30,6 +30,7 @@ This skill guides a structured security review of LLM-integrated applications fo - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/appsec/api-security/SKILL.md b/skills/appsec/api-security/SKILL.md index ce99cce1..8910e9e8 100644 --- a/skills/appsec/api-security/SKILL.md +++ b/skills/appsec/api-security/SKILL.md @@ -224,6 +224,7 @@ Unlike REST, where authorization can be enforced per endpoint, GraphQL requires - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/appsec/dependency-scanning/SKILL.md b/skills/appsec/dependency-scanning/SKILL.md index 5a7e01c1..02c5cd3b 100644 --- a/skills/appsec/dependency-scanning/SKILL.md +++ b/skills/appsec/dependency-scanning/SKILL.md @@ -236,6 +236,7 @@ When performing a dependency scan, produce findings in the following structure: - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/appsec/owasp-top-10-web/SKILL.md b/skills/appsec/owasp-top-10-web/SKILL.md index 3fdffe98..bf324cda 100644 --- a/skills/appsec/owasp-top-10-web/SKILL.md +++ b/skills/appsec/owasp-top-10-web/SKILL.md @@ -692,6 +692,7 @@ Present findings in this structure: - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/appsec/secure-code-review/SKILL.md b/skills/appsec/secure-code-review/SKILL.md index d97bf1ce..5211d8b8 100644 --- a/skills/appsec/secure-code-review/SKILL.md +++ b/skills/appsec/secure-code-review/SKILL.md @@ -550,6 +550,7 @@ The final review output must be structured as follows: - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/appsec/threat-modeling/SKILL.md b/skills/appsec/threat-modeling/SKILL.md index ebdbac8d..f664a4e0 100644 --- a/skills/appsec/threat-modeling/SKILL.md +++ b/skills/appsec/threat-modeling/SKILL.md @@ -472,6 +472,7 @@ A threat register full of identified threats but no prioritized, assignable miti - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/cloud/aws-review/SKILL.md b/skills/cloud/aws-review/SKILL.md index 214b8dde..c8c950eb 100644 --- a/skills/cloud/aws-review/SKILL.md +++ b/skills/cloud/aws-review/SKILL.md @@ -208,6 +208,7 @@ Produce the final report using the structure defined in the Output Format sectio - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/cloud/azure-review/SKILL.md b/skills/cloud/azure-review/SKILL.md index 768dc9c4..ea59f465 100644 --- a/skills/cloud/azure-review/SKILL.md +++ b/skills/cloud/azure-review/SKILL.md @@ -208,6 +208,7 @@ Produce the final report using the structure defined in the Output Format sectio - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/cloud/container-security/SKILL.md b/skills/cloud/container-security/SKILL.md index b72864a3..189489e2 100644 --- a/skills/cloud/container-security/SKILL.md +++ b/skills/cloud/container-security/SKILL.md @@ -267,6 +267,7 @@ Before applying or proposing container or Kubernetes changes, classify each reme - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/cloud/gcp-review/SKILL.md b/skills/cloud/gcp-review/SKILL.md index a0ca5301..81dd1ba4 100644 --- a/skills/cloud/gcp-review/SKILL.md +++ b/skills/cloud/gcp-review/SKILL.md @@ -202,6 +202,7 @@ Produce the final report using the structure defined in the Output Format sectio - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/cloud/iac-security/SKILL.md b/skills/cloud/iac-security/SKILL.md index d6ff942d..8184282c 100644 --- a/skills/cloud/iac-security/SKILL.md +++ b/skills/cloud/iac-security/SKILL.md @@ -240,6 +240,7 @@ This skill applies checks equivalent to the following high-impact rules: - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/compliance/hipaa-review/SKILL.md b/skills/compliance/hipaa-review/SKILL.md index 0dc665d4..810413b2 100644 --- a/skills/compliance/hipaa-review/SKILL.md +++ b/skills/compliance/hipaa-review/SKILL.md @@ -578,6 +578,7 @@ Policies, Procedures, and Documentation — 164.316 - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/compliance/iso27001-gap/SKILL.md b/skills/compliance/iso27001-gap/SKILL.md index 1652b74d..f895104c 100644 --- a/skills/compliance/iso27001-gap/SKILL.md +++ b/skills/compliance/iso27001-gap/SKILL.md @@ -520,6 +520,7 @@ Each control in ISO 27002:2022 is tagged with five attributes: - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/compliance/nist-csf-assessment/SKILL.md b/skills/compliance/nist-csf-assessment/SKILL.md index d75d4dcf..aac0b9ba 100644 --- a/skills/compliance/nist-csf-assessment/SKILL.md +++ b/skills/compliance/nist-csf-assessment/SKILL.md @@ -583,6 +583,7 @@ Tier 4 — Adaptive - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/compliance/pci-dss-review/SKILL.md b/skills/compliance/pci-dss-review/SKILL.md index 201ff41e..727bd62b 100644 --- a/skills/compliance/pci-dss-review/SKILL.md +++ b/skills/compliance/pci-dss-review/SKILL.md @@ -527,6 +527,7 @@ Maintain an Information Security Policy: Requirement 12 - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/compliance/soc2-gap/SKILL.md b/skills/compliance/soc2-gap/SKILL.md index 01fcc304..6e7053c0 100644 --- a/skills/compliance/soc2-gap/SKILL.md +++ b/skills/compliance/soc2-gap/SKILL.md @@ -392,4 +392,5 @@ This skill processes user-supplied content including compliance documentation, p - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. diff --git a/skills/devsecops/dast-config/SKILL.md b/skills/devsecops/dast-config/SKILL.md index 1ead5f67..cdeeeb5b 100644 --- a/skills/devsecops/dast-config/SKILL.md +++ b/skills/devsecops/dast-config/SKILL.md @@ -593,6 +593,7 @@ Before applying or proposing configuration changes, classify each remediation pa - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/devsecops/pipeline-security/SKILL.md b/skills/devsecops/pipeline-security/SKILL.md index 050ba390..ae5d1c32 100644 --- a/skills/devsecops/pipeline-security/SKILL.md +++ b/skills/devsecops/pipeline-security/SKILL.md @@ -539,6 +539,7 @@ The final deliverable is a structured assessment report as shown in Step 4 above - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/devsecops/sast-config/SKILL.md b/skills/devsecops/sast-config/SKILL.md index cb277892..48d50a20 100644 --- a/skills/devsecops/sast-config/SKILL.md +++ b/skills/devsecops/sast-config/SKILL.md @@ -545,6 +545,7 @@ Before applying or proposing configuration changes, classify each remediation pa - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/devsecops/secrets-management/SKILL.md b/skills/devsecops/secrets-management/SKILL.md index 26a7b991..987d60ab 100644 --- a/skills/devsecops/secrets-management/SKILL.md +++ b/skills/devsecops/secrets-management/SKILL.md @@ -451,6 +451,7 @@ Before applying or proposing fixes, classify each remediation path using [Securi - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/identity/access-review/SKILL.md b/skills/identity/access-review/SKILL.md index c05023bd..f001e18f 100644 --- a/skills/identity/access-review/SKILL.md +++ b/skills/identity/access-review/SKILL.md @@ -409,6 +409,7 @@ See the mapping table in the Framework Quick Reference section above for sub-con - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/identity/iam-review/SKILL.md b/skills/identity/iam-review/SKILL.md index 46653c61..d71ed255 100644 --- a/skills/identity/iam-review/SKILL.md +++ b/skills/identity/iam-review/SKILL.md @@ -454,6 +454,7 @@ For each finding, produce a row with: - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/identity/privileged-access/SKILL.md b/skills/identity/privileged-access/SKILL.md index 235c1161..c9e1cfdd 100644 --- a/skills/identity/privileged-access/SKILL.md +++ b/skills/identity/privileged-access/SKILL.md @@ -465,6 +465,7 @@ PAM-VAULT-12: No secrets scanning in code repositories to detect credential leak - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/identity/rbac-design/SKILL.md b/skills/identity/rbac-design/SKILL.md index c54486b6..3015afbd 100644 --- a/skills/identity/rbac-design/SKILL.md +++ b/skills/identity/rbac-design/SKILL.md @@ -444,6 +444,7 @@ RBAC-MINE-06: Mining does not account for SoD constraints (mined roles may creat - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/identity/zero-trust-assessment/SKILL.md b/skills/identity/zero-trust-assessment/SKILL.md index 43d162bc..38f4022e 100644 --- a/skills/identity/zero-trust-assessment/SKILL.md +++ b/skills/identity/zero-trust-assessment/SKILL.md @@ -450,6 +450,7 @@ ZT-GOV-05: Regulatory zero trust mandates not tracked (OMB M-22-09 for federal) - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/incident-response/containment/SKILL.md b/skills/incident-response/containment/SKILL.md index 3489cdea..c20fe484 100644 --- a/skills/incident-response/containment/SKILL.md +++ b/skills/incident-response/containment/SKILL.md @@ -355,6 +355,7 @@ Implementing containment actions without verifying they work is a common failure - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/incident-response/forensics-checklist/SKILL.md b/skills/incident-response/forensics-checklist/SKILL.md index 1d0ae3ad..c1f9136c 100644 --- a/skills/incident-response/forensics-checklist/SKILL.md +++ b/skills/incident-response/forensics-checklist/SKILL.md @@ -468,6 +468,7 @@ Every action on a live system modifies it -- writing memory dump files to the ev - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/incident-response/ir-playbook/SKILL.md b/skills/incident-response/ir-playbook/SKILL.md index 9b87b0b3..d650a6bb 100644 --- a/skills/incident-response/ir-playbook/SKILL.md +++ b/skills/incident-response/ir-playbook/SKILL.md @@ -475,6 +475,7 @@ Breach notification regulations impose strict timelines that begin running at th - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/incident-response/post-incident-review/SKILL.md b/skills/incident-response/post-incident-review/SKILL.md index a2b4c106..05adf469 100644 --- a/skills/incident-response/post-incident-review/SKILL.md +++ b/skills/incident-response/post-incident-review/SKILL.md @@ -427,6 +427,7 @@ NIST recommends conducting the PIR within several days of incident closure. Wait - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/network/dns-security/SKILL.md b/skills/network/dns-security/SKILL.md index d0ce2540..6d8f8fc0 100644 --- a/skills/network/dns-security/SKILL.md +++ b/skills/network/dns-security/SKILL.md @@ -391,6 +391,7 @@ abcdef0123456789.dnscat.example.com TXT - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/network/firewall-review/SKILL.md b/skills/network/firewall-review/SKILL.md index 1efb1cd4..fd08352f 100644 --- a/skills/network/firewall-review/SKILL.md +++ b/skills/network/firewall-review/SKILL.md @@ -368,6 +368,7 @@ Produce the final report using the following structure. - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/network/segmentation/SKILL.md b/skills/network/segmentation/SKILL.md index f6a84d96..de070ae0 100644 --- a/skills/network/segmentation/SKILL.md +++ b/skills/network/segmentation/SKILL.md @@ -352,6 +352,7 @@ Document or verify the existence of a segmentation testing process: - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/secops/alert-triage/SKILL.md b/skills/secops/alert-triage/SKILL.md index b686ac56..7805d3f9 100644 --- a/skills/secops/alert-triage/SKILL.md +++ b/skills/secops/alert-triage/SKILL.md @@ -326,6 +326,7 @@ Waiting for complete certainty before escalating a high-priority alert costs res - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/secops/detection-engineering/SKILL.md b/skills/secops/detection-engineering/SKILL.md index 3d8c6639..72916f6a 100644 --- a/skills/secops/detection-engineering/SKILL.md +++ b/skills/secops/detection-engineering/SKILL.md @@ -501,6 +501,7 @@ Overly broad or incorrect ATT&CK mappings undermine coverage analysis. A rule th - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/secops/log-analysis/SKILL.md b/skills/secops/log-analysis/SKILL.md index 541bc48c..8a83c10c 100644 --- a/skills/secops/log-analysis/SKILL.md +++ b/skills/secops/log-analysis/SKILL.md @@ -458,6 +458,7 @@ Attempting to identify anomalous behavior without knowing what normal behavior l - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/secops/siem-rules/SKILL.md b/skills/secops/siem-rules/SKILL.md index 26231017..393b3c2d 100644 --- a/skills/secops/siem-rules/SKILL.md +++ b/skills/secops/siem-rules/SKILL.md @@ -639,6 +639,7 @@ A detection rule that fires every 5 minutes on the same ongoing activity (e.g., - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/vuln-management/cve-triage/SKILL.md b/skills/vuln-management/cve-triage/SKILL.md index 83b23a42..9439de70 100644 --- a/skills/vuln-management/cve-triage/SKILL.md +++ b/skills/vuln-management/cve-triage/SKILL.md @@ -415,6 +415,7 @@ When triaging multiple CVEs (e.g., from a scan report), produce a summary table - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/vuln-management/patch-prioritization/SKILL.md b/skills/vuln-management/patch-prioritization/SKILL.md index ca9c2538..1ae96ad7 100644 --- a/skills/vuln-management/patch-prioritization/SKILL.md +++ b/skills/vuln-management/patch-prioritization/SKILL.md @@ -381,6 +381,7 @@ Known Exploited Vulnerabilities catalog maintained by CISA. Contains CVEs with c - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/vuln-management/sbom-analysis/SKILL.md b/skills/vuln-management/sbom-analysis/SKILL.md index f8d3d74e..e0ce47e0 100644 --- a/skills/vuln-management/sbom-analysis/SKILL.md +++ b/skills/vuln-management/sbom-analysis/SKILL.md @@ -388,6 +388,7 @@ Published by NTIA in July 2021 as part of Executive Order 14028 implementation. - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. --- diff --git a/skills/vuln-management/scanner-tuning/SKILL.md b/skills/vuln-management/scanner-tuning/SKILL.md index edab83f6..88e1f681 100644 --- a/skills/vuln-management/scanner-tuning/SKILL.md +++ b/skills/vuln-management/scanner-tuning/SKILL.md @@ -406,6 +406,7 @@ Common Weakness Enumeration. A community-developed list of software and hardware - **Blind spots:** This skill depends on available code, configuration, logs, documentation, and user-provided context; it cannot prove controls exist or threats are absent when evidence is missing, runtime-only, or outside the review scope. - **False-positive risks:** Treat findings as hypotheses until validated against asset criticality, compensating controls, environment intent, and recent authorized changes. - **Required evidence:** Support each finding with concrete artifacts such as file paths and line numbers, policy snippets, scanner output, logs, screenshots, control records, or reproducible steps. +- **Normalized JSON:** When machine-readable output is requested, findings MUST be available as JSON that validates against [`schemas/finding.schema.json`](../../../schemas/finding.schema.json). - **Escalation rules:** Escalate immediately for suspected active compromise, exposed secrets, regulated-data exposure, critical exploitable vulnerabilities, privileged-access abuse, or when evidence is insufficient to safely disposition a high-impact risk. ---