OPEN SOURCE
DETECTION ENGINE
Trace.
AI can write.
Trace can [read].
The first open-source security checker built for LLM failure modes.
Hallucinations. Credentials. Silent errors. Unsafe sanitization.
How Trace reads the code your AI wrote.
A live scan of a 47-line FastAPI file. Detection engine runs on all 24 open-source patterns across 6 languages. Each issue is flagged with its severity, line, and a one-line explanation.
Nearly half of production code is now written by AI.
Yet the tools we use to secure it were built for human bugs — humans who hesitate, who review, who leave typos. AI writes confidently. That confidence is the attack surface.
of AI-generated code contains security flaws.Veracode, 2025 State of Software Security
of organizations found vulnerabilities in AI-generated code.CSA
of committed code in 2025 was AI-written.SonarSource
The failure mode is already loud.
Three incidents from the last three months. Nothing classified, nothing unusual. Ordinary AI-assisted deploys. Ordinary catastrophes.
1.5 million API keys exposed.
The founder wrote zero lines himself. AI scaffolded a Supabase database with public read/write permissions, and nobody reviewed the generated configuration before deploy.
Supply chain attack via a maintainer token.
The compromised package was downloaded 450,000 times before detection. Downstream applications were affected within hours.
Slopsquatting reaches 340 known packages.
Typo-squatted libraries matching the names that large language models hallucinate. Installation is one autocomplete away from code execution.
These are the quiet endings.
Not famous incidents. Not YC companies. Three things that happen to solo developers shipping AI-generated code without a second reader.
The product you spent six weekends building no longer has users.
— Trace would have flagged the SQL injection before commit.
Stripe refunded the money. Your reputation as a serious developer is already priced in.
— Trace would have refused the commit containing the live key.
Every user password compromised. Trust reset to zero.
— Trace would have refused the import on day one. The package didn't exist in npm's registry yet.
Twenty-four patterns across six languages.
v0.7.0 ships 24 detection patterns across Python, JavaScript, TypeScript, Go, Rust, and Ruby. All open source. We catch the failure modes specific to AI-written code — not the ones humans are already careful about.
imports of packages that don't exist
calls to methods that don't exist
api keys, tokens, connection strings
any abuse, stripped generics
empty catches, swallowed promises
SQL injection, XSS, command inject
tests that can never fail
suspicious import paths that may be AI-hallucinated
error return values explicitly discarded with _
SQL queries built with fmt.Sprintf or string concat
API keys, tokens, credentials in Go source
excessive .unwrap() that can panic at runtime
unsafe blocks bypassing safety guarantees
todo!()/unimplemented!() placeholders that panic
panic!() where Result<T, E> should be used
ActiveRecord mass assignment without strong params
string interpolation inside SQL queries
rescue blocks that silently swallow exceptions
eval/send called with dynamic input
async call assigned without await — value is a Promise, not the result
Math.random() or random.random() used for security-sensitive values
eval(), new Function(), or exec() with variable argument — code injection
http://localhost or http://127.0.0.1 in non-test code
os.environ["X"] or process.env.X without fallback — crashes on missing var
Watch AI write code. Then watch Trace read it.
Pick a prompt. See real AI-generated code. Trace analyzes it on our servers — catching what humans miss.
How to use it.
Three ways to run Trace, sorted by effort. Pick the one that fits where you write code.
METHOD 01 · BROWSER
No install. No signup.
Open tracecheck.dev.
Paste your code. Press Check.
Results in about 400 milliseconds.
METHOD 02 · COMMAND LINE
Requires Node.js.
$ npx trace-core your-file.pynpx ships with Node.js. If you don't have Node.js yet, download it at nodejs.org.
METHOD 03 · CONTINUOUS INTEGRATION
Blocks commits with issues.
# .github/workflows/check.yml
name: Trace
on: [push, pull_request]
jobs:
trace:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx trace-core src/Drop into any Git provider's CI. Detection failures cause the workflow to exit with code 1.
Six languages. Twenty-four patterns.
Full detector coverage with language-specific patterns. More languages shipping soon.
Coming soon: Java · PHP · Dart
Three ways in.
For CI and pre-commit. npm.
$ npx trace-core your-file.py