CR-2026-02-26: Claude Code Settings Credential Exposure
Change Summary
CR ID |
CR-2026-02-26-001 |
Date |
2026-02-26 |
Priority |
P0 - Emergency |
Type |
Security Remediation |
Systems |
modestus-razer workstation |
Status |
Completed (Rotation Pending) |
Executive Summary
EMERGENCY: Multiple credentials (BORG backup passphrase, ISE API tokens, pfSense API key, secrets manager wildcards) were exposed in Claude Code’s ~/.claude/settings.local.json auto-approve rules. Remediated by removing dangerous patterns and cleaning shell history.
Discovery
User requested security audit of Claude Code configuration. Scan revealed hardcoded credentials in allowed commands list:
grep -En 'PASSPHRASE=|_PASS=|_TOKEN=|API_KEY|dsec show|dsource|gopass show' \
~/.claude/settings.local.json
Exposed Credentials Summary
| Category | Pattern | Risk | Count |
|---|---|---|---|
BORG Backup |
|
Backup repository access |
4 |
ISE ERS API |
|
ISE admin access |
10+ |
ISE DataConnect |
|
ISE database access |
3 |
pfSense API |
|
Firewall admin access |
1 |
Secrets Wildcards |
|
Access to ALL secrets |
4 |
Decrypt Wildcard |
|
Decrypt any file |
1 |
Root Cause Analysis
Claude Code’s auto-approve system (settings.local.json) accumulated allowed commands over time without review. When commands with credentials were approved during interactive sessions, the full command including secrets was persisted.
Attack Vector
-
User approves command with hardcoded credential
-
Claude Code saves full command text to settings.local.json
-
File persists indefinitely without review
-
Wildcard patterns (
dsec:*) grant access to ALL secrets
Metadata
| Field | Value |
|---|---|
CR ID |
CR-2026-02-26-001 |
Author |
Evan Rosado |
Date Created |
2026-02-26 |
Status |
Emergency - Completed (Rotation Pending) |
Category |
Security / Credential Management |