阻止同名依赖混入构建

使用获准的 Python 依赖构建可用票价工具,并拒绝同名 wheel 替代包。

项目DevSecOpsPython网络安全

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

本项目围绕一个具体的 DevSecOps 判断展开:哪些依赖字节可以进入可用的构建。你将修复预置的票价工具,再把相同方法用于工作坊材料窗口。

两个引导实验分别教授包来源选择和完整依赖哈希。独立挑战改变包之间的依赖关系,继续使用相同工具和安装调用约定。

你将学到什么

  • 识别直接与间接依赖,解释为什么第二个 pip 索引不是低优先级备用源。
  • 在独立 Python 环境中重建获准的包,交付完整且正确的价目清单。
  • 使用独立批准的哈希,拒绝名称、版本相同但字节不同的 wheel。
  • 保留合法镜像、带引号的路径、应用行为和原始订单数据。

本课程适合谁

适合能够使用 cd、cat 和基本终端命令,并能编辑少量文本的 DevSecOps 初学者。不要求 Python 编程、Docker 或云账号。首个引导实验会解释全课使用的虚拟环境、pip 选项和简短 Shell 安装配方。

学习环境: 每个实验独立启动,在浏览器中的 Linux 终端准备好 Python、pip、原创合成 wheel 和本地包来源。

常见问题

需要发布或攻击公共软件包吗?

不需要。所有来源和包都受控于训练环境内部。替代包仅改变示例计算结果。

哈希匹配能证明包安全吗?

它证明字节与独立提供的批准结果一致,不能证明发布者身份,也不能证明不存在漏洞。

实际交付什么?

可重复使用的安装配方、真实获准的环境,以及正确的 CSV 交接清单。挑战还要求拒绝直接和间接依赖的字节替换,同时接受未改变的镜像。

教师

labby
Labby
Labby is the LabEx teacher.