一键导入
triage
Adversarial validation of vulnerability findings. Use when triaging security findings, validating vulnerabilities, or prioritizing remediation.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Adversarial validation of vulnerability findings. Use when triaging security findings, validating vulnerabilities, or prioritizing remediation.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | triage |
| description | Adversarial validation of vulnerability findings. Use when triaging security findings, validating vulnerabilities, or prioritizing remediation. |
A vulnerability finding is not confirmed until an adversary would agree it's exploitable. Unvalidated findings are noise.
Required inputs (in order of preference):
VULN-FINDINGS.json from /vuln-scan/audit --securityOptional:
THREAT_MODEL.md for threat scenario context.harness/engagement.md for scope constraintsIf no findings input exists, suggest:
"Run /vuln-scan first to generate findings to triage."
For each finding, challenge it from an attacker's perspective:
| Criteria | Adjust |
|---|---|
| Requires authentication | Lower by 1 level |
| Requires specific permissions | Lower by 1 level |
| Chained with another finding | Raise by 1 level |
| Affects all users | Raise by 1 level |
| No mitigation in place | Raise by 1 level |
| Defense-in-depth exists | Lower by 1 level |
| Class | Meaning |
|---|---|
CONFIRMED | Exploitable with demonstrated path |
LIKELY | Exploitable with high confidence, minor gaps in proof |
POSSIBLE | Theoretical, needs more investigation |
FALSE_POSITIVE | Not exploitable with justification |
ACCEPTED_RISK | Known, documented, accepted by team |
Check if findings chain together:
Write TRIAGE.json:
{
"triage_date": "ISO-8601",
"source": "VULN-FINDINGS.json | audit | manual",
"findings": [
{
"id": "V1",
"classification": "CONFIRMED | LIKELY | POSSIBLE | FALSE_POSITIVE | ACCEPTED_RISK",
"original_severity": "CRITICAL",
"adjusted_severity": "HIGH",
"severity_adjustments": ["requires auth (-1)", "no mitigation (+1)"],
"exploit_path": ["entry point → vulnerable function → impact"],
"chains_with": ["V3"],
"root_cause_group": "RC1",
"remediation": "specific fix instruction",
"effort": "low | medium | high",
"validation_notes": "why this classification was chosen"
}
],
"root_cause_groups": [
{
"id": "RC1",
"description": "shared root cause",
"findings": ["V1", "V2"],
"fix_once": "single fix that resolves all findings in group"
}
],
"chains": [
{
"findings": ["V1", "V3"],
"combined_severity": "CRITICAL",
"description": "V1 enables V3, creating..."
}
],
"summary": {
"total_input": 10,
"confirmed": 3,
"likely": 2,
"possible": 1,
"false_positive": 2,
"accepted_risk": 2,
"root_cause_groups": 3,
"chains": 1
},
"action_items": [
{
"priority": 1,
"severity": "CRITICAL",
"finding_ids": ["V1"],
"action": "specific remediation step",
"effort": "low"
}
]
}
Present prioritized remediation plan:
## Triage Report
### Summary
- Input: N findings
- Confirmed: X | Likely: Y | False positives: Z
- Root cause groups: K (fix-once opportunities)
- Chained findings: C
### Priority Actions
1. [CRITICAL] V1: {description} — {effort} effort
Fix: {remediation}
2. [HIGH] V2+V3 (chain): {description} — {effort} effort
Fix: {remediation}
### Accepted Risks
- V7: {description} — {justification}
### Suggested Next Steps
- Fix priority 1-3 before merge
- Run `/vuln-scan` after fixes to verify
| Excuse | Rebuttal | What to do instead |
|---|---|---|
| "All findings are real, no need to triage" | False positives waste fix time and erode trust in the process. | Validate every finding. Noise reduces signal. |
| "Triaging takes too long" | Fixing false positives takes longer than triaging them. | Triage first, fix only confirmed findings. |
| "It's obviously a vulnerability" | "Obvious" vulnerabilities are often mitigated by context you haven't checked. | Trace the exploit path before confirming. |
| "We can just fix them all" | Not all findings need fixing. Some are accepted risks. | Prioritize by confirmed severity and effort. |
| "Chaining is theoretical" | Real-world breaches use chained vulnerabilities. | Check for chains — they change severity. |
Ring 3 evolution engine. Analyzes session observations, generates and improves evolved skills, shows metrics dashboard. Subcommands: status, history, rollback, reset. Use for post-session review and skill improvement.
State-persisted autonomous pipeline: spec → go → audit → eval → ship → evolve in one command. Auto-detects direct/council/interactive mode. Crash-recoverable via PIPELINE-*.json. Hands-off until PR.
Core router. Always active. Auto-invokes matching skill before every response. Runs confusion protocol on high-risk ambiguity.
Loop-breaking self-diagnosis. Use when 3+ consecutive failures occur, circular retries persist, or context overwhelms the session.
Audit phase. Parallel review: code quality + security + tests. Semantic dedup of cross-mode findings. Outputs PASS/WARN/FAIL per dimension. Validates spec coverage.
Conventional Commits 1.0 generator. Stages relevant files, infers type(scope): description, never uses --no-verify.