Skip to content
All ventures

Security & assurance

Achilles

Inspect AI-generated code before it becomes your exposure.

AI-assisted development increases the code entering review. Your team needs findings it can inspect, triage and compare with its existing scanners.

AppSec and engineering leaders

Source prototype, access under NDA

A finding to investigate
request input
  → file path construction
  → filesystem access

Review question:
Can input escape the intended directory?
Input
Representative maintained source
Analysis
Selected rules and bounded taint paths
Evidence
Source location, rule and review context
Decision
Confirm, dismiss with reason, or investigate
Decision logic and control flow

Explore the reasoning

Agree the code, rule set and current scanners against which the evaluation will be judged.

Engage now
A bounded evaluation plan covering rule fit, review workflow and comparison with your current tools.
Inspect
Source prototype, access under NDA
Five Rust crates covering parsers, core analysis, optional AI support, LSP, and CLI surfaces.
Still to validate
Static rules can produce false positives and false negatives; a clean scan is not a security guarantee.
Measure false positives, false negatives, language coverage, and operating impact against representative maintained repositories.

Source reviewed

The decision behind the system

What should a reviewer inspect before accepting AI code?

A Rust static-analysis toolkit for AI-generated and AI-application code: deterministic rules, bounded taint analysis, editor diagnostics and reviewable CI findings. Complements existing SAST and accountable security review.

Achilles inspects selected code and application-security patterns. Aegis organises system-level governance evidence. Neither substitutes for accountable security review.

Rules you can inspect

Tree-sitter parsing and source-controlled rules identify selected risky patterns. Bounded taint analysis supports selected high-risk rules.

Where developers work

CLI, language-server diagnostics and SARIF output put findings into editor, CI and code-review workflows.

Team-specific triage

Custom rule setup, severity overrides and optional model-assisted triage help adapt review to a team's code and risk model.

Read the complete system walkthrough
  1. Select

    Agree the code, rule set and current scanners against which the evaluation will be judged.

  2. Inspect

    Examine deterministic rules and selected bounded taint paths. A potential finding is a question for review, not proof of exploitability.

  3. Triage

    Follow the finding into CLI, editor or SARIF review. Keep optional model-assisted triage distinct from deterministic analysis.

  4. Compare

    Review missed cases and false positives, remediate and rescan. A clean scan is not a security guarantee.

See all evidence and limits

Inspect the source, test conditions and operating limits in the technical record.

Explore the technical record and evidence

Business ↔ technology bridge · Security capability experiment

Convert fast AI-assisted coding into reviewable release evidence.

Explores deterministic security analysis for AI-generated and AI-application code.

This is a portfolio and source interpretation—not a customer, deployment, certification, or outcome claim.

  1. 01

    Business pressure

    AI-assisted development can increase code volume and repeat insecure patterns faster than conventional review capacity grows.

  2. 02

    Product decision

    Keep deterministic parsing and source-controlled rules primary, with model-assisted triage optional and explicitly separate.

  3. 03

    Technical record

    Rust crates, tree-sitter parsers, YAML rules, SARIF output, CLI, LSP, CI integration, and selected fixtures.

  4. 04

    Evidence return

    Findings and unresolved uncertainty return to remediation priority, release criteria, security review, and engineering policy.

Repository/runtime boundary

This page interprets source from a separate venture repository. Source presence does not make the venture a service running inside hyperion-consulting.io.

Visitor and client-data AI processing is restricted to Mistral through the governed EU endpoint. Owner-authorized Helio, Search and Product Council paths are enabled. A separate public-source editorial lane uses Anthropic with governed Mistral backup; it receives no website enquiries, client documents or visitor conversations. Deterministic tools remain available when remote AI is unavailable.

Source evidence

What the source actually establishes

A Rust static-analysis toolkit for AI-generated and AI-application code. The reviewed source includes tree-sitter parsing, deterministic rules, bounded taint analysis for selected rules, SARIF output, CLI and editor diagnostics, and optional model-assisted triage.

Maturity
Source prototype, access under NDA
Evidence review
Source snapshot through

Architecture and product decisions

  • Keep deterministic parsing and rules as the primary scan path; make model-assisted analysis optional.
  • Represent findings in interoperable output such as SARIF for CI and code-review workflows.
  • Position the tool as a complement to general-purpose security scanners, not a replacement for them.

Inspectable evidence

  • Five Rust crates covering parsers, core analysis, optional AI support, LSP, and CLI surfaces.
  • Source-controlled rules, selected bounded taint paths, custom-rule setup and severity overrides.
  • Integration fixtures, SARIF help links, a GitHub Action, editor extension and in-memory language-server diagnostics.

Claim boundary

  • Static rules can produce false positives and false negatives; a clean scan is not a security guarantee.
  • Optional model-assisted triage requires separate configuration and review.
  • No certification, comprehensive vulnerability coverage, or customer security outcome is asserted.

Repository evidence is not client, deployment, certification, or outcome evidence.

Architecture

From CI hook to security findings

Three layers: CLI and CI integration, a 210-rule AST scanner for selected AI-generated and AI-application patterns, and optional model-assisted triage that can help rank findings. None of them replaces security review.

Source map only: a layer can represent implemented code, an adapter boundary, or documented design. It does not assert a configured production service.

  1. 01

    Layer 1 — Developer Surface

    Rust command-line, LSP, CI, and SARIF surfaces support local and review-workflow scans. No universal runtime or scale performance is asserted.

  2. 02

    Layer 2 — 210-Rule Engine

    The source represents parsers for JavaScript, TypeScript, Python, Go, Java, Rust, Ruby, PHP, C# and Swift. Source-controlled rules cover selected AI-generated and AI-application risks, with bounded taint analysis for selected high-risk rules. Coverage and accuracy require evaluation against representative code.

  3. 03

    Layer 3 — Optional Model-Assisted Triage

    Optional triage with a Mistral model, local or hosted, can help filter likely false positives and re-rank findings by context. It runs only when enabled and does not replace security review.

210 rules across 5 categories

AI-application patterns that need explicit rules

Deterministic rules identify selected AI-application patterns; optional model-assisted triage can help rank findings, but neither path replaces security review.

Repository surface only: availability, completeness, performance, and operational fitness require separate validation.

Vibe-Code Patterns

01

Hardcoded API keys in prompt templates, SQL via string concat in 'just demo' code paths, unsafe deserialisation, eval of LLM output, secrets logged at INFO. The cluster of patterns that ship when 'works once' beats 'works safely.'

Agent Security

02

Tool definitions with no parameter validation, agent capabilities that overlap with admin privileges, missing rate limits on LLM-callable tools, prompt prefixes that leak system identity. The cluster that lets a jailbreak turn into an incident.

LLM Application Risks

03

Unsanitised LLM output rendered as HTML, prompt-injection vectors in user-controlled context, indirect injection via retrieved docs, model-output piped into shell or eval, missing output schema validation. The OWASP-LLM-Top-10 made concrete.

Framework Vulnerabilities

04

Next.js Server Action exposure without auth, FastAPI dependency injection bypass, LangChain chain-of-thought leakage, Django ORM SQL injection via raw(), unsafe template render. Per-framework rules, not generic taint-tracking.

Cloud Security

05

Public S3 with sensitive prefixes, IAM roles with `*` actions, AWS Bedrock cross-account permissions, GCP Vertex AI exposed in a service-account-less context. The cluster that lets a leaked endpoint URL turn into a full data exfiltration.

Tech Stack

Built With

Named technologies identify repository dependencies or adapter surfaces; they do not assert a live integration or deployment.

Core Engine
Rust workspace: achilles-parsers, achilles-core, achilles-ai, achilles-lsp, achilles-cli — tree-sitter, serde, regex, YAML rule engine, taint flow analysis
Language Parsers
tree-sitter-javascript, tree-sitter-typescript, tree-sitter-python, tree-sitter-go, tree-sitter-java, tree-sitter-rust, tree-sitter-ruby, tree-sitter-php, tree-sitter-c-sharp, tree-sitter-swift
AI Integration
Mistral AI SDK, Ollama client, configurable model selection, false-positive filtering, severity re-ranking
CLI, LSP & Output
clap, coloured, serde_json, SARIF v2.1.0 output, Language Server Protocol
CI/CD
GitHub Actions (CI + cross-compile release), GitLab CI, Bitbucket Pipelines, pre-commit hooks
Platforms
Linux (amd64/arm64), macOS (amd64/arm64), Windows (amd64)
Technical documents & controlled source access

Source Code

Explore the Code

The Achilles source code is available upon request for evaluation and partnership purposes.

NDA Required

To access the source code, please sign our Non-Disclosure Agreement.

Work with Hyperion

Evaluate a representative code sample

A bounded evaluation plan covering rule fit, review workflow and comparison with your current tools.

Bring a short description of your situation, constraints and decision. We agree the scope, responsibilities and quote before work begins.