security - 将 GH_TOKEN 与 electron-builder 一起用于发布/更新应用程序是否存在任何安全问题?
问题描述
我正在开发一个使用 Electron 构建的商业桌面应用程序,我们的代码库位于 GitHub 私有存储库中。我们正在尝试使开发人员能够将二进制文件发布到 GitHub 版本,并使用 electron-updater 自动更新。
通过谷歌搜索和试验,我得到了这个工作,但我需要公开一个具有 read:packages、repo、write:packages 权限的 GH 令牌。由于 electron-builder 和 electron-updater 的工作方式,此令牌在安装后以明文形式在 .yml 文件中公开。
我的问题是暴露这个令牌有什么安全影响?我能想到的最糟糕的情况是让恶意用户推送虚假更新,这似乎并没有那么糟糕,因为他们只能根据我的理解推送草稿版本。
解决方案
具有范围的令牌具有repo
对您的存储库的完全读写访问权限,并且可用于使用为其颁发该令牌的用户的完全权限从您的存储库中获取和推送到您的存储库。因此,如果您将该令牌提供给其他人,他们可以像您一样对存储库进行操作。这样的令牌还授予许多其他 API 权限。
一般来说,最好在 CI 系统中构建发布,并通过安全存储在 CI 系统的秘密存储中的令牌创建和上传发布。您绝对不想让除您或受信任系统之外的任何人访问您的 GitHub 令牌。
推荐阅读
- javascript - 日期验证的正则表达式,以 mm/dd/yyyy 为单位,应小于当前日期
- .net - 如何在 WPF 网格(.NET5)中以编程方式在顶部添加新行
- google-chrome-extension - 与本地开发测试相比,Chrome 扩展程序显示的字体大小不正确
- nginx - 如何在 Kubernetes 中扩展 Web 应用程序?
- javascript - 在 NodeJS 中拆分/剪切音频文件
- go - 如何将布尔值从真更改为假,反之亦然
- ruby-on-rails - Rails 重构表单视图
- kubernetes - HostOutOfMemory 警报正在普罗米修斯的松弛通道中触发
- django - 如何使所有模板都可以使用 url 变量
- kubernetes - 使用 terraform 在 kubernetes 上计划重启