展开本页目录
开始前准备什么
- 使用IBM官方Granite base与对应adapter;只制作输入和校验可以离线免费进行,真正推理需可承担模型内存的本地/自有环境。
- Granite Switch当前仓库要求Python3.11+、PyTorch2.11+;vLLM路径还有CUDA/Transformers兼容要求,不承诺Mac可直接跑同一CUDA栈。
- 官方代码与所列adapter采用Apache2.0;按具体base card核对许可与版本,目标推理未执行,不编造评分和速度。
- 列出待验目录
- 核对覆盖文件
- 普通库走身份验证
- Decision走证书验证
- 核对签名者与状态
- 做篡改负例
- 交付可信材料清单
1. 列出待验目录
分别选择requirement-check的3B LoRA目录与Decision8B LoRA目录。
只验证目录清单不需要加载推理模型,但真实签名文件必须来自官方发布。
2. 核对覆盖文件
每目录检查adapter_config.json、adapter_model.safetensors、io.yaml与model.sig。
缺任何文件先记录,不能凭模型能启动就当来源完整。
3. 普通库走身份验证
按官方model_signing verify sigstore命令使用[email protected]和官方identity provider。
身份字符串不得从不可信下载内容里自动照抄当信任根。
4. Decision走证书验证
按Decision README的certificate模式与公开根证书执行。
普通Sigstore命令不适用于Decision独立签名流程。
5. 核对签名者与状态
保存实际stdout、退出码和README所列预期身份/指纹比对。
只有Verification succeeded字样还要确认链和签名者符合预期。
6. 做篡改负例
复制小配置文件到隔离目录再改一处,验证应失败。
不改官方原始缓存、不传播篡改后的权重作为正常模型。
7. 交付可信材料清单
保存来源revision、摘要、实际验证记录和负例结果。
本稿未下载验证,签名状态为not_run,不制造成功日志。
下载本课材料并开始操作
练习包包含本课的具体输入、可编辑数据、正反样例与七步说明。index.html 可离线查看原件和验收参考,actual-results.csv 用于记录你实际操作后的结果。
怎样确认已经完成
- 两类签名流程明确区分。
- 验证覆盖目录完整。
- 篡改负例失败且原缓存保留。
常见问题
下载到model.sig就算可信了吗?
还需要按正确流程验证目录与签名者。文件存在只说明下载了一份签名,不能证明对应内容未被修改。
Decision为什么不能用同一条Sigstore命令?
官方注明Decision采用独立证书流程。本课按其README使用certificate验证,并核对签名链与预期指纹,不把其他adapter的命令机械套用。



