
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Gitleaks 是一款静态应用安全测试(SAST)工具,用于检测 Git 仓库中硬编码的密钥,如密码、API 密钥和令牌。它是一款易于使用的一体化解决方案,可检测代码中过去或现在存在的密钥。
Gitleaks 可通过 Docker 安装使用,也可通过 Homebrew、源码编译等方式安装。以下是 Docker 部署方案示例:
Docker 安装
DockerHub
bashdocker pull docker.xuanyuan.run/zricethezav/gitleaks:latest docker run -v ${本地待扫描文件夹路径}:/path docker.xuanyuan.run/zricethezav/gitleaks:latest [COMMAND] --source="/path" [OPTIONS]
ghrc.io
bashdocker pull ***-ghcr.xuanyuan.run/zricethezav/gitleaks:latest docker run -v ${本地待扫描文件夹路径}:/path docker.xuanyuan.run/zricethezav/gitleaks:latest [COMMAND] --source="/path" [OPTIONS]
Usage: gitleaks [command] 可用命令: completion 为指定 shell 生成自动补全脚本 detect 检测代码中的密钥 help 查看命令帮助 protect 保护代码中的密钥 version 显示 Gitleaks 版本 标志: -c, --config string 配置文件路径 优先级顺序: 1. --config/-c 2. (--source/-s)/.gitleaks.toml 若未设置 --config/-c 且不存在 .gitleaks.toml/gitleaks.toml, 则 .gitleaks.toml 将写入 (--source/-s)/.gitleaks.toml 供后续使用 --exit-code string 检测到密钥时的退出码 (默认: 1) -h, --help 查看帮助 -l, --log-level string 日志级别 (debug, info, warn, error, fatal) (默认 "info") --redact 从日志和标准输出中脱敏密钥 -f, --report-format string 输出格式 (json, csv, sarif) -r, --report-path string 报告文件路径 -s, --source string 源代码路径 (Git 仓库、目录、文件) -v, --verbose 显示详细扫描输出 使用 "gitleaks [command] --help" 查看命令详细信息。
主要命令
git log -p 的输出;可使用 --no-git 选项扫描非 Git 文件/目录。git diff 输出,--staged 标志可检查已 git add 的更改,适合作为预提交钩子使用。可使用 git log 命令验证 Gitleaks 检测到的密钥。示例输出:
json{ "Description": "AWS", "StartLine": 37, "EndLine": 37, "StartColumn": 19, "EndColumn": 38, "Context": "\t\t\"aws_secret= \"AKIAIMNOJVGFDXXXE4OA\"\": true,", "Secret": "AKIAIMNOJVGFDXXXE4OA", "File": "checks_test.go", "Commit": "ec2fc9d6cb0954fb3b57201cf6133c48d8ca0d29", "Entropy": 0, "Author": "zricethezav", "Email": "thisispublicanyways@gmail.com", "Date": "2018-01-28 17:39:00 -0500 -0500", "Message": "[update] entropy check", "Tags": [], "RuleID": "aws-access-token" }
验证命令格式:
bashgit log -L {StartLine,EndLine}:{File} {Commit}
示例:
bashgit log -L 37,37:checks_test.go ec2fc9d6cb0954fb3b57201cf6133c48d8ca0d29
将示例 pre-commit.py 脚本复制到仓库的 .git/hooks/ 目录,即可将 Gitleaks 作为预提交钩子运行。
Gitleaks 支持自定义密钥检测规则,配置文件为 TOML 格式:
toml# Gitleaks 配置文件标题 title = "Gitleaks 配置" # 定义密钥检测规则的数组 [[rules]] # 规则唯一标识符 id = "示例规则-1" # 规则简短描述 description = "示例规则 1" # 用于检测密钥的 Golang 正则表达式(不支持前瞻断言) regex = '''golang风格的正则表达式''' # 用于匹配路径的正则表达式,可单独使用或与 regex 配合 path = '''文件路径正则表达式''' # 元数据和报告标签 tags = ["标签1", "标签2"] # 用于检查正则匹配组香农熵的索引 entropyGroup = 3 # 正则组需满足的最小香农熵值 entropy = 3.5 # 规则级允许列表,用于减少误报或忽略已知密钥的提交 [rules.allowlist] description = "忽略提交A" commits = [ "commit-A", "commit-B"] paths = ['''文件路径正则表达式'''] regexes = ['''匹配已检测密钥的正则'''] # 全局允许列表,优先级高于规则级允许列表 [allowlist] description = "忽略提交A" commits = [ "commit-A", "commit-B"] paths = ['''文件路径正则表达式'''] regexes = ['''匹配已检测密钥的正则''']
默认配置可参考 https://github.com/zricethezav/gitleaks/blob/v8/config/gitleaks.toml%E3%80%82
默认退出码:
--exit-code 标志自定义检测到密钥时的退出码。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务