BabaVictim/safe-site-preflight

GitHub: BabaVictim/safe-site-preflight

零依赖的 GitHub Action 与 Node.js CLI,针对单个公开网站 URL 执行有边界的只读预检,覆盖 HTTPS、响应头、HTML 元数据及基础性能指标。

Stars: 0 | Forks: 0

# Safe Site Preflight [![测试](https://static.pigsec.cn/wp-content/uploads/repos/cas/85/85071ffc7b2704f5dcf6e80efb406c5544d1ada1f5bd6b41744b52161d50b5f8.svg)](https://github.com/BabaVictim/safe-site-preflight/actions/workflows/test.yml) 一个零依赖的 GitHub Action 和 Node.js CLI,用于针对单个公开网站 URL 执行有边界的只读检查。 这是一次发布前的预检,而不是漏洞扫描器。 ## 使用 Action ``` permissions: contents: read steps: - uses: BabaVictim/safe-site-preflight@v1 with: url: https://example.com/ ``` Action 接受以下参数: - `url` — 必填,端口 80 或 443 上的公开 HTTP(S) URL。 - `json` — 可选,设为 `"true"` 可输出机器可读的 JSON;默认为 `"false"`。 当审计完成且没有未通过的检查时,该步骤即视为成功。警告不会 导致步骤失败。无效或不安全的目标会返回退出码 `1`;完成审计但有 未通过的检查会返回退出码 `2`。 对于不可变的依赖,请固定完整的 commit SHA,而不是使用可变动的 `v1` 标签。 ## 运行 CLI 无需安装步骤或运行时依赖: ``` node tools/site-preflight.mjs https://example.com/ node tools/site-preflight.mjs --json https://example.com/ ``` 运行 `node tools/site-preflight.mjs --help` 以查看资源限制选项和 完整的退出码文档。 ## 检查项目 审计报告包括: - HTTPS 使用情况、最终状态码以及有边界的重定向。 - DNS、首字节、下载和总请求时间。 - HTML content type 以及可见的响应截断。 - Title、description、canonical URL、viewport、language 和 H1 数量。 - 轻量级的表单标签和图片 alt 文本启发式检查。 - HSTS、CSP、`nosniff`、frame protection、Referrer Policy 和 Permissions Policy headers。 这些是实用的启发式规则,并非对可访问性、SEO、 性能或安全性的认证。 ## 网络安全性 Action 仅接受标准端口的 HTTP(S),拒绝凭据和 localhost 风格的名称,并阻止私有、环回、链路本地、文档、 多播和保留的地址范围。每个目标和重定向在连接前都会被 解析和验证。经过验证的 DNS 应答会被固定,以 降低重绑定风险。 请求不使用任何 cookies 或凭据。重定向、响应字节数和耗时 都是有边界的。该工具绝不会提交表单、执行页面脚本、爬取 链接、探测端口或向目标写入数据。 ## 测试与来源 ``` npm ci npm test ``` 测试使用 Node 的内置运行器,并且不访问网络。这个 专属仓库是从以下经过审查的实现中提取出来的: [`BabaVictim/website-repair-sprint@14554b9`](https://github.com/BabaVictim/website-repair-sprint/commit/14554b97953c8c94dc2a099611957d4fff8d982d)。 安全报告应提交至 [私人安全通报](https://github.com/BabaVictim/safe-site-preflight/security/advisories/new), 而不是公开 issue。 需要一份人类可读的公开网站报告或固定范围的修复?请参阅 [支持比特币支付的网站预检与修复服务](https://babavictim.github.io/website-repair-sprint/#price)。 ## License MIT。
标签:GitHub Action, GNU通用公共许可证, MITM代理, Node.js, SEO检查, Web审计, 前端检查, 数据可视化, 自定义脚本