Legitify是一款针对GitHub组织资产的安全增强工具,该工具由LegitSecurity开发和维护,可以帮助广大研究人员或IT技术人员轻松检测和缓解GitHub资产中潜在的各种错误配置、安全问题以及合规性等问题。
我们可以直接访问该项目的【Releases页面】下载最新版本的Legitify。其中将包含下列文档:
1、对应平台的Legitify源代码;
2、Legit Security提供的内置安全策略;
除此之外,广大研究人员也可以使用下列命令将该项目源码克隆至本地:
git clone [email protected]:Legit-Labs/legitify.git
然后运行main.go文件即可。
1、为了最大程度地发挥Legitify的功能,我们至少要是一个GitHub组织的拥有者或者至少是一个组织内GitHub库的管理员,但如果你只是一个管理员的话,你只能查看到跟这个代码库相关的安全策略分析结果;
2、Legitify需要使用一个GitHub个人访问令牌(PAT)来分析你提供的资源,可以通过-t参数或$GITHUB_ENV环境变量来提供,PAT要求拥有下列权限范围:
admin:org, read:enterprise, admin:org_hook, read:org, repo, read:repo_hook
LEGITIFY_TOKEN=<your_token> legitify analyze
默认配置下,Legitify将会使用安全策略检查你所有的资源(组织、代码库、成员和Action)。
你可以使用命令行参数来控制需要检测和分析的资源:
--namespace (-n):该参数将分析和指定资源相关的安全策略;
--org:该参数将限制分析指定的组织;
LEGITIFY_TOKEN=<your_token> legitify analyze --org org1,org2 --namespace organization,member
上述命令将会测试org1和org2的组织和成员策略。
export SERVER_URL="https://github.example.com/" LEGITIFY_TOKEN=<your_token> legitify analyze --org org1,org2 --namespace organization,member
export SERVER_URL="https://gitlab.example.com/" LEGITIFY_TOKEN=<your_token> legitify analyze --namespace organization --scm gitlab
默认配置下,Legitify支持输出可读格式的输出,也可以指定输出格式或输出机制。
命令参数:--output-format (-f)
可选项包括:
1、human-readable;
2、json
Legitify自带的安全策略集存储在项目的policies/github目录中,这些策略可以点击【这里】查看。
除此之外,我们还可以使用“--policies-path (-p)”参数来为OPA策略指定一个自定义目录。
视频地址:【点我观看】
本项目的开发与发布遵循Apache-2.0开源许可证协议。
Legitify:【GitHub传送门】
https://www.legitsecurity.com/
https://github.com/slsa-framework/slsa-verifier
https://github.blog/2022-10-18-introducing-fine-grained-personal-access-tokens-for-github/