现在都用什么软件做网站,logo在线设计生成器免费下载,校本教研网站建设方案,网站用户管理系统TheHackerNews网站消息#xff0c;软件供应链安全公司 JFrog 的网络安全研究人员称#xff0c;他们发现了一个意外泄露的 GitHub 令牌#xff0c;可授予 Python 语言 GitHub 存储库、Python 软件包索引#xff08;PyPI#xff09;和 Python 软件基金会#xff08;PSF软件供应链安全公司 JFrog 的网络安全研究人员称他们发现了一个意外泄露的 GitHub 令牌可授予 Python 语言 GitHub 存储库、Python 软件包索引PyPI和 Python 软件基金会PSF存储库的高级访问权限。
该令牌属于 Python 软件基金会的基础设施主管并且意外地包含在一个编译的二进制文件中该文件作为容器镜像的一部分发布在 Docker Hub 上。
JFrog 的研究人员在一份报告中写道“这次的情况比较特殊如果令牌落入不法分子之手他们可能向 PyPI 软件包甚至 Python 语言本身注入恶意代码类似于用恶意软件包替换所有 Python 软件包其潜在后果难以估量。”
因此理论上攻击者可以利用管理员权限通过毒化与 Python 编程语言核心或 PyPI 软件包管理器相关的源代码策划大规模的供应链攻击。
这一事件表明仅从源代码中清除访问令牌某些开发工具会自动这样做不足以防止潜在的安全漏洞。由于自动构建过程和开发人员的失误敏感凭据也可能被包含在环境变量、配置文件甚至二进制文件中。
令牌泄漏
PyPI 管理员兼 Python 软件基金会 (PSF) 基础设施主管 Ee Durbin 撰写了一份事件报告解释了泄露事件发生的原因。该事件涉及 Durbin 自己账户的访问令牌由于他在组织中的角色该账户拥有管理权限。
2023 年初Durbin 正在开发 cabotage-app这是 PSF 开发的一款基于 Docker 的工具用于在 Kubernetes 集群上部署 PyPI 和相关服务。在开发代码库的构建部分时他不断遇到 GitHub 对匿名访问实施的 API 速率限制。
在Durbin 所谓的 偷懒行为 中他决定在本地修改源代码为自己的账户添加一个访问令牌以绕过默认的速率限制更快地完成工作。这是一个快速解决方案是配置本地主机 GitHub 应用程序来完成构建而不是使用 GitHub API 的替代方案。
Durbin 知道在源代码中添加个人访问令牌 (PAT) 并不安全但这种更改只是针对他的本地代码库副本从未打算远程推送。事实上自动构建和部署脚本应该恢复本地变更从而清除令牌。
但 Durbin 没有意识到的是作为构建过程的一部分而生成的 .pycPython 编译字节码文件中也包含了令牌而这些存储在 __pycache__ 文件夹中的文件并未配置为从上传到 Docker Hub 的最终 Docker 镜像中排除。
PyPI 安全团队在 6 月下旬收到 JFrog 的通知后撤销了该令牌并审查了所有 GitHub 审计日志和账户活动以查找该令牌可能被恶意使用的迹象。目前没有发现恶意使用的证据。包含令牌的 cabotage-app 版本于 2023 年 3 月 3 日发布在 Docker Hub 上并于 2024 年 6 月 21 日即 15 个月后被移除。
Durbin 写道 Cabotage 现在完全是自托管的这意味着 cabotage-app 的构建不再使用公共注册表部署构建仅从源代码的清洁检查中启动。这减少了本地编辑进入开发环境之外的镜像构建的情况同时也消除了发布到公共注册表的需要。”
Durbin 表示除非万不得已他今后将避免为自己的账户创建个人访问令牌。除了这一案例之外这种长效令牌并没有在其他任何情况发挥作用。
关于此次事件Durbin 认为这是一个很好的提醒要为 API 令牌设置严格的过期日期如果需要的话像对待源代码一样对待 .pyc 文件并在自动化系统上只从干净的源代码执行构建。
参考来源
https://www.csoonline.com/article/2515722/python-github-token-leak-shows-binary-files-can-burn-developers-too.html
https://thehackernews.com/2024/07/github-token-leak-exposes-pythons-core.html