Asset Integrity · Single Node · Self-Verifiable

不承诺更聪明,
只承诺可验证。

Integrity Guard 为单机关键资产提供可自证的完整性证明:四态锁、链式哈希、签名凭据。 你改一个字节,它当场告诉你哪一位错了、错在哪、证据是什么。不需要信任厂商,只跑十条命令。

零外部依赖 · 纯 Python 标准库 · 单文件可审计 · 只绑回环地址 · 只读不自动修复
01

为什么是「可验证」,而不是「更智能」

智能类产品的能力主张无法被客户独立证伪;完整性类产品的主张可以被客户在五分钟内复现或推翻。后者的信任成本低一个数量级。

多数安全产品的表述
  • 「我们的模型更安全」——无法证伪
  • 「硬件级不可绕过」——在无 TEE 的机器上是空话
  • 「实时智能防护」——客户无法独立复现
  • 效果依赖厂商后台,信任只能靠关系
Integrity Guard 的表述
  • 「文件被改过,第 3 位哈希不符,这里是 diff」——可当场复现
  • 「签名由这把公钥产生」——公钥可离线验
  • 「它不声称硬件级防护」——边界写在产品文档里
  • 效果由客户本机命令决定,不依赖厂商后台
02

四项能力,各自可独立验证

01 / LOCK

四态锁

按资产可变性分四种语义:不可变、版本可变、仅追加、根锚。语义写错会立刻在校验里暴露,不会静默放过。

02 / CHAIN

链式哈希

每个熔断位绑定上一位的哈希。改中间任何一条记录,链就断,而不是只报一处异常。

03 / SIGN

签名凭据

Ed25519(RFC 8032)纯 Python 实现,用官方向量自测。可对度量根 + 随机数签名,第三方离线可验。

04 / DRIFT

漂移守护

对一组文件算聚合根,与基线比对,输出具体漂移清单。只报告,不写回、不自动修复。

语义适用资产判定规则
IMMUTABLE配置、策略、公钥全文哈希必须不变;变了即 DRIFT
VERSIONED会升级的代码与规则集允许演进,但必须登记新位并以 supersedes 关联,旧位显示 SUPERSEDED_PASS
APPEND_ONLY台账、审计库(SQLite)锁历史前缀的 max_seq 与前缀哈希;尾部追加放行,行数回退即 TRUNCATED
ROOT_ANCHOR聚合根文件只锁根字段,避免聚合账本自我引用导致永远误报
03

可自测验证清单(客户侧,无需我们参与)

十条命令,五到十分钟。前六条证明它能检出篡改,后四条证明它没有偷偷放水。标红的是负向用例——只会报 PASS 的守护器没有价值。

#动作预期结果
1python3 selftest.pyRESULT: ALL PASS(含 RFC 8032 三组官方向量)
2ig_cli.py add <file> IMMUTABLE输出 efuse_id 与 registry_root_hash
3ig_cli.py verifyVERIFY: PASS
4改动该文件一个字节,再 verify该位 ok=false,detail 含 DRIFT
5add <db> APPEND_ONLY,追加 10 行,再 verifyprefix_ok rows:50→60 (+10),判定 PASS
6把该库重建为 20 行,再 verifyTRUNCATED(rows 50→20),判定 FAIL
7手工改 license.json 的 edition 字段状态变 invalid / signature_invalid
8把 trial_state.json 的 first_run 改成 40 天前状态变 trial_expired
9bash install.sh --verify-onlySIGNATURE_OK + 包哈希一致
10篡改包里任意一字节,再 --verify-only哈希不符,退出码非 0,不落盘

第 4、6、7、8、10 条任何一条没有按预期失败,说明这个版本不该被采购。

04

30 天免费试用

安装即进入试用态,不需要填表。全部只读端点可用;试用与授权状态独立存放,重装不重置。需要一把签名的正式许可时,用机器指纹在线申领。

安装即计时

首次启动写入 trial_state.json,30 天,无人工介入。

全功能只读

measure / bits / prove 全部可用,不做功能阉割。

重装不重置

状态目录独立于安装目录,升级与回滚都不清除试用剩余天数。

到期后取指纹申领

用 /api/ig/pubkey 的 key_fp 作为设备指纹,签发对应授权文件即可转正。

用机器指纹申领签名许可 →
05

一键部署:先验签,再验包,最后才解包

安装器内嵌发布公钥,用纯 Python 验 Ed25519 签名,不依赖 openssl。信任链顺序写死在脚本里,任何一步失败立即退出,绝不落盘。

# 安装(会自动 30 天试用计时)
curl -fsSL https://www.huodouai.com/product/integrity-guard/install.sh | bash

# 只验证包,不安装(采购前建议先跑这条)
bash install.sh --package ig-1.0.0.tar.gz --manifest manifest.json \
     --sig manifest.sig --verify-only

# 登记要守护的资产
python3 /opt/integrity-guard/ig/ig_cli.py add /etc/nginx/nginx.conf IMMUTABLE
python3 /opt/integrity-guard/ig/ig_cli.py baseline
python3 /opt/integrity-guard/ig/ig_cli.py verify

# 回滚到上一版(不还原授权状态)
bash install.sh --rollback

安装器约定:覆盖前整份备份为 <prefix>.prev;端口从 8790 起自动顺延;有 systemd 用 systemd,无 systemd 降级后台进程并明确告知「非常驻」;不以 systemctl 返回 0 判定成功,改为轮询健康端点。

06

明确不声称的四件事

边界不清的产品,最后都死在边界上。以下四条写在文档里,也写在合同里。

不做硬件级承诺

无 TEE/TPM 的机器上,root 可改文件也可改本服务。它保证「改动会被发现」,不保证「改不动」。

不自动修复

发现漂移只报告。自动写回会掩盖事故,也会破坏证据链。

不做多租户与 HA

单客户单机。要集群一致性,请另配编排层。

不判断业务对错

只判断资产有没有变。规则对不对,是裁决内核的职责,不是这一层的。

主页·流水线·产品·状态