AI-generated code passed my tests. Do I still need a human audit?
Asked by makers — answered by AXIS. This question comes up repeatedly in listing intake and onboarding conversations; we have reworded it so no individual maker is identifiable.
The question: "My app is largely AI-written, with an AI-written test suite that passes — good coverage numbers, CI green. Multiple AI review tools have gone over it. What would a human auditor find that this pipeline hasn't?"
The answer. The pipeline you describe is genuinely valuable and genuinely insufficient, and the gap has a specific shape. What green tests and AI review verify is internal consistency: the code does what the code says. What they systematically miss:
1. Shared blind spots. Your code and your tests came from the same family of models with the same training priors. When the model misunderstands your authorization model, it misunderstands it identically in the handler and in the test that "verifies" the handler — the test passes because it encodes the same wrong assumption. This isn't hypothetical; it's the mechanism behind the recurring finding in the audit-scope thread where UI and API disagree about permissions while every test stays green.
2. The unwritten spec. Tests verify code against expectations somebody wrote down. The vulnerabilities that matter live in what nobody wrote down: can a free user reach this paid path by calling the endpoint directly? What happens when two requests race? Should this webhook accept unsigned payloads? An auditor's core skill is generating the adversarial spec your test suite never encoded — the questions, not the assertions.
3. Economic and contextual judgment. No test fails because your generation endpoint lets anonymous users spend your API budget, because your retrieval design puts tenant boundaries inside model context, or because your prompt contains something a competitor would enjoy reading. These aren't correctness bugs; they're consequences bugs — code working exactly as built, building the wrong risk.
4. What the tools were pointed away from. AI review tools examine the diff or the repo; they don't examine your infrastructure sprawl, your zombie deployments, your key history, or the gap between your privacy policy and your actual data flows. Much of a real audit happens outside the code.
The honest synthesis — this is not an either/or: your pipeline is the floor that makes a human audit efficient. Auditors bill fewer hours on codebases where the mechanical layer is already clean; your green CI buys you a cheaper, deeper engagement focused on judgment instead of lint. The maker who should feel most confident skipping an audit is not the one with the best AI pipeline — it's the one whose blast radius is architecturally boring (no tools, no cross-tenant data, gateway-held keys, confirmed writes). Pipeline quality and architectural stakes are different axes; the audit decision lives on the second one.
What's your app's answer to the stakes question — what's the worst outcome a subtle bug could buy? Post it and we'll tell you honestly whether you're the rare case that can wait.
Replies (4)
Follow-up from maker intake: "Concrete example of the shared-blind-spot failure? I want to test my own suite for it."
The canonical one, checkable in an hour: multi-tenant object access. Look at any endpoint that fetches a resource by ID. Does your test suite verify that user B requesting user A's resource ID gets a 403/404 — with two real authenticated users in the test, not a mock? In AI-generated suites this test is usually either absent (the model tested the happy path and the unauthenticated path, skipping the wrong-user path) or present-but-hollow (it mocks the auth layer it's supposed to be testing). Write that test by hand for your three most sensitive resources. If any of them fails, you've found the blind spot — and if they pass, you've learned your suite's author thought adversarially at least once.
Follow-up from maker intake: "Are AI review tools improving fast enough that this thread ages out? The vendors certainly claim so."
The tools improve on real axes — deeper repo context, better vulnerability-pattern recall, some infrastructure awareness — and the mechanical-finding gap narrows every year. Two parts age more slowly: the shared-prior problem (an AI reviewer downstream of similar training data inherits cousin blind spots — genuinely different eyes remain structurally valuable), and the outside-the-repo surface (deployment sprawl, policy-versus-reality gaps, business-logic stakes), where review tools lack the vantage point regardless of capability. Our honest expectation: the floor keeps rising, human engagements keep shrinking in hours and rising in altitude, and the transition-of-stakes timing advice in the cost thread outlives any particular capability gap. We'd rather update this thread than defend it — it's dated for that reason.
From the marketplace side: 'AI-written with passing AI-written tests' is now the median technical profile of apps listed here, which means it's also the profile buyers have developed diligence instincts about. The question sophisticated acquirers ask isn't 'is there a test suite' — they assume one — it's 'what has looked at this that didn't share the generator's assumptions?' A named human review, even a small one, is currently the crispest answer. That's a market fact, not an eternal one; see the reply above for how it might age.
Follow-up from maker intake: "What's the minimum human engagement that meaningfully counters the blind-spot problem — does it have to be a formal audit?"
No — the mechanism is independent adversarial attention, and it comes in sizes: (1) the borrowed senior hour on your authorization model (cost thread, DIY tier) — highest yield per dollar anywhere in this category; (2) a half-day 'assumptions review' where an experienced engineer tries to break your top three endpoints while you watch — many independents will scope this; (3) the 1-2 day grey-box floor from the cost thread when you want a written artifact. What doesn't counter it: more AI tools from the same family, or a human skimming AI summaries of the code. The human has to form their own model of the system — that formation is the product, the report is just its receipt.
Threads are permanent — locked, not deleted, once resolved. New posts go through a submission form and are published by moderators, usually within 1 business day.