This stops its checks, takes down its status page and Wall listing, and permanently removes its history, alerts and AI spend data. This can't be undone.

↑ ↓ to move · Enter to run · Esc to close

Frankenstack — unified cockpit for chaotic stacks Frankenstack

Project Hub

More

I scanned my own code and found out I've been shipping secrets for months

This week I ran a security scan on my own repos. The scan found secrets I did not know I had shipped. Plural. And the worst part: every one of them was written by me, "temporarily", and then promoted to permanent by the oldest force in software — inertia.

This is a story about how AI coding agents write your code fast, and how none of them ever once thinks "wait, should this be in the repo?". It is also about the tool I used to catch my own mess: Rafter.so.

The vibe-coder brain, explained

You build fast. You need to test an integration. You paste an API key into a file. It works. You tell yourself "I'll clean that up before I push."

You do not clean that up before you push. The deadline doesn't care about your hygiene, the AI agent doesn't care, and future-you — the person who will one day rotate that key — is currently busy building feature #47.

The part nobody warns you about

My AI agent never said a word when I pasted that key. It happily autocompleted the line. It high-fived me with a green checkmark. Meanwhile the key sat in a file, in a commit, in a repository, being the most readable thing I have ever written.

The scariest part is not the one secret you know about. It's the count you get when you finally scan. Mine was not one.

Pixel-art robot watching cracked padlocks spill API keys — Frankenstack article on secrets leaked by AI-written code

What Rafter actually does

Rafter is a security scanner built for people who build with AI agents — Lovable, Bolt, Cursor, Claude Code, Replit and friends. You connect GitHub (read-only), pick a repo, click scan, and get a plain-English report in about two minutes: leaked secrets, vulnerable dependencies, common AI mistakes.

Three parts stood out to me:

1. It plugs into the agent itself. Not a dashboard you check on Friday — Rafter surfaces risky lines while your agent is writing them, with severity, location and a remediation your AI can apply on the spot. It ships one-click installs for Claude Code, Codex CLI and OpenClaw, and MCP integrations for Cursor, Windsurf, Gemini CLI, Continue.dev and Aider.

2. Command interception. Risk-tiered approval for shell commands — it blocks the rm -rf class of disasters while letting safe commands run immediately. If you have ever let an agent run a command and thought "hmm, should it have done that?", this is the guardrail for that feeling.

3. It maps the secrets on your own machine. Every .env file, shell config and tool credential on your laptop — laid out in one inventory, showing exactly which AI agents can read which secrets in plain text. A small open-source Go binary, read-only, nothing leaves your machine. I never thought about that surface area. Now I can't stop thinking about it.

The honest part

Rafter is a young product — you'll notice it's on AppSumo, the dashboard is minimal, and the marketing leans hard into the "no terminal required" angle. It is not a Fortune-500 compliance suite, and it doesn't pretend to be. What it does — scanning for leaked secrets, risky patterns and agent footguns — it does quickly, in plain English, for free to start.

For an indie builder, that trade is exactly right. The alternative isn't "enterprise security". The alternative is what most of us have now, which is nothing, plus a vague feeling of guilt.

Two things to check tonight

1. Open your repo, search for the name of your cheapest API provider, and count the hits. If the number makes you laugh in a way that isn't happy, run a scan.

2. Ask your AI agent to list every file on your machine it can read that contains the word "KEY" or "SECRET". Then decide whether that list is who you want it to be.

Pixel-art ghost stealing an API key from a code editor while a robot types — secrets scanners catch what AI code leaves behind

The bigger picture

Here's the pattern we keep running into while building Frankenstack: modern stacks fail in the seams, not in the tools. A secret leaks in a seam. A webhook dies in a seam. An agent reads a credential it should never have seen — in a seam. Security scanning, like stack mapping, is seam-work. That's why Rafter earns a place in the pile: it watches a seam most of us left unwatched.

One existential crisis per post. Go check your repos.