Rule Center
A full browsable index of AppInfoScanner's built-in rules — credentials, PII, component detection, packer signatures, sensitive permissions, public domain suffixes and more — synced from the main repo's default_config.py (generated by scripts/sync-rules.py, config version follows the program release). See Custom Rules for how rules take effect and how to override them.
9 categories / 375 rules in total, synced from the built-in config (config version 1.0.11).
Cloud keys/tokens, JWT, private keys and generic credentials (filter_ak_map)
(?i)(?:aliyun|ali|oss)[_-]?(?:access[_-]?key[_-]?id|access[_-]?key[_-]?secret)[\'"]?\s*[:=]\s*[\'"][0-9a-zA-Z]{10,}[\'"](?i)(?:aliyun|ali|oss)[_-]?secret[\'"]?\s*[:=]\s*[\'"][0-9a-zA-Z]{20,}[\'"]LTAI[A-Za-z0-9]{12,20}AKID[A-Za-z0-9]{32}(?:AKIA|ASIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|A3T)[A-Z0-9]{16}AIza[0-9A-Za-z\-_]{35}[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.comcloudinary://[0-9]{15}:[0-9A-Za-z]+@[a-z]+(?:ghp|gho|ghu|ghs|ghr)_[A-Za-z0-9]{36}github_pat_[A-Za-z0-9_]{20,}glpat-[A-Za-z0-9\-_]{20}xox[bapoir]-[A-Za-z0-9\-]{10,}https://hooks\.slack\.com/services/T[A-Za-z0-9_]{8,}/B[A-Za-z0-9_]{8,}/[A-Za-z0-9_]{24}[sr]k_live_[0-9a-zA-Z]{24}sq0atp-[0-9A-Za-z\-_]{22}sq0csp-[0-9A-Za-z\-_]{43}access_token\$production\$[0-9a-z]{16}\$[0-9a-f]{32}SK[0-9a-fA-F]{32}SG\.[A-Za-z0-9\-_]{22}\.[A-Za-z0-9\-_]{43}key-[0-9a-zA-Z]{32}EAACEdEose0c[A-Za-z0-9]+[NMz][A-Za-z0-9]{23}\.[A-Za-z0-9]{6}\.[A-Za-z0-9]{27}eyJ[A-Za-z0-9_\-]{8,}\.[A-Za-z0-9_\-]{8,}\.[A-Za-z0-9_\-]*-----BEGIN (?:RSA |EC |DSA |OPENSSH |PGP )?PRIVATE KEY-----(?i)basic\s+[A-Za-z0-9_\-:\.=]{16,}(?i)bearer\s+[A-Za-z0-9_\-:\.=]{16,}://[A-Za-z0-9_\-]+:[A-Za-z0-9_@!#$%^&*\-]{3,}@(?i)(?:api[_-]?key|apikey|app[_-]?key|access[_-]?key)[\'"]?\s*[:=]\s*[\'"][0-9a-zA-Z\-_]{8,}[\'"](?i)(?:secret|password|passwd|pwd|pass)[a-z_-]*[\'"]?\s*[:=]\s*[\'"][0-9a-zA-Z\-_!@#$%^&*]{8,}[\'"](?i)token[\'"]?\s*[:=]\s*[\'"][0-9a-zA-Z\-_.=+]{8,}[\'"](?i)(?:oss|cos|s3|storage)[_-]?(?:access[_-]?(?:key|id)|secret|key)[a-z]*[\'"]?\s*[:=]\s*[\'"][0-9a-zA-Z\-_]{8,}[\'"](?i)(?:wx|wechat|weixin)[_-]?(?:app[_-]?secret|secret)[\'"]?\s*[:=]\s*[\'"][0-9a-f]{32}[\'"](?i)(?:app[_-]?id)[\'"]?\s*[:=]\s*[\'"]wx[0-9a-f]{16}[\'"](?i)(?:alipay|ali)[_-]?(?:app[_-]?id|pid|merchant[_-]?id)[\'"]?\s*[:=]\s*[\'"]\d{16}[\'"](?i)(?:alipay|ali)[_-]?(?:private[_-]?key|secret)[\'"]?\s*[:=]\s*[\'"]MIIC[a-zA-Z0-9+/=]{50,}[\'"](?i)(?:weibo|sina)[_-]?(?:app[_-]?key|secret)[\'"]?\s*[:=]\s*[\'"][0-9a-f]{10,32}[\'"](?i)(?:mongo(?:db)?|postgres(?:ql)?|mysql|mariadb|amqp|rabbitmq)://[^\s"\':]+:[^\s"\']+@[^\s"\']+(?i)redis://:[^\s"\']+@(?i)(?:huawei|hw)[_-]?(?:ak|access[_-]?key)[\'"]?\s*[:=]\s*[\'"][A-Z0-9]{10,}[\'"]AccountKey=[A-Za-z0-9+/=]{50,}(?i)aws[_-]?secret[_-]?access[_-]?key[\'"]?\s*[:=]\s*[\'"][A-Za-z0-9/+=]{40}[\'"]https://[0-9a-f]{32}@[0-9a-f]{16}\.ingest\.sentry\.iosk-(?!ant-)(?:proj-)?[a-zA-Z0-9_-]{20,}sk-ant-(?:api03-)?[a-zA-Z0-9_-]{20,}hf_[a-zA-Z0-9]{20,}(?i)(?:dashscope|qwen|tongyi)[_-]?(?:key|secret)[\'"]?\s*[:=]\s*[\'"]sk-[a-zA-Z0-9]{10,}[\'"](?i)(?:zhipu|glm|chatglm)[_-]?(?:key|api[_-]?key)[\'"]?\s*[:=]\s*[\'"]\w{6,12}\.[a-zA-Z0-9]{8,}[\'"](?i)(?:ernie|wenxin|baidu[_-]?ai|千帆)[_-]?(?:secret[_-]?key)[\'"]?\s*[:=]\s*[\'"][0-9a-zA-Z]{20,}[\'"](?i)(?:amap|gaode|高德)[_-]?(?:key|api[_-]?key|secret)[\'"]?\s*[:=]\s*[\'"][0-9a-f]{32}[\'"](?i)(?:bmap|baidu[_-]?map|百度地图)[_-]?(?:ak|api[_-]?key|sn)[\'"]?\s*[:=]\s*[\'"][0-9a-zA-Z]{24}[\'"](?i)(?:qq[_-]?map|tencent[_-]?map|腾讯地图)[_-]?(?:key|sk)[\'"]?\s*[:=]\s*[\'"][0-9A-Z]{26,32}[\'"](?:pk|sk)\.eyJ[a-zA-Z0-9._-]{40,}(?i)deepseek[_-]?(?:key|api[_-]?key|token)[\'"]?\s*[:=]\s*[\'"]sk-[a-zA-Z0-9]{20,}[\'"]api\.deepseek\.com(?i)(?:moonshot|kimi)[_-]?(?:key|api[_-]?key|token)[\'"]?\s*[:=]\s*[\'"]sk-[a-zA-Z0-9]{20,}[\'"]api\.moonshot\.cn(?i)minimax[_-]?(?:key|api[_-]?key|token)[\'"]?\s*[:=]\s*[\'"]eyJ[a-zA-Z0-9._-]{20,}[\'"]api\.minimaxi?\.chat(?i)(?:volcengine|doubao|huoshan|ark)[_-]?(?:key|api[_-]?key|token|secret)[\'"]?\s*[:=]\s*[\'"][a-zA-Z0-9\-_.]{16,}[\'"]ark\.cn-[a-z]+\.volces\.com(?i)silicon(?:cloud|flow)[_-]?(?:key|api[_-]?key)[\'"]?\s*[:=]\s*[\'"]sk-[a-zA-Z0-9]{20,}[\'"]api\.siliconflow\.cn(?i)(?:spark|xunfei|iflytek)[_-]?(?:api[_-]?key|api[_-]?secret)[\'"]?\s*[:=]\s*[\'"][0-9a-f]{16,}[\'"]gsk_[a-zA-Z0-9]{20,}sk-or-(?:v1-)?[a-zA-Z0-9-]{20,}tgp_[a-zA-Z0-9_]{20,}https?://api\.(?:openai|deepseek|anthropic|groq|together)\.com[/\w.-]*https?://api\.(?:moonshot\.cn|minimaxi?\.chat|siliconflow\.cn)[/\w.-]*https?://dashscope\.aliyuncs\.com[/\w.-]*https?://ark\.cn-[a-z]+\.volces\.com[/\w.-]*https?://open\.bigmodel\.cn[/\w.-]*https?://aip\.baidubce\.com[/\w.-]*https?://api\.minimax\.chat[/\w.-]*(?i)(?:cursor|windsurf|codeium|tabnine|copilot|jetbrains[_-]?ai|cody|sourcegraph|augment)[_-]?(?:key|token|api[_-]?key)[\'"]?\s*[:=]\s*[\'"][a-zA-Z0-9\-_.=+]{16,}[\'"](?i)firebase[_-]?(?:api[_-]?key|config)[\'"]?\s*[:=]\s*[\'"][A-Za-z0-9\-_]{30,}[\'"]Rule names and descriptions are kept in their original Chinese as they appear in the shipped configuration.
Contributing Rules
New rules are welcome — new cloud-provider credentials, PII types, component / packer signatures, sensitive permissions, etc. Two ways to submit:
- Issue (recommended): open an issue with the rule submission template — category, regex, rationale and test cases.
- Direct PR: edit
shared/community-rules.tsin the site repo and append entries following the in-file example.
Requirements (review criteria):
- Python
resyntax, same as the program; provide both a should-match and a should-NOT-match sample to avoid false positives. - Credential / PII rules need a rationale (official docs, public format spec, or real samples).
- Component / packer rules need the package identifier (or binary marker) plus a risk note; attach the CVE id and safe version when available.
Once merged, rules appear in the "Community Rules" section above; durable ones get baked into the built-in config with the next program release and synced back to the official list.
