上一篇 OWASP Top 10 是”你应该自查哪 10 类漏洞”。Pen test 是另一面——花钱请专业人士真打一遍,看你的防御到底扛不扛得住。两者一起才完整:一个是 self-review,一个是 external attack。


顶层结论

  • Pen test ≠ 漏洞扫描。扫描是查”有没有已知漏洞”,pen test 是”真利用一次看能打到哪”
  • 三种队伍:red 攻 / blue 守 / purple 协同
  • 三种信息盒子:黑(zero knowledge)/ 灰(部分)/ 白(全开)
  • vibe-coder 入口:bug bounty 平台,先做”被打的人”,再考虑”打人的人”

1. Pen Test vs Vulnerability Assessment:别混

Vulnerability AssessmentPen Test
干什么列出”有哪些已知弱点”真利用一次看能打到哪
谁干多半自动化(扫描器)主要靠人
产出漏洞清单 + 风险评级攻击路径 + 真实影响(“我拿到了 customer table”)
频率持续 / 每周季度 / 年度
类比物业检查锁好不好雇个开锁匠真撬一次

重点:扫描器能告诉你”门锁老了”,但回答不了”老了到底能不能开”,pen test 回答这个。


2. 三种队伍:Red / Blue / Purple

干什么类比
🔴 Red Team攻击——模拟真实攻击者,目标式打透雇来的劫匪
🔵 Blue Team防御 + 响应——监测、阻断、复盘内部保安
🟣 Purple Team协同——红蓝一边打一边告诉对方”我现在在干嘛”,边打边补教练带的对抗演练

Red team 通常外包给独立第三方(自己人打自己人有盲区),blue team 是公司自己的安全运维。Purple team 不是第三个队,是”red + blue 同时坐一个房间”的协作模式。

为什么大公司选 purple

纯 red vs blue 像”考试”:红队偷偷打,蓝队事后才知道”原来我们这里有洞”。信息流转慢。 Purple 让红队边打边讲”我现在用什么技巧”,蓝队当场加规则——学习速度快 10 倍


3. 三种信息盒子:给测试者多少底牌

策略又叫测试者拿到的信息模拟的攻击者画像
Closed-boxBlack-box / Zero-knowledge / External啥也不知道,从公网开始外部黑客
Partial knowledgeGray-box普通用户账号 + 一点架构图被钓鱼的员工 / 入侵后的低权限攻击者
Open-boxWhite-box / Clear-box / Full-knowledge / Internal架构图、源码、网络拓扑、凭据内鬼 / 深度审计

怎么选

  • 想测”真攻击者能打多远” → black-box,最贴近现实
  • 想测”普通员工账号被偷之后呢” → gray-box,性价比最高,大多数公司选这个
  • 想做深度安全审计 / 合规 → white-box,看到代码层细节

vibe-coder 视角:你自己的 SaaS 第一次做 pen test,先 gray-box。给测试者一个普通用户账号——这就是真实场景:注册一个免费号,看能横移多远


4. Pen Test 的工作范围

不只是”打你的网站”。Scope 谈好可以包括:

  • 网络层 —— 端口扫描、外网漏洞利用
  • 应用层 —— OWASP Top 10 一条条试
  • 物理 —— 能不能溜进办公室插 U 盘(USB baiting)
  • 社工 —— 钓鱼邮件、电话骗 IT 重置密码
  • 无线 —— 公司 Wi-Fi、隔壁咖啡店扫信号
  • —— S3 bucket 配错、IAM 角色滥用、IMDS 偷凭据

谈 scope 时最重要的一件事:写下来什么不能打——比如”生产数据库不能下表”、“工作时间不许 DoS”。否则真出事赔不起。


5. 合规驱动:为什么必须做

不是”想做就做”,很多场景是法律强制:

合规框架pen test 频率
PCI DSS(信用卡)至少每年一次 + 重大变更后
HIPAA(美国医疗)周期性
GDPR(欧盟)周期性
澳洲 Essential Eight Maturity Level 3建议年度
ISO 27001 / SOC 2审计周期内

vibe-coder 注意:做 B2B SaaS 卖给企业客户时,很多大客户合同里会写”供应商必须有最近一次的 pen test 报告”。这不是合规,是销售门槛


6. Bug Bounty:vibe-coder 的入口

公司开”赏金任务”:你找到漏洞、按规则报告,给钱

平台特点
HackerOne最大,Google / Uber / Slack 都挂这
Bugcrowd二大,企业项目多
Intigriti欧洲为主
Open Bug Bounty免费,coverage 广但赏金低

vibe-coder 两种用法:

  1. 当甲方:自己 SaaS 做大了开 bug bounty,比养红队便宜十倍
  2. 当乙方(学习用):挑公开 scope 的项目练手,既学技能也可能拿钱

7. vibe-coder 该知道的最实操几件事

问题答案
我的小项目要不要做 pen test?MVP 阶段不用,挂上 自动扫描 + 跑过 OWASP Top 10 checklist 就行
什么时候必须做?客户要求 / 处理付款 / 处理 PII 上规模 / 合规要求
一次 pen test 多少钱?小型 SaaS gray-box 大约 AUD 25k,看 scope
报告里我该看什么?CVSS 评分 ≥ 7.0 的全部修,4.0–6.9 看业务影响,< 4.0 可以接受
修完要复测吗?——pen test 公司一般送 1 次免费 retest

概念关联

这一篇放在系列里