如果安全研究员发现你的网站有漏洞,他应该怎么联系你?发客服?找邮箱?还是在社交平台私信?security.txt 就是为了解决这个问题。

你可以用 security.txt 生成器 生成基础文件,再放到网站约定路径。

security.txt 放在哪里#

常见路径是:

text已剪下 ✓
https://example.com/.well-known/security.txt

也可以在根目录放一份,但 .well-known 是更标准的入口。

常见字段#

常见字段包括:

  • Contact:安全联系邮箱或页面。
  • Expires:文件过期时间。
  • Encryption:PGP 公钥地址。
  • Policy:漏洞披露政策。
  • Acknowledgments:致谢页面。
  • Preferred-Languages:偏好语言。

最重要的是 Contact 和 Expires。没有有效联系方式,文件价值会大打折扣。

Expires 为什么重要#

安全联系方式可能变化,所以 security.txt 需要过期时间。

过期后,别人就知道这份信息可能不再可靠。建议定期更新,尤其是团队邮箱或安全页面变化后。

不要写无法响应的邮箱#

如果写了安全邮箱,就要有人看。否则安全研究员发来报告没人处理,反而更糟。

建议:

  • 使用稳定邮箱。
  • 设置转发或工单。
  • 明确可接受的报告范围。
  • 告诉对方是否支持奖励或致谢。

上线后怎么检查#

部署后直接访问:

text已剪下 ✓
https://example.com/.well-known/security.txt

确认返回的是纯文本,状态码是 200,内容没有被重定向到首页或错误页。还要检查 Expires 是否是未来时间,Contact 是否能正常打开或投递。

如果网站用了 CDN,记得刷新缓存。否则你可能已经更新源站文件,但外部访问到的仍然是旧版本。

总结#

security.txt 是网站安全沟通入口,不是防火墙。它让漏洞报告有明确路径,减少信息丢失。

需要生成文件时,可以用 security.txt 生成器,填写联系方式、过期时间和披露政策,再部署到 .well-known/security.txt