Show HN: 为你的基础设施(包括AI代理配置)提供Git日志
statedrift 是一个开源工具,通过将 Linux 主机的网络、软件包、服务等状态记录到防篡改的哈希链中,实现了基础设施配置的版本控制和审计。它支持快照、差异比较、安全分析和完整性验证,无需外部依赖或云端服务。
statedrift 是一个全新的开源工具,旨在为基础设施配置提供类似 Git 的版本控制体验。它通过一个单一的 Go 语言二进制文件,定期对 Linux 主机的实际状态进行快照,包括网络接口、路由表、内核参数、已安装软件包、系统服务、用户账户、防火墙规则等,并将这些快照链接成一个防篡改的哈希链。
该工具解决了运维和审计中的一个典型痛点:当事故发生时,团队很难就配置状态达成一致,而传统的审计流程依赖截图和电子表格,这些材料容易被篡改。statedrift 提供了一种可验证的、不可否认的证据记录方式。每次快照都会被 SHA-256 哈希链锁定,任何对历史快照的修改都会破坏链条的完整性,并被验证命令检测出来。
statedrift 的核心操作非常简洁。使用 statedrift init 初始化存储目录并生成创世快照,之后通过 statedrift snap 捕获当前状态。statedrift diff HEAD~1 HEAD 可以对比两次快照的具体变更,而 statedrift analyze 则会运行内置规则引擎,评估变更的安全风险等级。例如,它可以检测到内核参数更改、新用户账户创建等可能表明入侵或配置漂移的事件。
该工具的设计强调隐私和独立性。所有数据都存储在本地,无需连接任何云端服务。它不收集网络数据包内容,也不修改系统状态。statedrift 定位为证据工具而非监控工具,专注于回答“在某个时间点系统的真实状态是什么,并且你能证明它吗?”这个问题。
除了基础的主机状态收集,statedrift 还提供了一系列可选收集器,用于扩展监控范围。例如,containers 收集器可以跟踪容器运行时的变化,gpu 收集器监控 NVIDIA GPU 信息,而 harness 收集器则专门针对 AI 编码代理的配置文件(如 Claude Code 的 settings.json 和 .mcp.json)进行版本控制。这对于检测 AI 代理权限或工具的静默变更尤为有用。
statedrift 的安装非常简单。Linux 用户只需执行一条 curl 命令即可下载并安装,也支持从源码构建。安装后,在 60 秒内即可完成首次快照和差异比较。该项目在 GitHub 上开源,采用 BSD 许可证,社区可以自由使用和贡献。总之,statedrift 为那些需要严格变更记录和审计能力的环境提供了一个轻量级、可信任的解决方案。