67 lines
2.5 KiB
Plaintext
67 lines
2.5 KiB
Plaintext
---
|
||
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 |
|