用途:fix 技能用于在用户提出“修复安全发现”“修复漏洞”“生成安全修复”“appsec fix”“patch vulnerability”等需求时,针对安全发现生成具体、可上生产的代码修复,并主动提出通过 Edit 工具应用修改。它不是咨询类技能,而是产出真实代码变更。
主要能力:支持多种定位方式,包括发现 ID(如 INJ-001,从 .appsec/findings.json 读取)、文件与行号(如 src/db/queries.ts:45)、描述匹配,以及不指定目标时的批量模式(按严重级别从 critical 开始修复)。支持 --scope(file:<path> 或默认 changed 范围内所有未修复发现)、--depth(quick 最小改动、standard 含周边改进、deep 含重构与防御性检查、expert 含回归测试与安全注释)、--severity(仅修复不低于该级别的发现)、--format(默认 text,json 输出符合 findings schema 的修复对象)。
使用方式:工作流为识别目标发现、理解漏洞(读取发现记录与至少 30 行上下文、定位根因与约束、检查已有缓解)、选择修复策略(如 SQL 注入用参数化查询、XSS 用上下文输出编码与 CSP、命令注入用白名单并避免 shell、路径遍历做规范化与基目录校验、SSRF 用 URL 白名单、硬编码密钥改用环境变量或密钥管理、缺失认证加中间件、访问控制加授权检查、弱加密换推荐算法、开放重定向校验目标、竞态加锁或原子操作)、生成真实可编译代码、校验语法与完整性及副作用与回归风险、展示 diff 并询问是否应用、应用后更新 .appsec/findings.json 状态为 fix-applied 并记录时间戳与 diff,提示运行 /appsec:verify 验证。
适用场景:需要将安全扫描或审计发现转化为实际补丁的代码库,尤其是已有 .appsec/findings.json 记录的项目。
限制:资料未提供具体支持的编程语言、框架范围、安装方式、收费与价格信息;修复需人工确认后应用,若修复涉及跨文件架构变更,仅应用当前文件级修复并说明更大范围改动;不得生成仅压制警告或关闭安全功能的修复。