跳至正文

Security capability experiment

Achilles AI

面向 AI 生成代码的静态分析

A Rust static-analysis tool focused on AI-generated and AI-application code patterns. It combines tree-sitter parsing, source-controlled rules, SARIF output, command-line and editor surfaces, and optional model-assisted triage.

业务 ↔ 技术桥梁 · Security capability experiment

Convert fast AI-assisted coding into reviewable release evidence.

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

这是对项目组合与源代码的解读,并非客户、部署、认证或成果声明。

  1. 01

    业务压力

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

  2. 02

    产品决策

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

  3. 03

    技术记录

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

  4. 04

    证据回流

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

源码证据

源码实际能够证明什么

A Rust static-analysis tool focused on AI-generated and AI-application code patterns. It combines tree-sitter parsing, source-controlled rules, SARIF output, command-line and editor surfaces, and optional model-assisted triage.

详细技术快照以英文维护。

成熟度
Source prototype, access under NDA
证据审查
源码快照截至

产品与架构决策

  • 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.

可核验的证据

  • Five Rust crates covering parsers, core analysis, optional AI support, LSP, and CLI surfaces.
  • 210 source-controlled YAML rule files in the reviewed snapshot.
  • Tagged internal releases, integration fixtures, a GitHub Action, and an editor extension.

声明边界

  • 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.

代码仓库证据不等同于客户、部署、认证或成果证据。

架构

从 CI 钩子到安全发现项

三层架构:CLI 与 CI 集成、一个针对 AI 生成代码和 AI 应用中选定模式的 210 规则 AST 扫描器,以及可能有助于对发现项排序的可选模型辅助分诊。三者都不能替代安全评审。

仅为源代码图:一层可能代表已实现代码、适配器边界或文档设计,并不证明已配置生产服务。

  1. 01

    第 1 层 — 开发者界面

    Rust 命令行、LSP、CI 和 SARIF 接口支持本地扫描和评审流程中的扫描。不对通用运行时或大规模性能作任何声明。

  2. 02

    第 2 层 — 210 规则引擎

    面向 Python、TypeScript、JavaScript、Go 的 AST 扫描器。五个规则类别:氛围编码模式、智能体安全(工具定义、能力蔓延)、LLM 应用风险(提示注入、未净化输出)、框架漏洞、云配置错误。通用扫描器与这些规则覆盖的范围不同。

  3. 03

    第 3 层 — 可选的模型辅助分诊

    使用本地或托管的 Mistral 模型进行可选分诊,可能有助于筛除疑似误报,并根据上下文对发现项重新排序。仅在启用时运行,不能替代安全评审。

问题所在

问题所在

为什么 AI 生成的代码是一种安全风险

  1. 代码发布快于评审

    AI 助手生成代码的速度超过了人工评审的速度。氛围编码——以极少的审视就采纳 AI 建议——正成为新常态。

  2. 不安全模式的规模化蔓延

    AI 优化的目标是能运行的代码,而非安全的代码。同样的硬编码密钥、同样的 SQL 字符串拼接、同样的过度宽松的 CORS——在成千上万个项目中反复出现。

  3. AI 特有的模式需要明确的规则

    通用扫描器与针对 AI 的规则覆盖的范围不同。提示模板、智能体工具和模型输出处理,适合在现有 SAST 之外增加专门的检查。

  4. 智能体安全尚属未知领域

    智能体可以被授予文件、数据库、网络或 shell 方面的能力。它们的权限边界和工具输入,需要超出常规应用代码检查的评审。

规则

规则类别

210 条规则,针对五个 AI 专属漏洞领域

仅为源代码范围:条目可能描述代码、已记录适配器或已配置工作流,并不表示生产服务正在运行。

  1. 01

    氛围编码 (VC001-VC040)

    40 条规则,针对 AI 编码助手常见的生成模式:提示中的硬编码密钥、通过拼接造成的 SQL 注入、危险的代码执行、不安全的默认配置、缺失的身份验证、路径遍历、不安全的反序列化以及弱加密。

  2. 02

    智能体安全 (AS001-AS030)

    30 条规则,针对自主智能体代码:过度宽松的工具定义、不受限制的文件系统访问、从用户输入执行 shell 命令、缺失的审计日志、破坏性操作前无确认、不安全的智能体间通信以及权限提升途径。

  3. 03

    LLM 应用 (LA001-LA040)

    40 条规则,针对生产环境的 LLM 应用:系统提示中的原始用户输入、未净化的 HTML 渲染、执行 LLM 生成的 SQL、暴露的 API 密钥、缺失的提示注入检测、不安全的 OAuth 流程、已弃用的 SDK 使用、未经验证的工具输出以及训练数据外泄风险。

  4. 04

    框架安全 (FS001-FS050)

    覆盖 10 个框架的 50 条规则:Express.js、Django、Flask、FastAPI、Spring Boot、Laravel、Rails、Next.js、NestJS 与 Gin——涵盖调试模式暴露、缺失的鉴权守卫、CORS 通配符、批量赋值、未经验证的 DTO 以及 actuator 端点泄露。

  5. 05

    云安全 (CS001-CS050)

    覆盖 7 个平台的 50 条规则:AWS (15)、Terraform (10)、Kubernetes (6)、GitHub Actions (5)、GCP (5)、Azure (5)、Docker (4)——涵盖 IAM 权限过度、公开存储桶、禁用加密、特权容器、未固定版本的 Actions 以及配置错误的安全组。

  6. 06

    自定义 YAML 规则

    用 YAML 编写自定义规则——无需 Rust 知识。定义 AST 节点类型、正则表达式模式、祖先上下文约束以及修复建议。一条命令即可脚手架生成新规则。

  7. 07

    SARIF 与 GitHub 集成

    原生 SARIF v2.1.0 输出,可集成至 GitHub Security 标签页。发现项以行内 PR 注解形式呈现,附带严重程度、修复建议和参考资料。同时支持 JSON 和文本输出。

  8. 08

    模型辅助分诊(可选)

    使用 Mistral AI 或本地 Ollama 模型进行可选分诊,可能有助于筛除疑似误报、根据上下文对发现项重新排序并给出修复建议。通过 --ai 标志启用,不能替代安全评审。

  9. 09

    语言服务器协议

    LSP 接口向兼容的编辑器提供诊断和部分代码操作。编辑器中的行为和规则覆盖范围应在目标工作流中验证。

  10. 10

    GitHub Action 与 CI/CD

    代码仓库包含一个 GitHub Action 和一条用于 CI 的命令行集成途径。其他流水线集成需要由使用方自行配置和验证。

覆盖 5 个类别的 210 条规则

需要明确规则的 AI 应用模式

确定性规则识别 AI 应用中选定的模式;可选的模型辅助分诊可能有助于对发现项排序,但两者都不能替代安全评审。

仅为仓库表面:可用性、完整性、性能与运营适用性需要另行验证。

氛围编码模式

01

提示模板中硬编码的 API 密钥、“只是演示”代码路径里通过字符串拼接的 SQL、不安全的反序列化、对 LLM 输出执行 eval、以 INFO 级别记录密钥。当“能跑一次”压倒“安全运行”时随之而来的一簇模式。

智能体安全

02

没有参数验证的工具定义、与管理员权限重叠的智能体能力、LLM 可调用工具上缺失的速率限制、泄露系统身份的提示前缀。让一次越狱演变为一起事件的那一簇问题。

LLM 应用风险

03

未净化的 LLM 输出被渲染为 HTML、用户可控上下文中的提示注入途径、经由检索文档的间接注入、将模型输出送入 shell 或 eval、缺失的输出模式验证。把 OWASP-LLM-Top-10 落到实处。

框架漏洞

04

无鉴权暴露的 Next.js Server Action、FastAPI 依赖注入绕过、LangChain 思维链泄露、通过 raw() 造成的 Django ORM SQL 注入、不安全的模板渲染。逐框架定制的规则,而非通用的污点追踪。

云安全

05

带有敏感前缀的公开 S3、具有 `*` 操作权限的 IAM 角色、AWS Bedrock 跨账户权限、在缺失服务账户上下文中暴露的 GCP Vertex AI。让一个泄露的端点 URL 演变为完整数据外泄的那一簇问题。

技术栈

技术构建

所列技术仅标识仓库依赖项或适配器表面,并不证明存在活动集成或部署。

核心引擎
Rust 工作区:achilles-parsers、achilles-core、achilles-ai、achilles-lsp、achilles-cli——tree-sitter、serde、regex、YAML 规则引擎、污点流分析
语言解析器
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 集成
Mistral AI SDK、Ollama 客户端、可配置的模型选择、误报过滤、严重程度重排序
CLI、LSP 与输出
clap、colored、serde_json、SARIF v2.1.0 输出、语言服务器协议
CI/CD
GitHub Actions(CI + 交叉编译发布)、GitLab CI、Bitbucket Pipelines、预提交钩子
平台
Linux (amd64/arm64)、macOS (amd64/arm64)、Windows (amd64)

源代码

探索代码

Achilles AI 源代码可应要求提供,用于评估与合作目的。

需要签署保密协议

若要访问源代码,请签署我们的保密协议。

相关咨询服务

需要帮助来保护生产环境中的 AI 生成代码吗?我的咨询服务可与 Achilles AI 相辅相成。

EU AI Act 合规咨询 — 风险分类与实施
4

EU AI Act 合规咨询 — 风险分类与实施

用十二到二十四周时间,对你的 AI 系统进行风险分级、支持由提供方主导的合格评定并为其构建证据、产出 Annex IV 技术文档,并搭建上市后监测——针对自主、工业与机器人部署所适用的高风险类别进行专门深入处理

Learn more

合作

对 Achilles AI 感兴趣?

无论你需要为团队提供 AI 代码安全审计,还是希望在 AppSec 领域探索合作。

取得联系
AI 洞察

The AI Dispatch

从演示走向可靠运营。订阅 Physical AI 新读物。

随时可取消订阅。绝无垃圾邮件。