一键导入
sast-triage
Triage SAST findings with three-phase workflow (auto-bucket → LLM validate → recommend). Use after running /sast-scan when findings need review.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Triage SAST findings with three-phase workflow (auto-bucket → LLM validate → recommend). Use after running /sast-scan when findings need review.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Run multi-language Static Application Security Testing for the current repository or selected paths. Use when the user asks to scan code for vulnerabilities, review security issues, analyze Git changes, generate SARIF, triage findings, or prepare CI security gates.
Generate or apply security fixes for SAST findings using a three-tier workflow (template → LLM → verify). Use when the user asks to fix a specific vulnerability found by /sast-scan.
Manage SAST scan baselines with full lifecycle operations (create, update, show, suppress, diff, stats, audit, cleanup, import). Use to suppress accepted risks and focus on new issues.
| name | sast-triage |
| description | Triage SAST findings with three-phase workflow (auto-bucket → LLM validate → recommend). Use after running /sast-scan when findings need review. |
| when_to_use | Use when the user asks to triage SAST results, review findings, identify false positives, prioritize security issues, or bulk-triage scan results. |
| argument-hint | [--findings path] [--focus critical|high|medium|low|all] [--output markdown|json] [--bulk] |
| allowed-tools | ["Read","Grep","Glob","Bash(python3 .claude/skills/sast-scan/tools/triage_findings.py *)","Bash(python3 .claude/skills/sast-scan/tools/baseline_manager.py *)"] |
Triage SAST scan results through a three-phase process:
Before triage, confirm these exist:
| File | Required | Purpose |
|---|---|---|
.claude/sast/results/findings.json | Yes (or llm-findings.json) | Findings to triage |
.claude/sast/results/summary.json | Recommended | Scan context / severity counts |
.claude/sast/baseline.json | Optional | Existing suppressions |
Check session progress:
python3 .claude/skills/sast-scan/tools/session_status.py --results .claude/sast/results
User arguments:
$ARGUMENTS
Run the structured triage helper:
python3 .claude/skills/sast-scan/tools/triage_findings.py --findings .claude/sast/results/findings.json --focus all --output markdown
Or use bulk mode for the full pipeline:
python3 .claude/skills/sast-scan/tools/triage_findings.py --findings .claude/sast/results/findings.json --bulk --repo-root .
Read findings from .claude/sast/results/findings.json (or .claude/sast/results/llm-findings.json).
Auto-bucket findings into:
For each finding in Priority and Important buckets, use Claude to validate:
Use the --bulk flag to generate validation targets with code context. For each target:
Assess false positive likelihood:
Score confidence (0.0-1.0):
Assign verdict: TP or FP with rationale
Apply verdicts using apply_triage_verdicts() to update findings with triage metadata.
For true positives, produce:
Priority fix list ordered by:
Estimated effort for each fix:
For confirmed false positives, generate suppression entries:
{
"fingerprint": "...",
"reason": "Explanation of why this is a false positive",
"owner": "triage-analyst",
"confidence": 0.85,
"expires_at": "2026-12-31"
}
# Auto-suppress FPs with confidence >= 0.7
python3 .claude/skills/sast-scan/tools/triage_findings.py --findings .claude/sast/results/findings.json --export-baseline .claude/sast/baseline.json
# SAST Triage Report
## Summary
- Focus: all
- Total findings: X
- Priority: X
- Important: X
- Needs review: X
- False positive / suppressed: X
- Informational: X
## Priority Fix List
1. [CRITICAL] Title — File:Line — (confidence: 0.95)
2. [HIGH] Title — File:Line — (confidence: 0.80)
...
## Needs Review
1. Title — File:Line — Rationale for uncertainty
## False Positive / Suppressed
1. Title — File:Line — Reason — (confidence: 0.90)
## Recommended Suppressions
| Fingerprint | Reason | Confidence |
|-------------|--------|------------|
| fp-abc123... | Framework provides CSRF protection | 0.85 |
When evaluating false positives, consider:
/sast-scan findings (both rule-based and LLM-generated)/sast-baseline (suppressions), /sast-fix (prioritized findings)## Next steps
1. **Suppress FPs:** `/sast-baseline suppress --fingerprint <fp> --reason "..."` or `--export-baseline` from triage
2. **Fix TPs:** `/sast-fix <fingerprint> --test`
3. **Re-scan:** `/sast-scan --changed-only --profile quick`