{
  "id": 5582104,
  "title": "I audited my own Claude Code logs and found real leaked credentials",
  "url": "https://urgent.news/2026/09/04/i-audited-my-own-claude-code-logs-and-found-real-leaked-credentials",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-04T15:01:52.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/crypled/i-audited-my-own-claude-code-logs-and-found-real-leaked-credentials-3oo"
  },
  "original_language": "en",
  "account": "Claude Code, an AI coding agent, reads .env files, executes shell commands, and writes the interactions into a local session transcript. This process causes sensitive information like API keys and database URLs to be saved in plaintext on disk. The author of this story discovered 71 instances of leaked credentials in one project and two real AWS access keys in another project's logs. The tool used to find these secrets, called agent-audit, is a small CLI that checks for various types of secrets, including AWS/GCP/GitHub/GitLab/Slack/Stripe/OpenAI/Anthropic/npm/Twilio/Discord keys, PEM private keys, JWTs, database connection strings with embedded credentials, and generic api_key/password assignments. The tool also flags risky commands such as destructive deletes, remote-code-execution patterns, fork bombs, reverse shells, and more. The findings are redacted in the output and never print usable secrets directly to the terminal. The author emphasizes the importance of this discovery, as agentic coding tools are now doing real work inside codebases and logging sensitive information, which was not a significant concern two years ago. The author has released the agent-audit tool, which is 100% local, has zero dependencies, no network calls, no telemetry, and is MIT licensed.",
  "summary": "AI coding agents like Claude Code read your .env files, cat command output, and run shell commands on your behalf. By design, every one of those actions gets written verbatim into a local session transcript ( ~/.claude/projects/**/*.jsonl ) so the agent can resume sessions later. That means anything the agent ever saw — an API key, a database URL, the output of env — is sitting in plaintext on…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 2,
    "also_reported_by": [
      {
        "outlet": "Dev.to",
        "title": "Unblock: a Claude Code skill that keeps trying when a web lookup fails",
        "url": "https://urgent.news/2026/09/04/unblock-a-claude-code-skill-that-keeps-trying-when-a-web-lookup-fails",
        "published": "2026-09-04T20:10:07.000Z"
      }
    ]
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}