本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
 是由Checkmarx开发的开源CLI工具,用于识别系统中以未加密文本形式存储的敏感数据,如密钥、认证令牌和密码。该工具支持扫描内部通信平台(Slack、***)、内容管理系统(Confluence、Paligo)和源代码存储位置(Git仓库、本地目录)。
此应用程序采用Go语言编写,基于gitleaks框架构建。
该工具通过一系列规则检查内容,旨在识别各种敏感项,如AWS访问令牌、Bitbucket客户端ID、GitHub PAT等。完整规则列表参见docs/list-of-rules.md。
此外,该工具还整合了基于通用漏洞评分系统(CVSS)的评分机制,帮助优先排序修复工作。
以下部分介绍如何通过以下方法安装2ms:
我们将2ms的容器镜像发布到checkmarx/2ms。
要从Docker容器运行2ms,请使用以下命令:
docker run checkmarx/2ms
您还可以使用-v标志挂载本地目录,语法如下:-v <本地目录路径>:<容器目录路径>
示例:
docker run -v /home/user/workspace/git-repo:/repo checkmarx/2ms git /repo
git命令,需要将Git仓库挂载到容器内的/repo目录以下是创建GitHub Action的模板,该Action从Docker镜像运行2ms以扫描GitHub仓库。
注意: 确保在actions/checkout步骤中通过设置fetch-depth: 0来获取完整历史记录
name: Pipeline Example With 2MS on: pull_request: workflow_dispatch: push: branches: [main] jobs: test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 with: # 2ms需要可见所有提交历史 fetch-depth: 0 # ... - name: Run 2ms Scan run: docker run -v $(pwd):/repo checkmarx/2ms:2.8.1 git /repo
要在Azure DevOps Pipeline中使用2ms,请创建新管道(查看本教程了解Azure DevOps Pipelines入门)。然后,使用以下模板创建azure-pipelines.yml文件来运行2ms:
trigger: - master pool: vmImage: ubuntu-latest steps: - script: docker run -v $(pwd):/repo checkmarx/2ms:2.8.1 git /repo displayName: Run 2ms
2ms具有用于扫描每个支持平台的专用命令。要运行扫描,您需要输入要扫描的平台的命令,以及与该平台相关的所有参数。扫描命令参数用于身份验证以及提供有关将要扫描的位置的详细信息。这些参数因平台而异。此外,您可以添加全局标志来自定义扫描配置。 扫描命令的基本结构是:
2ms <扫描命令> [扫描命令参数] [全局标志]
扫描命令参数和全局标志可以作为扫描命令中的标志传递,也可以通过配置文件传递。
以下部分描述用于扫描每个支持平台的参数。
扫描本地Git仓库
2ms git <Git仓库本地路径> [标志]
| 标志 | 类型 | 默认值 | 描述 |
|---|---|---|---|
--all-branches | - | false - 仅当前检出分支 | 扫描所有分支 |
--depth | int | 无限制 | 限制从HEAD扫描的历史提交数量 |
--base-commit | string | - | 基础提交,用于扫描基础提交和HEAD之间的提交 |
例如
git clone [***] cd my-repo 2ms git .
使用Docker运行示例:
docker run -v $(pwd):/repo checkmarx/2ms git /repo
扫描本地目录
2ms filesystem --path PATH [标志]
| 标志 | 类型 | 默认值 | 描述 |
|---|---|---|---|
--path | string | - | 本地目录路径 |
--project-name | string | - | 用于区分不同文件系统扫描的项目名称 |
--ignore-pattern | strings | - | 要忽略的模式 |
使用Docker运行示例:
docker run -v /path/to/local/directory:/scan checkmarx/2ms filesystem --path /scan
下表描述了可与任何扫描命令一起使用的全局标志。
| 标志 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| --config | string | 配置文件路径 | |
| -h, --help | string | 2ms命令帮助 | |
| --ignore-on-exit | None | 定义应忽略哪种非零退出代码。选项包括:all、results、errors、none。例如,如果设置为'results',则只有引擎错误会使2ms退出代码不同于0。 | |
| --log-level | string | info | 返回的日志类型。选项包括:trace、debug、info、warn、error、fatal、none |
| --report-path | strings | 生成报告文件的路径。输出格式由文件扩展名确定(.json、.yaml、.sarif) | |
| --stdout-format | string | yaml | 标准输出格式,可用格式:json、yaml、sarif |
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429