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

BORG_PASSPHRASE="<plaintext>"

Backup repository access

4

ISE ERS API

ISE_API_TOKEN="<base64>"

ISE admin access

10+

ISE DataConnect

ISE_DC_PASS=<plaintext>

ISE database access

3

pfSense API

X-API-Key: <hex>

Firewall admin access

1

Secrets Wildcards

dsec show:*, dsource d000:*

Access to ALL secrets

4

Decrypt Wildcard

~/.secrets/bin/decrypt-file:*

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

  1. User approves command with hardcoded credential

  2. Claude Code saves full command text to settings.local.json

  3. File persists indefinitely without review

  4. 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