Technical Preview · 100% free · stable release

Free, private cybersecurity AI code assistant

Pick a folder. Hit Scan. Get a durable, triage-ready list of leaked secrets, vulnerable packages, risky CI/cloud config, dangerous code and much more, all on your machine. Use any model you already have access to including all major providers. Achilles is a full-fledged security product utility, not a simple chat wrapper.

macOS: Apple Silicon · Intel — same release, pick your chip
Works with Claude, ChatGPT, OpenCode Go/Zen, OpenRouter, Gemini, Ollama, any OpenAI-compatible endpoint Extremely token-efficient and engine-first to prevent LLM-over-review and hallucinations Comes pre-loaded with 13 dedicated industry-standard AI skills for advanced reasoning Includes recipes which can be configured to repeatedly analyze your source code for continued security
Native desktop app · Windows / Mac / Linux Findings stay in a local database on disk only
Achilles — Technical Preview PRIVATE · Local DB
Achilles — scan complete with 5 open findings and DOM XSS detail
Scanning Findings
5 open·4 high·FAST mode · extremely token-efficient·524 files
Your dedicated source code's security assistant

Achilles makes Codex, Claude Code, OpenCode and Cursor (and more) security aware. As a dedicated security assistant with optional MCP, it finds, triages and briefs on real findings so your harness can patch with full ledger context and far fewer tokens. You can continue using your preferred harness and avoid wasting tokens on high-cost AI inspection libraries.

AS SEEN ON Product Hunt AlternativeTo Indie Hackers BetaList SaaSHub WORKS WITH Anthropic Claude Gemini OpenAI OpenCode OpenRouter Cursor Grok Ollama AS SEEN ON Product Hunt AlternativeTo Indie Hackers BetaList SaaSHub WORKS WITH Anthropic Claude Gemini OpenAI OpenCode OpenRouter Cursor Grok Ollama
Technical Preview

The app, as it runs.

Achilles is private, local, and ledger-first. Below is a sample code base with 524 files, 5 findings, all on local to the developer's machine.

Each finding can be confirmed, marked as a false positive, opened at its source file, mapped visually to its function and callers, or copied as a fix prompt for your editor or harness. States persist locally across rescans in achilles.db.
For everyone

What Achilles is today,
a high level

A desktop app you run on your computer (Windows, Mac, Linux). Not a website that uploads your code. You keep everything, the scan, the list, the history, on your machine.

01

Pick a folder. Hit Scan.

In seconds it looks through the code base you already have, same ignore rules as ripgrep. Opt in for more advanced and exhaustive dependency checks.

02

It identifies potential security scenarios - "this might be a problem"

  • Secrets sitting in the repo, API keys, tokens, passwords, database URLs
  • Dangerous-looking code, eval, SQL glued from strings, XSS sinks, and similar
  • Vulnerable or sloppy packages, known CVEs in lockfiles, unpinned versions, install scripts, lookalike names
  • Risky deploy / CI setup, open cloud networks, privileged containers, unsafe GitHub Actions, secrets in config files
03

Results stay in a list you can work

Confirm, mark as a false alarm, or mark as fixed. It remembers across rescans. Rescan the whole tree or just git-changed files.

04

Fix where you already code

Achilles can copy a pasteable fix brief, or connect as MCP to Cursor, Claude Code, Codex, OpenCode. Achilles finds and triages; you (or that editor) apply the patch. Extremely token-efficient, the engines guide the AI through the lift.

Why Achilles - cost as low as $0

One walk. Full picture. Pairs with your harness.

Pairs with Codex / Claude Code / OpenCode / Cursor — Achilles finds + triages, your harness patches.

CapabilityAchillesdeepsec agent auditEndor agent auditRaw prompt baselinePoint scanners one job
Find — one shared walk
One shared walk · vendor opt-in✓ native~ matchers + agents~ graph index— repo dump— re-walks
Dangerous-code sensor · JS/TS, Python, Go, Rust, Java, C/C++ + more✓ native~ candidates + AI✓ AI SAST— metered✓ alone
Leaked-credential sensor + git history✓ native~~— metered✓ alone
Package risk: known-CVEs + pinning + install / typo hygiene✓ native✓ reachability✓ alone
Extra supply-chain alerts on same packages, token-optional✓ native~ supply-chain~ separate feed
Deploy / CI exposure checks✓ native~ custom matchers— 2nd tool
Startup + surface inventory✓ native~
KEV / EPSS attach on CVE aliases✓ native~ context-scored~ separate feed
Hard-coded value hygiene, opt-in✓ native
Code Map: functions, callers, routes / templates✓ native~ call-graph nav— manual grep
Remember — ledger, not a chat log
Whole tree or git-changed mode✓ native~ diff mode~
Validator verdicts — must quote source, never invents✓ native~ revalidate, paid~ triage pass— may invent
Memory — new / gone, states stick across rescans✓ native~ state folder~ tracked— none
Pause / resume — aborted runs keep ledger✓ native~ resume— lost
Fit — your setup stays
Fix brief + MCP — ledger as context, no repo dump✓ native~ fix guidance— full dump
Built-in industry-recognized skills✓ native~ plugins
Scheduled scans + recipes✓ native~ CI runs
Direct BYOK — no gateway hop, keys stay on machine✓ direct~ gateway default / BYOK~ managed platform— subscription burn✓ free, no LLM

Depth is a dial, cost stays capped. FAST as low as $0, Investigate up to 80 reviews, Deep up to 160 units + 250 reviews (16k files).

Per deepsec docs: full-repo max-thinking audits run hours–days, often $1k+ a pass.

Recommended to run Achilles on schedules and/or for every commit. deepsec figures from their public docs + DeepsecBench; Endor characterizations from their public AI SAST benchmark post.

It finds durable classes

Scan your own repo.
Get the things that burn you.

SECRETS

Leaked secrets, redacted

AWS keys, GitHub/GitLab PATs, Slack, Stripe, Google, npm, Hugging Face, Anthropic, Postgres/Mongo URLs, Vercel / Railway / DO, PEM blocks, webhooks. Redacted previews, capped at 200 hits. Full-tree scan also checks local git history — not a vault resolver, not complete coverage.

engine: secrets · working tree + git history (full scan) · capped 200
SAST-LITE

Dangerous code patterns

Regex-lite, line-oriented, extension-tagged for C/C++, Python, JS/TS, Go, PHP, Java, C#, Ruby, Rust. gets/strcpy, eval/pickle/yaml.load, innerHTML, string-built SQL, Runtime.exec, and similar. Explicitly not Joern / CodeQL — no taint, no interprocedural. A first pass you will actually run, not complete coverage.

engine: sast-lite · does not claim taint proofs
SCA · OSV + pinning/hygiene

Vulnerable & sloppy packages

Reads package-lock / yarn, requirements.txt / Pipfile.lock, Cargo.lock, go.sum, Poetry, Bundler, Composer. Queries OSV, plus pinning (unpinned / missing lockfile) and hygiene (lifecycle scripts, distance-1 typosquat).

Optional with token: Socket supply-chain alerts on the same PURLs (risk / capabilities / quality / license).

engine: sca · OSV · Socket optional · CVE context injected
SURFACES + FINGERPRINT + HARDEN

Risky deploy / CI, on files that exist

Fingerprint inventories what’s in the tree: GitHub Actions, GitLab, Circle, Azure Pipelines, Jenkins, Terraform (AWS/Azure/GCP), K8s/Helm, Docker, Workers, Vercel, Netlify, Railway, Fly, Firebase, Ansible… Surfaces checks those files: pull_request_target, curl-pipe-shell, write-all / persist-credentials, 0.0.0.0/0, public S3, privileged k8s/compose, :latest / root, CORS *. Harden is detect-only (no auto-fix). Not a live posture scan, not Nuclei/DAST by default.

engines: fingerprint + surfaces + boot + harden (detect-only)
How it works, the real loop

A harness, not a wrapper.
Engines write. The ledger remembers.

This is a native agent runtime with a local database at the center. Engines run once, findings land with path, line, evidence, severity, and engine name, and stay there.

00REPOyour tree, untouched
01WALKnative index · ignore-aware
02ENGINESmulti-engine · deterministic
03LEDGERprivate / local
04FINDINGSSoR rail · triage
05FIXprompt, chat, interrogate

Desktop Findings is the SoR

The transcript runs beside a durable Findings rail. Start a Scan, Rescan, or Scan changed files. Pick Fast, Investigate, or Deep. Toggle vendor or literals, enable the extra catalog for supply-chain alerts when a token is set, and pause or resume anytime.

Triage each finding as confirmed, dismissed, or verified fixed. Achilles remembers your choice, and the ledger tracks everything from open to resolved.

engines write ledger remembers findings rail + chat

The ledger is the record

engagementsworkspaces you opened
assessmentseach scan run, with parent + new/gone
findingspath, line, evidence, severity, engine
finding_eventstriage history
engine_runswhat ran, when
handle_indexstable ids across rescans
intel_cacheKEV/EPSS write-through
coverage_snapshotswhat the walk saw
candidatesheuristic units (Deep)
work_unitsstack playbooks
Stable controls

The desktop talks directly to the engine to start, pause, cancel, or list scans and findings. No parsing chat text, no brittle scraping.

Beyond the scan

Code Map: explore the repo
visualize functions, APIs, and templates

Findings tell you what's risky. Code Map shows you where it lives and how it connects. Everything stays local with no chat upload and no invented graph. Built from the same walk that feeds the ledger.

FUNCTIONS BY FILE

Every file and its functions

Browse the workspace file by file, functions, exports, and entry points surfaced from the inventory the engines already built. Find the handler before you read the CVE.

local walk · no LLM · file → symbol
CALL GRAPH

Follow the call

Trace caller → callee across the tree. When a finding lands on a sink, walk backwards to the source without grep-spelunking.

directed edges · local only · sink ← source
ROUTES & TEMPLATES

HTTP / API routes + templates

Map exposed routes, framework handlers, and template bindings in one view. See which endpoint renders which view, which middleware guards it, and where that XSS sink is actually reachable.

routes → handlers → templates · framework-aware
How it fits Code Map is read-only exploration on the walked tree, same ignore rules, same local ledger. Use it to orient before you triage: open a finding → jump to its file in the map → follow the graph → copy a brief into your editor. You fix where you already code.
Findings stay the system of record. Code Map is navigation. Pair it with Skills like map-codebase / map-attack-surface or ask the model about ledger ids once you’ve oriented.
Fix where you live, MCP + Skills + Recipes

Finds here. Patches there.
MCP makes it stick.

Achilles triages. Your editor or coding agent applies. Copy a fix brief, or let the agent read the ledger directly over MCP, far deeper than a frontier model can do alone, and wildly more token-efficient.

Designed to pair, not replace

Achilles runs beside Codex, Claude Code, OpenCode, and Cursor as a dedicated security pair programmer. Achilles finds, triages, and briefs, with the ledger as shared context. Your harness patches. Together they are more accurate and far more token efficient than either alone.

MCP, the harness as a tool achilles mcp

Model Context Protocol lets your coding agent use Achilles as a tool. Findings stay in the local ledger; the agent reads that ledger over MCP instead of you pasting scan output or whole files into chat.

Cursor Claude Code Codex OpenCode any MCP host
/achilles mcp · editor config
Add server in your editor’s MCP settings
command: achilles harness binary on PATH
args: mcp starts the MCP server
appsec tools
appsec_scan · appsec_query · appsec_investigate
appsec_brief · appsec_verdict · appsec_triage
Ledger as context. No whole-repo paste.

No editor? Same tools headless via achilles appsec {scan, query, investigate, brief, verdict, triage} for CI and scripts.

Token-efficient by design Engines search · model judges · FAST mode extremely token-efficient · capped context on Investigate/Deep
Scan · Token budget Capped context
  1. FAST mode Extremely token-efficient. Paste nothing.
  2. Investigate Stuffed prompt over ≤8 findings + validator verdict. No repo dump.
  3. Deep Heuristic units ≤24 + stack playbooks, ≤8 turns, must quote source.
  4. MCP Agent reads ledger rows, not the whole tree. Frontier-plus-engine, for pennies.
Ledger-first context No whole-tree paste
Each finding becomes a copy-paste fix brief with impacted paths, lines, and functions, evidence, severity, recommended next steps, and triage resolution criteria, ready for your editor or agent.

Recipes

Shipped in the binary, materialized on first run. Show up in Recipe Library, can’t be deleted. Import extras or run via CLI. Skill = how to think mid-chat · recipe = same job on demand or on a timer.

Scan Recap

Fast scan, then walk what’s still open in the ledger.

Runs a fast scan on your workspace, then walks through severity, engine, and triage state for every open finding.

Best for a quick health check after you land changes, or a scheduled nightly recap so nothing new sits unreviewed.

SCA Hygiene Report

Lockfile CVEs plus sloppy dependency hygiene.

Pulls known-vulnerable packages from your lockfiles and flags unpinned versions, missing locks, risky install scripts, and lookalike names.

Built for weekly dependency review: what’s exploitable today, and what’s sloppy even when it isn’t CVE-tagged yet.

Security Review

High-confidence review of the PR, branch, or diff you’re on.

Starts from Achilles findings and demands a concrete path to a sink, with no invented issues.

Same judgment as the security-review skill, packaged as a recipe you can run on demand or put on a schedule before merge.

Scheduler

The scheduler only fires recipes — same job on a timer.

Set cadence in Recipe Library: nightly recap, weekly package hygiene, or a pre-merge security review. Achilles runs headless and writes results to the ledger.

  • NightlyScan Recap
  • WeeklySCA Hygiene
  • Pre-mergeSecurity Review
Bring any model, or none

You bring the model.
Arrav snaps in later.

FAST mode is extremely token-efficient. Investigate and Deep put the model on ledger rows — path, line, evidence, and severity already in context — not open-ended chat. Keys stay on the machine.

ClaudeGPTOpenRouterOllamaZ.AIAny OpenAI-compatible

Any provider you already pay for. No scan quota.

Arrav Coming soon · 100% free

Arrav is the edge model that snaps into Achilles

A fine-tuned edge model meant to run on the machine, including low-power devices. Lightweight. Free when it ships. The harness is what you install today, also free. Arrav is not in this download.

  • Runs locally, no cloud API needed when it lands
  • Edge-capable, small footprint
  • Free · snaps into the same ledger-first loop
  • No GPU required
Free · stable release

Download the desktop installer

Installers ship from GitHub Actions. The floating stable tag always tracks the latest build. All releases →