# ==============================================
# Gitleaks 自定义配置文件
# 路径:pre-commit/.gitleaks.toml
# 当前状态:仅继承二进制内置官方全套默认规则,无新增/无屏蔽任何规则
# 标准继承语法:[extend] useDefault = true(官方推荐,通用离线二进制兼容)
# ==============================================
title = "torch_npu pre-commit secret scan config"
# 【标准继承内置默认规则】
# useDefault=true:加载工具内置全部密钥检测规则(AWS/Git/SSH/OBS等)
# 注意:useDefault 和 path 只能二选一,不可同时使用
[extend]
useDefault = true
# disabledRules = ["generic-api-key","generic-password"]
# ↑ 取消注释可批量全局禁用指定内置规则,填写规则ID数组
# ==============================================================================
# 1、全局屏蔽内置规则两种写法(注释示例,当前未启用)
# ==============================================================================
# 写法A(新版推荐,数组批量禁用,写在[extend]内)
# [extend]
# useDefault = true
# disabledRules = ["generic-api-key","generic-password"]
# 写法B(旧版兼容,单条逐条禁用)
# [[rules.disabled]]
# id = "generic-api-key"
# [[rules.disabled]]
# id = "generic-password"
# 查询所有内置规则ID命令:./gitleaks detect --list-rules --config=pre-commit/.gitleaks.toml
# ==============================================================================
# 2、新增自定义业务检测规则(注释示例,当前未启用)
# 格式固定 [[rules]],用于检测项目特有凭证
# ==============================================================================
# [[rules]]
# id = "huawei-obs-plain-ak-sk"
# description = "硬编码华为云OBS AK/SK明文密钥"
# regex = '''(access_key|secret_key|AK|SK)\s*[:=]\s*["']?[A-Z0-9]{20,}["']?'''
# secretGroup = 1
# entropy = 3.5
# keywords = ["ak", "sk", "obs"]
# # 单条规则局部白名单:ut测试目录跳过本条检测
# [[rules.allowlist]]
# paths = ["^ut/", "^test/"]
# ==============================================================================
# 3、全局白名单配置(新版必须 [[allowlists]],不能 [allowlist])
# 语法要求:内部至少存在一个未注释数组,否则配置加载失败
# ==============================================================================
[[allowlists]]
# 占位空正则,仅用于通过语法校验,不会放行任何文件
paths = ["^$"]
# 如需放行目录取消注释示例
# paths = [
# "^dist/",
# "^build/",
# "\\.md$"
# ]
# 放行固定测试假密钥字符串
stopwords = [
# "dummy-test-ak-123456",
# "fake-secret-000000"
]
commits = []
# ==============================================================================
# 4、代码单行/文件内局部屏蔽告警(无需修改本配置文件)
# 两种行内注释方式,提交代码时写在代码末尾,gitleaks自动识别放行
# ==============================================================================
# 方式1:仅屏蔽当前单行密钥告警(推荐)
# access_key = "AKXXXXXXXXXXXXXXXXXXXX" # gitleaks:allow
#
# 方式2:屏蔽整个文件全部告警,写在文件最顶部
# # gitleaks:skip-file
# ==============================================================================
# 全局扫描基础参数
# ==============================================================================
minEntropy = 3.0
redact = true
maxMatchLength = 2048
scanGitHistory = false