[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f30sxvy46tnjbp":3},{"code":4,"message":5,"data":6,"timestamp":31},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":13,"age_days":14,"hn_threads":15,"one_liner":16,"summary_md":17,"topic":18,"github_topics":21,"license":27,"homepage":28,"updated_at":29,"history":30},"BastionPHP\u002FBastion",13,"Evidence-based PHP security assessment: patch verification, intrusion tracing, and offline reports.","Go",57,0,23,3,[],"在本地核查服务器上各 PHP 构建是否真的已修复，并追踪入侵痕迹。","如果你手上有一台跑着多个 PHP 构建的主机，需要确认它们对一个具体漏洞是否真的打了补丁，而不只是看 `php -v` 的输出，Bastion 值得花时间看一眼。它仍处于 pre-release 阶段，没有发布二进制，内置漏洞库范围也很窄，应当当作调查辅助工具，而非通用扫描器。\n\n## 解决什么问题\n\n运维听到 PHP 漏洞消息时，通常的做法是跑一下 `php -v` 或查包管理器，然后默认版本号能反映真实状态。这并不可靠：发行版可能在不改上游版本号的情况下回填修复，主机面板会在系统 PHP 之外再装一套，而某个 worker 进程可能仍在运行磁盘上已被替换的旧程序。Bastion 把这一步换掉：它盘点包管理器、面板、容器和运行中进程里的 PHP 构建，再结合上游发布、包版本、厂商重建日期和补丁指纹，判断每个构建是否已修复。结果是带证据的逐项结论，还可以顺带追踪入侵迹象，并把两者打包成离线 HTML 报告。\n\n## 有什么不同\n\n核心机制是“先证据、后结论”，而不是简单比对版本号。每个构建会得到 `fixed`、`vulnerable`、`likely-vulnerable` 或 `unknown`，证据不足时工具会刻意保留 `unknown`，而不是把缺失信息变成一张“干净”的通行证。CLI 和浏览器端检查共用同一套判定规则，README 称 Go 与浏览器实现共享测试向量；漏洞数据与痕迹规则都签入仓库，[判定逻辑](https:\u002F\u002Fgithub.com\u002FBastionPHP\u002FBastion\u002Fblob\u002Fmain\u002Finternal\u002Fadvisory\u002Fevaluate.go)可直接审阅。\n\n代价在于范围和定位。Bastion 只检查、只报告，不打补丁、不重启服务、不删文件、不隔离发现，修复仍需你自己做。它也明确不是通用的 PHP 依赖扫描器：内置库覆盖的是 PHP2Shell（CVE-2026-109618 与 CVE-2026-109619），作者也说明发现某个构建并不代表存在厂商修复证据。README 还提醒，构建已修复不能证明此前没有发生过入侵。\n\n## 谁值得试\n\n适合：Linux 上的系统管理员或应急响应人员，有具体理由排查 PHP2Shell 暴露面，并且希望拿到离线 [示例报告](https:\u002F\u002Fwww.bastionphp.com\u002Fdemo\u002Freport.html) 用于交接。不适合：想要通用 PHP 漏洞扫描器、自动修复，或在 Windows 上用 CLI 的人。\n\n## 使用条件与边界\n\n需要在 Linux 或 macOS 上用 Go 1.24+ 和 Make 从源码构建，目前没有已发布的二进制。提升权限可以扩大对其他用户进程、容器文件系统和系统日志的覆盖，但 README 说明对自己账户可读的文件可以不用 `sudo` 起步。覆盖并不均匀：Linux 支持最广，进程命名空间和 `\u002Fproc` 检查是 Linux 专有，macOS 构建没有这些检查。发现某个构建与拿到有证据支持的补丁结论是两回事。导出的报告还可能包含主机名、路径和匹配片段。\n\n## HotRepo 点评\n\nHotRepo 最早在 2026-10-24 记录到该项目；在 2026-10-25 的新项目榜（不是总榜）上它以 57 个总星数位列第 14。这只是一个成立两天的仓库的快照，不是增长数据，现有记录也不足以判断热度能否延续。采用前应先核对 [漏洞数据](https:\u002F\u002Fgithub.com\u002FBastionPHP\u002FBastion\u002Fblob\u002Fmain\u002Finternal\u002Fadvisory\u002Fdata\u002Fphp2shell-2026.json) 是否覆盖你主机上的 PHP 版本。",{"slug":19,"name":20},"security","安全",[22,23,24,25,19,26],"golang","incident-response","php","sarif","vulnerability-scanner","MIT","https:\u002F\u002Fwww.bastionphp.com\u002F","2026-10-25T03:13:57Z",[],1792915295]