事件报告:GitHub个人访问令牌泄露

事件报告:GitHub个人访问令牌泄露

💡 原文英文,约900词,阅读约需4分钟。
📝

内容提要

2024年6月28日,Python软件基金会收到了一份关于泄露的GitHub个人访问令牌的报告。令牌已撤销,未发现恶意活动。开发人员在本地文件中添加了访问令牌以解决GitHub API速率限制问题。提醒设置API令牌过期日期,将.pyc文件视为源代码。

🔎

延伸解读

本地开发中的令牌硬编码风险

开发者为了绕过GitHub API的匿名速率限制,在本地代码中硬编码了个人访问令牌。这种图方便的做法虽然未打算提交到远程仓库,但令牌仍可能通过其他途径泄露。文章提醒,即使是在本地环境中,也不应随意硬编码敏感凭证,因为构建或共享过程可能意外暴露它们。

构建过程中.pyc文件的泄露隐患

由于应用在共享卷上运行,包含未提交更改的.pyc文件被保留下来。构建时,.dockerignore未排除__pycache__或*.pyc文件,导致这些编译文件被打包进镜像并推送到公共注册表。这揭示了.pyc文件可能包含源代码中的敏感信息,应被视为源代码一样进行安全处理。

缓解措施:自托管与令牌管理

事件后,cabotage-app改为完全自托管,构建不再使用公共注册表,且从干净源代码进行。开发者撤销了唯一的GitHub访问令牌,并决定未来避免创建长期令牌,必须使用时确保设置到期日期。这些措施降低了本地修改进入生产构建的风险,并减少了令牌泄露的可能。

社区协作在开源安全中的作用

JFrog团队在Docker Hub上扫描发现了泄露的令牌并报告给Python软件基金会。文章感谢了安全研究社区的努力,强调PyPI依赖社区检测恶意软件和泄露凭证。这种合作有助于提升开源生态的整体安全性,表明安全维护需要多方共同参与。

❓

Q&A

GitHub个人访问令牌泄露的事件是什么时候发生的?

事件发生在2024年6月28日。

此次令牌泄露是否导致了恶意活动?

未发现恶意活动。

开发人员是如何泄露GitHub访问令牌的?

开发人员在本地文件中硬编码了访问令牌,未考虑到.pyc文件的安全性。

为了防止未来的令牌泄露,开发者采取了哪些措施?

开发者现在完全自托管应用程序,并确保令牌有到期日期。

为什么开发者没有考虑.pyc文件的安全性?

开发者认为.pyc文件是编译后的字节码,不会泄露敏感信息。

这次事件对开源社区有什么启示?

强调了设置API令牌到期日期和将.pyc文件视为源代码的重要性。

🏷️

标签

➡️

继续阅读