护城河 是一个全新的命令行工具,用于评估 GitHub 用户、组织或代码仓库的安全状况。只需一条命令,它就能检查 GitHub 的内置安全控制措施,并返回一份报告,显示哪些措施已启用、哪些措施缺失以及哪些设置可能需要关注。
其理念是,这些控制项已存在于 GitHub 上,但分散在数十个设置页面中。Moat 将它们集中到一个审查页面中,让您可以一次性查看所有信息。对于软件包作者而言,这一点至关重要,因为每个带标签的版本都会从 GitHub 流向 Composer,并最终进入依赖于它的应用程序。
它检查的内容
Moat 会验证用户、组织、代码库、分支、版本和工作流等多个层面的设置。检查内容包括:
- 双因素身份验证
- 分支保护
- 已签名提交
- 秘密扫描和秘密推送保护
- Dependabot 警报和安全更新
- 不可更改的版本
- Fork 拉取请求批准
- 工作流权限和固定操作
pull_request_target使用- 存储库 Webhook
- 直接合作者
- 私有漏洞报告
- 存在
SECURITY.md文件
每项发现都附有风险的简要说明,报告还包括加固评分以及通过和不通过的总分。
入门
Moat 可通过 Homebrew 安装,也可使用预编译的二进制文件。安装完成后,将其指向任何帐户、组织或存储库:
护城河
<
github帐户、组织或仓库
>
为了进行身份验证,Moat 会解析来自 GitHub 的令牌。
GITHUB_TOKEN
,
GH_TOKEN
或者通过您的已验证 GitHub CLI 会话
gh auth token
。
要自定义评论,请添加
moat.toml
位于仓库根目录的文件。您可以通过它关闭个别检查或声明额外的发布分支。
护城河不是什么
该项目对其范围定义清晰。Moat 为只读工具,不会代表您修改任何设置或加固代码库。它不会阻止入侵或修复已造成的安全漏洞,并且仅根据 GitHub 设置提出建议,这些建议仍由您自行评估。
一份合格的报告并不代表账户安全,一份不合格的报告也不代表账户已被盗用。Moat 是 GitHub 自身安全控制措施的检查清单,并非供应链安全产品。
要体验一下,请访问 GitHub 上的 Moat 代码库 。







