代表性面试主题

通用面试:如何用 security.txt 建立可用的漏洞报告入口?

通用中等
Offer.cc 编辑团队发布 更新

题干

一个面向公众的网站希望让研究人员更容易报告漏洞。请说明你会如何设计 security.txt、披露政策、值班流程和后续验证。

题干与适用场景

这道通用题考察候选人能否把一个小型公开文件放进完整的安全运营流程。重点不是背字段,而是把报告入口、授权边界、响应责任和政策承诺连接起来。

面试官考察什么

  • 是否知道 RFC 9116 规定的 /.well-known/security.txt 位置和必需字段。
  • 是否能区分发现入口、漏洞验证、协调披露和紧急处置。
  • 是否会避免把邮箱、加密密钥或不存在的响应时限写成不受控承诺。
  • 是否能设计轮值、工单、去重和状态更新,让入口真正可用。

回答前需要澄清的问题

先确认服务覆盖哪些域名、是否有多个产品团队、是否接受第三方托管资产、报告渠道由谁值班、哪些测试属于授权范围,以及是否已有漏洞披露政策和紧急联系人。还要问清楚目标是提高可发现性,还是同时承诺奖励、加密提交和协调披露期限。

30 秒回答框架

我会在每个公开资产的 /.well-known/security.txt 提供 UTF-8 纯文本文件,至少维护有效的 Contact 和未来时间的 Expires,并用 PolicyCanonicalEncryptionAcknowledgments 补充真实存在的流程。文件只负责把研究人员带到入口;后端还要有授权范围、轮值、工单、去重、严重度评估和安全的状态沟通。上线前验证 HTTPS、过期时间、链接权限和告警负责人。

分步骤深入解答

1. 先确定资产和入口边界

按主域名、产品域名和高风险 API 列出覆盖范围,避免只在营销首页放文件。Contact 应指向可处理报告的邮箱或 HTTPS 表单;不要把无人值守的个人邮箱当作唯一入口。若资产由不同团队负责,应在文件或政策中明确分流方式。

2. 按 RFC 9116 填写并持续验证字段

ContactExpires 是必需字段;Expires 必须表达未来的失效时间。Policy 可链接到授权测试和披露规则,Canonical 可指出规范文件位置,Encryption 只在确实维护公钥时提供,AcknowledgmentsHiring 按需使用。文件放在 HTTPS 的 /.well-known/security.txt,并把内容保持为 text/plain,避免依赖网页渲染。

3. 把文件接入响应流程

入口收到报告后生成不可预测的工单编号,自动记录接收时间、资产、复现步骤和研究人员偏好。值班人员先确认是否属于授权范围,再做去重、影响评估和负责人分派。高风险事件进入紧急通道,普通报告进入常规队列;两者都要留下审计记录。

4. 设计披露政策而非虚构 SLA

政策应说明安全研究者可以做什么、哪些行为禁止、如何安全传输敏感材料、是否提供奖励、何时允许公开披露,以及组织如何处理善意测试。只有团队能长期履行的确认时间和更新节奏才应写入政策。不要把 RFC 字段误读成“收到报告后一定在某个小时内修复”。

5. 保护入口和报告数据

公开文件不应包含私钥、内部主机名、个人手机号或未公开的事件信息。表单应限制附件类型和大小,邮件与工单系统要控制访问权限,原始报告中的脚本和链接按不可信输入处理。安全团队可以在内部保存更多上下文,但对报告者的回复只披露经过批准的事实。

6. 用可观测性证明入口有效

监控文件的 200 响应、HTTPS 证书、Expires 距离、联系人轮值和表单到工单的转换。定期用无害测试报告验证告警、去重和升级路径;不要用真实漏洞做演练。还要检查 CDN、重定向和多区域部署没有返回旧文件或缓存过期版本。

高质量示范回答

我会先列出需要覆盖的公开域名,再在每个域名的 HTTPS /.well-known/security.txt 发布 UTF-8 纯文本文件。Contact 指向有轮值的邮箱或表单,Expires 设置为未来时间并纳入到期告警;只有确实维护时才加入 PolicyCanonicalEncryption 等字段。文件本身不承诺修复时限,政策则写清授权范围、禁止行为、敏感材料传输、奖励和协调披露规则。报告进入受限工单后,按范围校验、去重、严重度和负责人分派处理,高风险事件走紧急通道。上线前验证 HTTPS、缓存、权限、联系人轮值和到期续期;上线后监控入口可达性、报告转单和响应状态。这样 security.txt 是可发现入口,真正的安全能力来自后面的流程与责任链。

常见错误

  • 只创建文件却没有值班人、工单队列和升级路径。
  • 忘记 Expires,导致研究人员看到已经失效的联系信息。
  • 把私钥、内部地址或个人手机号直接放进公开文件。
  • 在政策里写无法兑现的修复 SLA、奖励金额或披露日期。
  • 用 HTTP、会跳转的登录页或被 CDN 缓存的旧文件代替稳定 HTTPS 入口。
  • 收到报告后未经授权就公开复现细节,扩大真实风险。

追问及应对

security.txt 能替代漏洞披露政策吗?

不能。它主要帮助研究人员发现 Contact、Policy 等入口;授权范围、善意测试、奖励、披露协调和应急规则仍应在政策中说明。

为什么需要 Expires

联系人和流程会变化。Expires 让自动化检查能够发现文件可能已经过期,促使团队更新,而不是让旧邮箱长期看起来有效。

一个集团有多个产品域名怎么办?

为各个需要独立负责的域名发布对应文件,并用 Canonical 或政策链接说明规范来源。更重要的是每个入口都要落到真正能分派报告的团队,不能只复制同一个无人值守地址。

研究人员发送了疑似零日漏洞,第一步做什么?

限制报告数据访问,确认来源和资产范围,记录时间与证据,立即通知安全负责人并按紧急流程评估影响。不要在未验证前把细节转发到公开频道,也不要为了追求完整而要求研究人员继续扩大测试范围。

公开来源

同类题目