--- description: 安全/质量逐行走读审计 — Phase 2 closure 流程;禁止攻击面抽查冒充全量审计 globs: - server/** - web/app/** - web/agent/** - scripts/** - deploy/** - tests/** --- # 逐行走读审计规则(Phase 2) 完整标准见:`standards/line-walk-audit-standard-v2.md`(权威)· Nexus SSOT:`docs/project/line-walk-audit-standard.md` · 转接索引:`docs/project/standards-transfer-package.md` ## 何时启用 用户要求「全量审计」「逐行审查」「走读」「Phase 2」「安全审计」时,**必须**遵守本规则,不得用攻击面 Top N 或子代理汇总代替。 ## 强制流程(每文件 8 步) 1. 登记 `path`、语言、行数 N(`wc -l`) 2. **全文 Read** 至 EOF(可每 200 行分段;末段须覆盖 N) 3. 对该文件跑 `docs/project/line-walk-audit-standard.md` §4 全部适用规则 → 命中列表 H 4. 对 H **每一条** Read ±15 行,填 Closure(SAFE / FINDING + 行号 + 理由) 5. API/WS 文件:写入口表(方法、路径、鉴权) 6. 标外部输入 → sink(SQL / shell / 文件 / innerHTML / 出站 HTTP) 7. 八类归类:BUG / VULN / STYLE / RISK / PERF / UX / EXT / OPT 8. 满足 DoD 后标「逐行完成 ✓」 **单会话上限**:最多 **5 个文件** 完成 8 步。 ## DoD(缺一不可) - `len(H) == Closure 行数`(H=0 须写明「规则零命中」) - Read 覆盖 `1..N`(报告写明 N 与 Read 范围) - 每条 FINDING 含 **`文件:行号`** - 交付 `docs/reports/audit-phase-2*-line-walk.md`(含 Closure **全表**,含 SAFE) ## 命令拼接(高频漏报) - `f"{key}={shlex.quote(value)}"` **不等于**安全:须 `shlex.quote(f"{key}={value}")` 或 argv 不经 shell - `ls`/`find` 输出拼进 `cp`/`rm` 须 **白名单 + shlex.quote** - `exec_ssh_command` / `conn.run(command)` 默认经远程 shell ## 禁止 - 无行号的 FINDING - 「已审计 ✓」无 Closure 表 - 单回复声称整库 `server/` 或全部 `web/` 完成 - 子代理只出 Top 15 不落行号 - 同一任务混审计与改代码(除非用户明确要求) ## 严重度(复查 KPI) - **P0**:未授权 RCE、IDOR Shell、仓库内生产密钥等 - **P1**:需认证后的命令注入、XSS、密钥回读等 - P0 漏报 -100 / P1 漏报 -50(用户复查约定) ## 报告路径 | 用途 | 路径 | |------|------| | 标准 SSOT | `docs/project/line-walk-audit-standard.md` | | 批次产出 | `docs/reports/audit-phase-2{a-f}-line-walk.md` | | Phase 1 参考 | `.cursor/plans/nexus_全面代码审计_a33e6fc2.plan.md` §0–§8 |