fix: detect Anthropic API keys (sk-ant-...) in pre-commit secret scan (#2529)

The existing OpenAI pattern sk-[a-zA-Z0-9]{20,} never matches real
Anthropic keys: their sk-ant-api03-... format contains hyphens, which
break the character class before reaching the 20-char threshold. Keys
from the fastest-growing Claude Code user base slipped through the scan.

Adds a dedicated sk-ant-[a-zA-Z0-9_-]{20,} pattern (checked before the
OpenAI one) and extends the staged-secrets test with a realistic
Anthropic key fixture.
This commit is contained in:
KH
2026-07-22 12:17:28 -04:00
committed by GitHub
parent a1bf029cbf
commit 8348fb5387
2 changed files with 3 additions and 0 deletions
+1
View File
@@ -108,6 +108,7 @@ function findFileIssues(filePath) {
// Check for hardcoded secrets (basic patterns)
const secretPatterns = [
{ pattern: /sk-ant-[a-zA-Z0-9_-]{20,}/, name: 'Anthropic API key' },
{ pattern: /sk-[a-zA-Z0-9]{20,}/, name: 'OpenAI API key' },
{ pattern: /ghp_[a-zA-Z0-9]{36}/, name: 'GitHub PAT' },
{ pattern: /AKIA[A-Z0-9]{16}/, name: 'AWS Access Key' },