关于Legitify
是一款针对GitHub组织资产的安全增强工具,该工具由LegitSecurity开发和维护,可以帮助广大研究人员或IT技术人员轻松检测和缓解GitHub资产中潜在的各种错误配置、安全问题以及合规性等问题。
工具安装
发布版本安装
我们可以直接访问该项目的【Releases页面】下载最新版本的Legitify。其中将包含下列文档:
1、对应平台的Legitify源代码; 2、Legit Security提供的内置安全策略;
源码安装
除此之外,广大研究人员也可以使用下列命令将该项目源码克隆至本地:
代码语言:javascript复制git clone git@github.com:Legit-Labs/legitify.git
然后运行main.go文件即可。
工具要求
1、为了最大程度地发挥Legitify的功能,我们至少要是一个GitHub组织的拥有者或者至少是一个组织内GitHub库的管理员,但如果你只是一个管理员的话,你只能查看到跟这个代码库相关的安全策略分析结果;
2、Legitify需要使用一个GitHub个人访问令牌(PAT)来分析你提供的资源,可以通过-t参数或$GITHUB_ENV环境变量来提供,PAT要求拥有下列权限范围:
代码语言:javascript复制admin:org, read:enterprise, admin:org_hook, read:org, repo, read:repo_hook
工具使用
代码语言:javascript复制LEGITIFY_TOKEN=<your_token> legitify analyze
默认配置下,Legitify将会使用安全策略检查你所有的资源(组织、代码库、成员和Action)。
你可以使用命令行参数来控制需要检测和分析的资源:
--namespace (-n):该参数将分析和指定资源相关的安全策略;
--org:该参数将限制分析指定的组织;
代码语言:javascript复制LEGITIFY_TOKEN=<your_token> legitify analyze --org org1,org2 --namespace organization,member
上述命令将会测试org1和org2的组织和成员策略。
GitHub Enterprise支持
代码语言:javascript复制export SERVER_URL="https://github.example.com/"
LEGITIFY_TOKEN=<your_token> legitify analyze --org org1,org2 --namespace organization,member
GitLab Cloud/Server支持
代码语言:javascript复制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目录中,这些策略可以点击 https://legitify.dev/policies.html 查看。
除此之外,我们还可以使用“--policies-path (-p)”参数来为OPA策略指定一个自定义目录。
工具使用演示
视频地址:
https://user-images.githubusercontent.com/74864790/178964716-825840a6-d714-4b1d-a41e-efa2728507a6.mp4
许可证协议
本项目的开发与发布遵循Apache-2.0开源许可证协议。
项目地址
Legitify:https://github.com/Legit-Labs/legitify
参考资料:
https://www.legitsecurity.com/ https://github.com/slsa-framework/slsa-github-generator/blob/main/internal/builders/generic/README.md https://github.com/slsa-framework/slsa-verifier https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token https://github.blog/2022-10-18-introducing-fine-grained-personal-access-tokens-for-github/ https://legitify.dev/policies.html