一个 PowerShell 封装脚本,可对包含 KAPE 采集的文件夹批量运行 Hayabusa,每台主机运行一次,并将结果汇总为单一的跨主机分类视图。
Hayabusa 本身已支持通过 -d 处理整个目录,其 HTML 摘要也会按计算机拆分结果。但面对一个装满 KAPE 采集的文件夹,仍有两项工作需要手动完成。每个 ZIP 都必须先解压,每个磁盘镜像都必须先挂载,Hayabusa 才能读取;而对所有主机运行一次只会得到一份合并输出,没有每台主机各自的报告或时间线。本工具正是为此而生。将其指向一个每台主机对应一个条目的文件夹,你就能为每台主机获得 Hayabusa 的 HTML 告警报告、CSV 时间线和日志,外加一个仪表板,显示哪些主机问题最严重,以及哪些规则在哪些主机上触发。
完整使用参考:docs/USAGE.md
对八台主机运行后的仪表板,严重性下限设为 medium:

同一次运行期间的控制台输出:

Computer 字段读取主机名,因此即使 KAPE 以驱动器命名的松散输出也能归入正确的主机。预发布版本。已在 Windows 上针对真实的 Hayabusa 4.1.0 以及 KAPE 镜像和 ZIP 运行过,测试套件在 CI 中于 Windows PowerShell 5.1、Windows 上的 PowerShell 7 以及 Linux 上的 PowerShell 7 上运行。有两项行为仍需合适的证据来确认,列在 Windows 上尚未确认的行为 下。在报告中依赖其中任何一项之前,请先查看该列表。
hayabusa.exe update-rules,并在项目结束前不要改动规则,以确保每台主机都使用同一套规则进行检查。克隆仓库,或从 GitHub 下载 ZIP 并解压:
git clone https://github.com/rorywag/Hayabusa-Bulk-Runner.git
将 lib 文件夹与两个脚本放在一起,因为脚本会从其中加载所有内容。Windows 会将从互联网下载的 ZIP 中的文件标记为来自互联网。下面显示的 Process 作用域执行策略已允许它们,因此无需解除阻止。
.\Invoke-BulkHayabusa.ps1 -InputRoot D:\Cases\Case01\KAPE -OutputRoot D:\Cases\Case01\Output -HayabusaPath D:\Tools\hayabusa\hayabusa.exe
运行过程中每台主机打印一行,然后输出简短摘要以及查看位置:
[1/4] DC01 ... Completed, 12 detections
[2/4] FS02 ... Completed, 6 detections
WARNING: [3/4] WS03 ... Failed: Hayabusa exited with code 2. See D:\Cases\Case01\Output\WS03\WS03_hayabusa.log. No CSV was written.
[4/4] WS04 ... skipped, already Completed
Done: 3 processed, 2 completed, 0 completed with errors, 1 failed, 1 skipped.
Output is in D:\Cases\Case01\Output. Open triage_dashboard.html there to start triage.
在新的 PowerShell 窗口中,脚本可能会被执行策略阻止。以下命令仅对该窗口允许执行,不会更改机器上的任何设置:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\Invoke-BulkHayabusa.ps1 -Help 或 -h 会打印简短的使用摘要。完整参数列表、示例、输入输出模型以及项目配置,请参见 docs/USAGE.md。
证据始终只被读取。
OutputRoot\_diff 下挂载一个差异磁盘,以证据镜像作为其父盘。Windows 会将日志重放到子盘中,父盘仅被读取,已在 KAPE 输出上验证,父盘的哈希值在操作前后保持一致。OutputRoot\_work 下的工作副本。ZIP 本身仅被读取。_work、_mnt 和 _diff 文件夹内删除,以及在该主机重新运行前删除该主机自己之前的报告和时间线。如果卸载失败,其后的所有内容都会保留原样,错误信息会说明仍存在什么。docs/USAGE.md 涵盖了其余内容:
关于如何私下报告漏洞,请参见 SECURITY.md。
MIT。参见 LICENSE。
本工具是独立的,与 Yamato Security 无关联,也未获其认可。它以独立外部程序的方式运行 Hayabusa,不包含其任何代码。Hayabusa 由 Yamato Security 在 GNU AGPL-3.0 下发布,其检测规则则遵循各自的许可证。请从 Yamato Security 下载 Hayabusa 及其规则。