安全指南¶
这是在使用 Conan 时,关于安全方面的、不完整且初步的、非详尽的建议。
避免在 URL 中使用令牌和密码,因为它们很容易泄露在日志中。例如,如果 recipe 的
source()方法实现了git clone,请不要在 URL 中使用 git 凭证,而是使用系统中配置的 ssh-keys。下载带有tools.get()和tools.download()的 tarball 时也请注意。一般来说,开发人员在服务器上只应拥有读取权限,用于下载和安装包。只有 CI 应该拥有写入/上传权限。作为例外,可以使用一些“沙盒”仓库,开发人员可以用它来与其他同事共享包以进行调试和测试,但这个“沙盒”仓库应与正常的测试和生产仓库隔离。
在 CI 中使用权限受限的令牌。如果一个作业只需要读取权限,则使用仅具有读取权限的令牌。将写入凭证专门用于 CI 管道的“上传”部分。
使用
conan audit启用依赖项漏洞检查,请参阅 conan audit 文档在许多生产场景中,强烈建议完全掌控依赖项(包括第三方依赖项)的软件生命周期(SWLC)。因此,在生产环境中使用 ConanCenter 包 部分建议从源代码构建自己的二进制文件,并将这些二进制文件存储在自己的私有服务器上,而不是直接从 ConanCenter 下载包。 本地 recipe 索引功能 就是为了帮助完成这个过程而设计的。
为了避免因互联网中断和可能的互联网下载的 tarball 被篡改而受到干扰,可以使用 备份源 功能。