把安全漏洞扫描外包出去之前,最该整理的不是预算,而是“扫什么、扫到什么程度、交付什么、怎么验收”。需求越具体,供应商报价越可比,返工越少。下面这份清单按“要查什么、怎么查、结果说明什么”组织,适合多人协作时逐项确认。
要查什么:把所有需要扫描的目标列全,包括域名、子域名、IP 段、对外端口、Web 应用入口、API 接口、移动端后端地址,以及是否包含内网资产。多人协作时,最容易出问题的就是“以为对方知道”。
怎么查:让运维或开发导出资产台账,与 DNS 解析记录、云平台资源列表、防火墙放行记录交叉比对。对每个目标标注归属系统、负责人、是否允许扫描、允许扫描的时间窗口。
结果说明什么:如果资产清单与供应商理解的范围不一致,扫描结果就会出现大量“漏扫”或“误扫”。验收时以双方签字确认的范围表为准,而不是口头描述。
要查什么:区分黑盒扫描、灰盒扫描、白盒代码审计、主机基线核查、Web 应用漏洞扫描。不同服务的人力投入和结果形态差别很大。
怎么查:在需求文档里逐项勾选,并写明是否允许登录态扫描、是否提供源码、是否进行弱口令尝试、是否包含逻辑漏洞人工验证。如果只做自动化扫描,要注明“不包含人工验证的逻辑漏洞”。
结果说明什么:如果需求写的是“全面漏洞扫描”,供应商可能只跑一遍自动化工具。明确类型后,报价和工期才有可比性。判断标准是:需求描述能否让第三方在不追问的情况下知道要做什么。
要查什么:交付物至少包括扫描报告、漏洞列表、风险等级、复现步骤、修复建议、原始扫描数据。多人协作时,还要约定报告语言、字段命名和优先级定义。
怎么查:要求供应商提供一份样例报告(可脱敏),检查是否包含:漏洞名称、影响资产、风险等级、复现请求或截图、修复建议、参考链接。风险等级定义要提前统一,例如按 CVSS 还是按内部标准。
结果说明什么:如果报告只有漏洞名称没有复现步骤,开发无法定位,整改就会反复沟通。验收时逐项对照样例报告字段,缺项即视为未完成。
要查什么:扫描起止时间、扫描窗口、是否允许在生产环境直接扫描、是否允许造成服务中断、紧急联系人、数据保密要求、复扫次数和验收标准。
怎么查:用一张表列出:扫描阶段、时间窗口、允许操作、禁止操作、双方联系人。验收标准建议写成“高危和中危漏洞全部提供复现步骤,且复扫后确认修复或给出不修复理由”。
结果说明什么:如果没写清禁止操作,扫描可能触发告警甚至影响业务。验收标准模糊时,双方对“扫完”的理解会不同。可执行的验收规则应当能回答:谁在什么时间、用什么标准、判断什么结果。
假设团队准备外包一次 Web 应用漏洞扫描,可以在需求文档中这样写:范围是 app.example.com 及其两个 API 子路径;类型为灰盒扫描,提供测试账号;交付物为中文报告,含复现步骤和修复建议;扫描窗口为每周二凌晨 1:00 至 4:00;验收标准为高危漏洞全部有复现记录,复扫后确认关闭或书面说明不修复原因。这份描述让供应商能直接报价,也让内部验收有据可依。
下一步,把上面几项整理成一页需求确认表,发给候选供应商前先让开发、运维和安全负责人各自确认一遍范围与禁止操作,再进入比价环节。