2.7 KiB
2.7 KiB
Cursor 规则安装说明
将下方 「规则正文」 整段保存为:
.cursor/rules/audit-line-review.mdc
(Plan 模式无法直接写 .mdc,请手动创建或切 Agent 模式让助手创建。)
规则正文(复制到 audit-line-review.mdc)
---
description: 安全/质量逐行走读审计 — Phase 2 closure 流程;禁止攻击面抽查冒充全量审计
globs:
- server/**
- web/app/**
- web/agent/**
- scripts/**
- deploy/**
- tests/**
---
# 逐行走读审计规则(Phase 2)
完整标准见:`docs/project/line-walk-audit-standard.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 |