我们在中央服务器上运行gradle构建,该服务器缓存依赖项,甚至在项目之间共享它们。
我们担心恶意作业可能会更改伪造作业的依赖关系。
是否有一种方法可以通过我们使用的依赖服务器上的本地副本来验证本地副本的哈希? 谢谢!
答案 0 :(得分:0)
有一个不错的Gradle插件,名为Gradle Witness,可以解决此问题。
当gradle检索到工件时,它还将检索md5sum和sha1sums,以验证它们是否与所计算出的文件的md5sum和sha1sum相匹配。显然,问题在于,如果有人能够破坏远程Maven存储库并更改jar / aar依赖项以包含一些恶意功能,他们也可以轻松更改存储库发布的md5sum和sha1sum值>
此gradle插件仅允许项目作者静态指定其使用的依赖项的sha256sum。
此外,请查看this SO question有关依赖项真实性的信息,它也会引起您的兴趣。