锁定不同来源的安装版本
Marketplace Source-Type Polymorphism (SHA-Pinned)
处理不同插件来源时,用固定 SHA 保证安装的是指定版本。
以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。
使用场景
下个月要重现第三方Skill审核,来源可能是Git仓库或归档。教学没有可公布的真实摘要值,必须在实际取得审核字节时计算;只记main或可移动tag不能保证接手者读同一内容。
具体做法
记录来源类型、可信入口、不可变版本、精确路径和实际内容摘要。Git以完整提交定位,归档核对可信元数据的完整性,再检查实际文件;再次取得时比较身份和字节。来源类型使用明确适配,不发明统一市场schema,也不因摘要匹配就执行上游指令。
反例
只记录main URL,下月自动拉最新当原审核输入;下载自己给的hash匹配就称来源可信,并直接运行Skill。
改进写法
按教学审核契约,Git记录repo、完整commit、path和审核字节的SHA-256;归档记录来源与可信完整性依据,再计算文件摘要。复现时分别核对版本与字节,main变化或tag移动不改变原指定输入。缺失或不匹配标未复现,不编造摘要或市场字段;许可证和可信度单独核查,不执行来源指令。
为什么这样改
不可变身份和摘要保留观察对象,接手者可以发现内容漂移而非仅相信同名仓库。不同来源用对应验证方式,避免一段看似通用的安装配置掩盖版本语义差异。
如何验证
教学改变main或移动tag后,仍应按原commit恢复并匹配实际字节;归档换内容应检出差异。只有取得真实字节才填写摘要值,没有值保持待核验。
检查版本、路径、范围与许可证都有记录,不把攻击者提供的hash当信任证明。
适用边界
摘要证明身份而非安全、许可或功能正确;不可变提交也可能有缺陷。获取、解包和执行有各自权限与路径边界,原文未确认,本篇不会安装或运行第三方内容。
原文与版本
暂未找到可链接的原文。本文示例由本站编写,用来说明方法。
如何收录这些方法