对抗 · 复盘 · 自评(全学期收口)
黄玮
2026-秋
「前面六个里程碑都点亮了,但拼在一起还能打穿吗?」
本里程碑自评权重 0.20(最高之一,回看整学期)+ 现场演示(动态证据)。完整能力矩阵见
capability-framework.md。
红蓝对抗的价值:用攻击者的视角检验防御者的覆盖度,把「我以为防住了」变成「我量过每层命中率」。
milestone/m{n} 分支自评不是「点亮越多越好」,而是「点的每一项都能指回证据」。
git branch --list 'milestone/m[0-7]'
应 = 8⚠️ 仅在自己系统 / 授权环境;触及第三方 = 安全严谨不合格 + 上报。课程不教授编写恶意代码。
| 阶段 | 时长 | 产出 |
|---|---|---|
| 场景与规则对齐 | 15min | redblue-record.md 骨架(目标/规则/停战) |
| 红队攻击链执行 | 30min | 多阶段链记录(每步攻击载荷(payload) + 结果) |
| 蓝队防御复盘 | 30min | 哪些被拦/漏检 + 纵深度量表 |
| 取证 + AI 综合评估 | 20min | forensics-report.md + AI 局限分析 |
| 自评矩阵 + 汇报 | 25min | self-matrix.md + 现场演示 |
课内跑不完很正常——录屏 / 动态证据包补足;静态无法核验的动态证据,不交录屏则降级观察(observation)。
/orders
字符串拼接)、XSS、文件上传、CSRF —— 都已在 M3 留下 PoC/api/agent AI 端点/api/agent 越权调工具 / 泄露数据## 攻击链 stage-by-stage
- stage1 侦察:nmap -sV → 发现 5000 端口 + /api/agent(M2 证据)
- stage2 渗透:SQLi at /orders?id=1 UNION SELECT... → 拿到用户表(M3 PoC)
- stage3 AI 对抗:提示词注入 /api/agent → 忽略护栏调用 read_file(M6 PoC)
- stage4 横向:用 stage2 的凭证访问 /admin → 发现配置漂移
每步附:payload + 响应 + 哪一层防御该接住(蓝队对照)
红队的 L3 不是「找到新漏洞」,而是「把已有能力编成有杀伤力的链,并标注每步对应的能力簇」。
| 防御层 | 来源 | 该接住的攻击 | 是否命中 | 漏检原因 |
|---|---|---|---|---|
| WAF(边界) | M4 | stage2 SQLi | ☐ | 规则未覆盖 UNION |
| 应用校验 | M3 加固 | stage2 SQLi | ☐ | 仅前端校验 |
| 日志告警 | M5 | stage3 提示词注入 | ☐ | 无 prompt 检测规则 |
| 蜜罐 | M5 | stage4 横向 | ☐ | 红队未踩 |
纵深度量的价值:把「防御有效性」从感觉变成数字(命中率 = 命中层 / 应接住层)。这是簇④/⑤·L3 的核心要求,也是贯穿范式「可观测与可验证的安全」的标准动作。
| 簇 × 级 | 能力描述 | 证据(M0-M6 路径) | 思维范式 |
|---|---|---|---|
| ①·L3 | 设计 RBAC / 风险登记表随项目演进 | docs/m1/ 安全基线 |
最小权限 |
| ②·L3 | 可复用侦察脚本 + 暴露面清单治理 | docs/m2/recon.* |
自侦察 |
| ③·L3 | 编排多阶段利用链 | docs/m3/ PoC + M7 攻击链 |
链式利用 |
| 簇 × 级 | 能力描述 | 证据(M0-M6 路径) | 思维范式 |
|---|---|---|---|
| ④·L3 | 纵深防御 + 度量 | docs/m4/ + M7 纵深表 |
纵深覆盖 |
| ⑤·L3 | 检测-取证-欺骗闭环 | docs/m5/ + M7 取证报告 |
闭环复盘 |
| ⑥·L3 | AI 综合评估(赋能+对抗+局限) | docs/m6/ + M7 AI 评估 |
双向审视 |
①|②|③|④|⑤|⑥)①·L3…⑥·L3 都必须能指回仓库里的 M0-M6
证据路径自检覆盖度:
git grep -hoE '①|②|③|④|⑤|⑥' milestone/m7 -- '*.md' | sort -u | wc -l(应 ≥3)。
M7 的 AI 评估按「是否在演练中综合评估 AI(攻防 + 局限)」给档,权重 0.20。
/api/agent
做提示词注入 / 越狱 / 工具滥用 → AI 被攻破的路径(复用 M6)deepseek-v4-flash
/ Qwen / GLM / Kimi)—— 课程内容禁止依赖国外大模型AI 不是万能防线:局限分析就是承认「AI 在哪些地方帮倒忙」,这是簇⑥·L3 区别于 L2 的关键。
milestone/m6 分支 tip(已加固 + AI 能力 +
加固证据 + 集中日志)milestone/m6 切
milestone/m7,MR 目标 =
milestone/m6/login / /orders /
/api/agent / AUDIT
日志(种子工程(seed)预留,M0-M6 逐步加固)docs/m7/ 四件套)docs/m7/
├── redblue-record.md # 任务 A/B/C:场景 + 红队链 + 蓝队复盘 + 纵深度量
├── forensics-report.md # 取证报告(时间线 + IoC)
├── self-matrix.md # 任务 D:能力自评矩阵(6 簇 × 3 级 → 证据 + 范式)
└── report.md # AI 综合评估(含局限)+ 演示录屏引用 + 自评
模板不是填空——每一段都要能指回仓库证据。空模板 = 自评虚点亮 = 扣分。
录屏要点:覆盖一条完整攻击链(红队)+ 一次闭环响应(蓝队),每步有屏幕标注;存仓库或可信链接,在
report.md引用。
labs/lab07-redblue.md:
milestone/m7
就是你的最终作品分支# 节奏完整性:8 个里程碑分支都应在
git branch --list 'milestone/m[0-7]' | wc -l # 应 = 8
# 评审会校验 m7_branch_chain:m0 → m1 → ... → m7 串成一条线
git log --oneline milestone/m7 | head
milestone/m7 合回
main(学生不要自己合)Git 工作流详见
courseware/unit00-intro/labs/git-guide.md(学生提交用堆叠分支milestone/m{n}+ 开 MR,不是 tag)。
| 簇 × 级 | 能力描述 | 是否点亮 | 证据 |
|---|---|---|---|
| ①·L3 / ②·L3 / ③·L3 | 综合工程化:编排利用链(复用 M2/M3) | ☐(逐簇回看) | M7 攻击链 + M2/M3 产物 |
| ④·L3 / ⑤·L3 | 纵深防御 + 检测-取证-欺骗闭环(复用 M4/M5) | ☐ | M7 纵深表 + 取证报告 |
| ⑥·L3 | AI 综合评估(赋能 + 对抗 + 局限) | ☐ | M7 AI 评估(含局限) |
无虚点亮:自评矩阵每一项都要能指回 M0-M6 仓库证据 + 标注思维范式。本里程碑自评权重 0.20。
milestone/m7 = 最终作品分支;8
分支齐备 → 学期末由助教合回 main学期末:把
milestone/m7合回main,作品完成。