标准答案

  1. 锁定直接和间接依赖,使用可信索引、哈希校验和可追溯构建。
  2. 扫描漏洞和许可证,审查新包维护状态、安装脚本、网络和文件权限需求。
  3. 构建环境最小权限、隔离密钥,生产镜像不保留包管理缓存和源码秘密。
  4. 升级先在隔离环境测试启动、协议、性能和回滚,再灰度发布。

题目解析

供应链治理要覆盖解析、下载、构建、发布和运行时,而不只是执行一次漏洞扫描。锁文件和哈希可以保证输入可复现,可信索引和包来源记录可以帮助追溯;SBOM、许可证和漏洞报告则帮助判断一个制品实际带入了哪些间接依赖。

包的风险还包括安装脚本、动态下载、维护者账号被盗和构建环境被篡改。构建过程应使用短期凭据、最小权限和隔离网络,生产运行时不需要的编译工具、包缓存和源码秘密不应进入最终镜像。高风险依赖升级要有来源审查、行为测试和回滚制品。

漏洞等级不是唯一决策条件:是否可达、是否被实际调用、是否能通过配置缓解和是否已有补丁都需要一起判断。无论选择接受、升级还是替换,都应留下可审计的版本和验证结果。

常见误区

  • 误区:生产直接安装 latest。改正:在受控构建环境解析和测试版本,发布带摘要的制品。
  • 误区:只扫描直接依赖。改正:扫描完整依赖图和最终镜像,并把运行时可达性纳入判断。
  • 误区:CI 安装依赖时使用生产长期 token。改正:使用短期、最小权限凭据,隔离构建网络并避免把秘密写入日志或镜像层。

作者信息