# ==============================================

# 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