Loading...
Loading...
Compare original and translation side by side
Generate targeted security fixes from detect-dev SARIF findings with regression tests.
根据detect-dev的SARIF检测结果生成针对性的安全修复方案及回归测试。
$JAAN_LEARN_DIR/jaan-to:sec-audit-remediate.learn.md$JAAN_TEMPLATES_DIR/jaan-to:sec-audit-remediate.template.md$JAAN_CONTEXT_DIR/tech.md#current-stack#frameworks#constraints#patterns${CLAUDE_PLUGIN_ROOT}/docs/extending/language-protocol.md${CLAUDE_PLUGIN_ROOT}/docs/research/73-dev-sarif-security-remediation-automation.md${CLAUDE_PLUGIN_ROOT}/docs/research/72-dev-secure-backend-scaffold-hardening.md$JAAN_OUTPUTS_DIR/sec/remediate/{id}-{slug}/$JAAN_LEARN_DIR/jaan-to:sec-audit-remediate.learn.md$JAAN_TEMPLATES_DIR/jaan-to:sec-audit-remediate.template.md$JAAN_CONTEXT_DIR/tech.md#current-stack#frameworks#constraints#patterns${CLAUDE_PLUGIN_ROOT}/docs/extending/language-protocol.md${CLAUDE_PLUGIN_ROOT}/docs/research/73-dev-sarif-security-remediation-automation.md${CLAUDE_PLUGIN_ROOT}/docs/research/72-dev-secure-backend-scaffold-hardening.md$JAAN_OUTPUTS_DIR/sec/remediate/{id}-{slug}/$JAAN_OUTPUTS_DIR/detect/dev/security.md.sarifbackend-scaffoldfrontend-scaffold$JAAN_OUTPUTS_DIR/detect/dev/security*.md$JAAN_OUTPUTS_DIR/detect/dev/summary*.md$JAAN_OUTPUTS_DIR/detect/dev/security.md.sarifbackend-scaffoldfrontend-scaffold$JAAN_OUTPUTS_DIR/detect/dev/security*.md$JAAN_OUTPUTS_DIR/detect/dev/summary*.md${CLAUDE_PLUGIN_ROOT}/docs/extending/pre-execution-protocol.mdsec-audit-remediate$JAAN_CONTEXT_DIR/tech.md${CLAUDE_PLUGIN_ROOT}/docs/extending/pre-execution-protocol.mdsec-audit-remediate$JAAN_CONTEXT_DIR/tech.md${CLAUDE_PLUGIN_ROOT}/docs/extending/language-protocol.mdlanguage_sec-audit-remediateLanguage exception: Generated code output (fix files, test files, code blocks, schemas) is NOT affected by this setting and remains in the project's programming language.
${CLAUDE_PLUGIN_ROOT}/docs/extending/language-protocol.mdlanguage_sec-audit-remediate语言例外:生成的代码输出(修复文件、测试文件、代码块、Schema)不受此设置影响,将保持项目的编程语言。
FINDINGS PARSED
---------------
Critical: {n} | High: {n} | Medium: {n} | Low: {n}
ID Severity CWE File Description
E-DEV-001 Critical CWE-89 src/api/users.ts:42 SQL injection in query
E-DEV-003 High CWE-79 src/views/profile.tsx:18 XSS in user content
...已解析检测结果
---------------
Critical: {n} | High: {n} | Medium: {n} | Low: {n}
ID 严重程度 CWE 文件路径 描述
E-DEV-001 Critical CWE-89 src/api/users.ts:42 SQL注入漏洞
E-DEV-003 High CWE-79 src/views/profile.tsx:18 用户内容中的XSS漏洞
...Reference: Seesection "CWE-to-Fix Category Mapping" for CWE categories, fix strategies, complexity, and auto-fix eligibility.${CLAUDE_PLUGIN_ROOT}/docs/extending/sec-audit-remediate-reference.md
参考:查看中的“CWE与修复类别映射”章节,获取CWE类别、修复策略、复杂度及自动修复资格。${CLAUDE_PLUGIN_ROOT}/docs/extending/sec-audit-remediate-reference.md
| Field | Description |
|---|---|
| Finding ID | From detect-dev output |
| Fix Type | Code replacement / New middleware / Config change / Dependency update |
| Fix File | Path to the fix file to generate |
| Test File | Path to the regression test to generate |
| Dependencies | New packages needed (e.g., dompurify, csurf) |
| Breaking Changes | Whether the fix changes API behavior |
| Complexity | Low / Medium / High |
| 字段 | 描述 |
|---|---|
| 检测结果ID | 来自detect-dev输出 |
| 修复类型 | 代码替换 / 新增中间件 / 配置变更 / 依赖更新 |
| 修复文件 | 要生成的修复文件路径 |
| 测试文件 | 要生成的回归测试文件路径 |
| 依赖项 | 需要的新包(例如dompurify、csurf) |
| 破坏性变更 | 修复是否会改变API行为 |
| 复杂度 | Low / Medium / High |
Reference: Seesection "Triage Matrix" for severity/confidence decision grid.${CLAUDE_PLUGIN_ROOT}/docs/extending/sec-audit-remediate-reference.md
参考:查看中的“分类矩阵”章节,获取严重程度/置信度决策网格。${CLAUDE_PLUGIN_ROOT}/docs/extending/sec-audit-remediate-reference.md
REMEDIATION PLAN
----------------
Total findings: {n}
Auto-fix eligible: {n} (Critical/High + Confirmed/Firm confidence)
Manual review needed: {n} (Medium confidence or complex fixes)
Skipped: {n} (Low confidence or informational)
FINDINGS TO REMEDIATE:
[x] E-DEV-001 Critical CWE-89 SQL injection -> parameterized query [auto-fix]
[x] E-DEV-003 High CWE-79 XSS vulnerability -> DOMPurify sanitize [auto-fix]
[x] E-DEV-007 High CWE-352 Missing CSRF -> csrf middleware [auto-fix]
[x] E-DEV-012 High CWE-327 Weak hash (MD5) -> SHA-256 replacement [auto-fix]
[ ] E-DEV-015 Medium CWE-862 Missing auth check -> RBAC guard [needs design]
[ ] E-DEV-018 Low CWE-798 Hardcoded API key -> env variable [manual]
New dependencies needed: dompurify, @types/dompurify, csurf
Estimated fix files: {n}
Estimated test files: {n}"Which findings should I remediate? [all-auto / select / all]"
修复计划
----------------
总检测结果数:{n}
符合自动修复条件:{n}(Critical/High + Confirmed/Firm置信度)
需要人工审核:{n}(Medium置信度或复杂修复)
已跳过:{n}(Low置信度或信息性结果)
待修复检测结果:
[x] E-DEV-001 Critical CWE-89 SQL注入 -> 参数化查询 [自动修复]
[x] E-DEV-003 High CWE-79 XSS漏洞 -> DOMPurify清理 [自动修复]
[x] E-DEV-007 High CWE-352 缺失CSRF防护 -> csrf中间件 [自动修复]
[x] E-DEV-012 High CWE-327 弱哈希(MD5) -> SHA-256替换 [自动修复]
[ ] E-DEV-015 Medium CWE-862 缺失权限检查 -> RBAC防护 [需设计]
[ ] E-DEV-018 Low CWE-798 硬编码API密钥 -> 环境变量 [手动修复]
需要新增依赖:dompurify, @types/dompurify, csurf
预计生成修复文件数:{n}
预计生成测试文件数:{n}"需要修复哪些检测结果?[all-auto / select / all]"
REMEDIATION SUMMARY
-------------------
Findings to fix: {n}
Fix files to generate: {n}
Test files to generate: {n}
New dependencies: {list}
Breaking changes: {yes/no, details}
OUTPUT STRUCTURE:
$JAAN_OUTPUTS_DIR/sec/remediate/{id}-{slug}/
{id}-{slug}.md <- Remediation report
{id}-{slug}-readme.md <- Integration instructions
fixes/
auth-middleware.ts <- Fix: missing auth
rate-limiter.ts <- Fix: rate limiting
csrf-protection.ts <- Fix: CSRF
sanitize-input.ts <- Fix: XSS/injection
...
tests/
auth-security.test.ts <- Test: auth fixes
rate-limit.test.ts <- Test: rate limiting
csrf.test.ts <- Test: CSRF
xss-prevention.test.ts <- Test: XSS
..."Proceed with generating {n} fix files and {n} test files? [y/n]"
修复摘要
-------------------
待修复结果数:{n}
待生成修复文件数:{n}
待生成测试文件数:{n}
新增依赖:{列表}
破坏性变更:{是/否,详情}
输出结构:
$JAAN_OUTPUTS_DIR/sec/remediate/{id}-{slug}/
{id}-{slug}.md <- 修复报告
{id}-{slug}-readme.md <- 集成说明
fixes/
auth-middleware.ts <- 修复:缺失权限验证
rate-limiter.ts <- 修复:速率限制
csrf-protection.ts <- 修复:CSRF防护
sanitize-input.ts <- 修复:XSS/注入防护
...
tests/
auth-security.test.ts <- 测试:权限修复验证
rate-limit.test.ts <- 测试:速率限制验证
csrf.test.ts <- 测试:CSRF防护验证
xss-prevention.test.ts <- 测试:XSS防护验证
..."是否继续生成{n}个修复文件和{n}个测试文件?[y/n]"
source "${CLAUDE_PLUGIN_ROOT}/scripts/lib/id-generator.sh"SUBDOMAIN_DIR="$JAAN_OUTPUTS_DIR/sec/remediate"
mkdir -p "$SUBDOMAIN_DIR"
NEXT_ID=$(generate_next_id "$SUBDOMAIN_DIR")
OUTPUT_FOLDER="${SUBDOMAIN_DIR}/${NEXT_ID}-${slug}"
MAIN_FILE="${OUTPUT_FOLDER}/${NEXT_ID}-${slug}.md"mkdir -p "$OUTPUT_FOLDER/fixes"
mkdir -p "$OUTPUT_FOLDER/tests"Output Configuration
- ID: {NEXT_ID}
- Folder: $JAAN_OUTPUTS_DIR/sec/remediate/{NEXT_ID}-{slug}/
- Main file: {NEXT_ID}-{slug}.md
- Fixes dir: fixes/
- Tests dir: tests/
source "${CLAUDE_PLUGIN_ROOT}/scripts/lib/id-generator.sh"SUBDOMAIN_DIR="$JAAN_OUTPUTS_DIR/sec/remediate"
mkdir -p "$SUBDOMAIN_DIR"
NEXT_ID=$(generate_next_id "$SUBDOMAIN_DIR")
OUTPUT_FOLDER="${SUBDOMAIN_DIR}/${NEXT_ID}-${slug}"
MAIN_FILE="${OUTPUT_FOLDER}/${NEXT_ID}-${slug}.md"mkdir -p "$OUTPUT_FOLDER/fixes"
mkdir -p "$OUTPUT_FOLDER/tests"输出配置
- ID:{NEXT_ID}
- 文件夹:$JAAN_OUTPUTS_DIR/sec/remediate/{NEXT_ID}-{slug}/
- 主文件:{NEXT_ID}-{slug}.md
- 修复文件目录:fixes/
- 测试文件目录:tests/
fixes/fixes/Reference: Seesection "Per-CWE Fix Generation Patterns" for CWE-specific fix generation instructions (CWE-79 through CWE-862).${CLAUDE_PLUGIN_ROOT}/docs/extending/sec-audit-remediate-reference.md
参考:查看中的“按CWE生成修复模式”章节,获取CWE特定的修复生成说明(CWE-79至CWE-862)。${CLAUDE_PLUGIN_ROOT}/docs/extending/sec-audit-remediate-reference.md
{vulnerability-type}.tssql-injection-fix.tscsrf-protection.tsxss-sanitizer.ts{vulnerability-type}.tssql-injection-fix.tscsrf-protection.tsxss-sanitizer.tstests/tests/${CLAUDE_PLUGIN_ROOT}/docs/research/73-dev-sarif-security-remediation-automation.md${CLAUDE_PLUGIN_ROOT}/docs/research/73-dev-sarif-security-remediation-automation.md{vulnerability-type}.test.tssql-injection.test.tsxss-prevention.test.ts{vulnerability-type}.test.tssql-injection.test.tsxss-prevention.test.tsReference: Seesection "CWE-Specific Test Patterns" for per-CWE test payloads and verification patterns.${CLAUDE_PLUGIN_ROOT}/docs/extending/sec-audit-remediate-reference.md
参考:查看中的“特定CWE的测试模式”章节,获取每个CWE的测试载荷和验证模式。${CLAUDE_PLUGIN_ROOT}/docs/extending/sec-audit-remediate-reference.md
{id}-{slug}.md$JAAN_TEMPLATES_DIR/jaan-to:sec-audit-remediate.template.md{{title}}{{date}}{{executive_summary}}{{findings_table}}{{fixes_generated}}{{tests_generated}}{{new_dependencies}}{{risk_reduction}}{{remaining_findings}}{id}-{slug}.md$JAAN_TEMPLATES_DIR/jaan-to:sec-audit-remediate.template.md{{title}}{{date}}{{executive_summary}}{{findings_table}}{{fixes_generated}}{{tests_generated}}{{new_dependencies}}{{risk_reduction}}{{remaining_findings}}{id}-{slug}-readme.md{id}-{slug}-readme.mdOUTPUT FILES
------------
$JAAN_OUTPUTS_DIR/sec/remediate/{id}-{slug}/
{id}-{slug}.md (remediation report)
{id}-{slug}-readme.md (integration instructions)
fixes/
{fix-file-1}.ts (CWE-89: SQL injection fix)
{fix-file-2}.ts (CWE-79: XSS sanitization)
...
tests/
{test-file-1}.test.ts (SQL injection regression)
{test-file-2}.test.ts (XSS prevention regression)
...
Total: {n} files"Write all {n} files to $JAAN_OUTPUTS_DIR/sec/remediate/{id}-{slug}/? [y/n]"
fixes/tests/source "${CLAUDE_PLUGIN_ROOT}/scripts/lib/index-updater.sh"
add_to_index \
"$SUBDOMAIN_DIR/README.md" \
"$NEXT_ID" \
"${NEXT_ID}-${slug}" \
"{Title}" \
"{Executive summary text}"Output written to: $JAAN_OUTPUTS_DIR/sec/remediate/{NEXT_ID}-{slug}/ Index updated: $JAAN_OUTPUTS_DIR/sec/remediate/README.md Fix files: {n} | Test files: {n} | Report: 1 | Readme: 1
输出文件
------------
$JAAN_OUTPUTS_DIR/sec/remediate/{id}-{slug}/
{id}-{slug}.md (修复报告)
{id}-{slug}-readme.md (集成说明)
fixes/
{fix-file-1}.ts (CWE-89: SQL注入修复)
{fix-file-2}.ts (CWE-79: XSS清理)
...
tests/
{test-file-1}.test.ts (SQL注入回归测试)
{test-file-2}.test.ts (XSS防护回归测试)
...
总计:{n}个文件"是否将所有{n}个文件写入$JAAN_OUTPUTS_DIR/sec/remediate/{id}-{slug}/?[y/n]"
fixes/tests/source "${CLAUDE_PLUGIN_ROOT}/scripts/lib/index-updater.sh"
add_to_index \
"$SUBDOMAIN_DIR/README.md" \
"$NEXT_ID" \
"${NEXT_ID}-${slug}" \
"{标题}" \
"{执行摘要文本}"输出已写入:$JAAN_OUTPUTS_DIR/sec/remediate/{NEXT_ID}-{slug}/ 索引已更新:$JAAN_OUTPUTS_DIR/sec/remediate/README.md 修复文件:{n} | 测试文件:{n} | 报告:1 | Readme:1
"Any feedback on the security remediation? [y/n]"
"[1] Fix now [2] Learn for future [3] Both"
/jaan-to:learn-add sec-audit-remediate "{feedback}""对本次安全修复有任何反馈吗?[y/n]"
"[1] 立即修复 [2] 为未来学习 [3] 两者皆选"
/jaan-to:learn-add sec-audit-remediate "{反馈}"