projectachilles/ProjectAchilles
GitHub: projectachilles/ProjectAchilles
ProjectAchilles 是一個开源持续安全验证平台,能將威胁情报转化为可执行的端点测试,量化防御就绪度并跟踪趋势。
Stars: 13 | Forks: 5
# ProjectAchilles
[args]` | 直接平台管理,提供丰富的终端输出 |
| **AI 聊天模式** | `achilles chat` | 由 AI SDK v6 驱动的对话代理,拥有完整工具访问权限 |
**涵盖范围:**
- **代理资产群** —— 列出、检查、标记和管理已注册的代理
- **注册令牌** —— 创建、撤销和审计令牌
- **任务管理** —— 创建、分配和监控任务执行
- **任务调度** —— 创建、读取、更新、删除周期性调度
- **测试浏览器** —— 搜索、检查和构建测试
- **分析** —— 查询防御评分、趋势和执行历史
- **Defender** —— 安全评分、警报、控制项、交叉关联
- **构建系统** —— 触发交叉编译、管理证书
- **风险接受** —— 接受/撤销对单个控制项的风险
- **用户管理** —— 列出和检查 Clerk 用户
**关键特性:**
- 每条命令支持 `--json` 标志,用于结构化输出(脚本、LLM 消费)
- 多配置文件服务器配置(`achilles config profile`)
- Clerk 设备流认证(`achilles login`)
- AI 聊天模式,包含 Ink TUI(交互式)或 readline 回退(管道模式)
- AI 代理可访问所有平台 API,具有审批层级(读取/写入/破坏性)
### 测试浏览器
浏览包含丰富元数据的完整测试库,并直接从 UI 执行测试。
### 分析与度量
通过 30 多个由 Elasticsearch 驱动的查询端点量化你的安全态势。
React 19 · Vite · Tailwind CSS
Browser · Analytics · Agents · Settings"] CLI["CLI
Bun · Ink · AI SDK v6
Commands · AI Chat Agent"] end FE -->|Clerk JWT| BE CLI -->|Clerk JWT| BE subgraph BE ["Backend — Express + TypeScript"] BRS[Browser Service] ANS[Analytics Service] AGS[Agent Service] BDS[Build Service] DFS[Defender Service] ALS[Alerting Service] end BRS --> GIT[(Git Repo)] ANS --> ES[(Elasticsearch)] AGS --> DB[(SQLite)] BDS --> GO[Go Toolchain + Code Signing] DFS --> GRAPH[Microsoft Graph API] ALS --> NOTIFY[Slack · Email] AGS <-->|Agent API Key| AGENT subgraph EP ["Endpoints — Windows · Linux · macOS"] AGENT["Achilles Agent — Go
Heartbeat · Executor · Updater"] end ``` ### 技术栈 | 层 | 技术 | 版本 | |-------|------------|---------| | 前端 | React | 19.2 | | 构建工具 | Vite | 8.0 | | 样式 |wind CSS | 4.2 | | 状态管理 | Redux Toolkit | 2.11 | | 路由 | React Router | 7.13 | | 身份认证 | Clerk | 5.x | | 后端 | Express | 4.18 | | 语言 | TypeScript | 5.9 | | CLI 运行时 | Bun | 1.3 | | CLI UI | Ink | 6.8 | | AI SDK | Vercel AI SDK | 6.0 | | 代理 | Go | 1.24 | | 分析存储 | Elasticsearch | 8.x | | 代理数据库 | SQLite | 3.x | | 代码签名 | osslsigncode | — | | 容器化 | Docker Compose | — | ### 项目结构 ``` ProjectAchilles/ ├── frontend/ # React 19 + TypeScript + Vite │ └── src/ │ ├── components/ # Shared UI primitives │ ├── pages/ # Module pages (browser, analytics, agents, settings) │ ├── services/api/ # API client modules │ ├── hooks/ # Custom hooks (useAuthenticatedApi, etc.) │ └── store/ # Redux slices ├── backend/ # Express + TypeScript (ES modules) │ └── src/ │ ├── api/ # Route handlers (*.routes.ts) │ ├── services/ # Business logic by module │ ├── middleware/ # Auth, error handling, rate limiting │ └── types/ # TypeScript definitions ├── cli/ # Bun + TypeScript CLI with AI chat agent │ └── src/ │ ├── commands/ # Command modules (agents, tasks, browser, analytics, ...) │ ├── chat/ # AI chat agent (AI SDK v6, Ink TUI, tool definitions) │ ├── api/ # API client for backend communication │ ├── auth/ # Clerk device-flow token management │ ├── config/ # Multi-profile configuration store │ └── output/ # Formatters (table, JSON, colors) ├── agent/ # Go agent source │ ├── main.go # CLI entry point (--enroll, --run, --install) │ └── internal/ # Agent modules (poller, executor, updater, sysinfo) ├── scripts/ # Shell scripts and PowerShell bootstrap │ ├── start.sh # Development startup script │ ├── setup.sh # Interactive setup wizard (Linux/macOS) │ └── Install-ProjectAchilles.ps1 # Bootstrap script (Windows) ├── docs/ # Documentation │ ├── deployment/ # Deployment guides (Fly, Railway, Render, Vercel) │ └── security/ # Security audit and remediation docs ├── docker-compose.yml # Multi-service deployment └── CLAUDE.md # AI assistant development guidance ``` ## 配置 ### 身份认证(必需) 所有模块都需要 [Clerk](https://clerk.com) 身份认证。创建一个 Clerk 应用并配置你的密钥: ``` # frontend/.env VITE_CLERK_PUBLISHABLE_KEY=pk_test_... # backend/.env CLERK_PUBLISHABLE_KEY=pk_test_... CLERK_SECRET_KEY=sk_test_... ``` ### 环境变量 #### 前端 | 变量 | 描述 | 默认值 | |----------|-------------|---------| | `VITE_CLERK_PUBLISHABLE_KEY` | Clerk 可发布密钥 | —(必需) | | `VITE_BACKEND_PORT` | Vite 代理的后端端口 | `3000` | | `VITE_API_URL` | 完整后端 URL(生产环境) | — | #### 后端 | 变量 | 描述 | 默认值 | |----------|-------------|---------| | `CLERK_PUBLISHABLE_KEY` | Clerk 可发布密钥 | —(必需) | | `CLERK_SECRET_KEY` | Clerk 密钥 | —(必需) | | `PORT` | 服务器端口 | `3000` | | `SESSION_SECRET` | 会话签名密钥 | —(生产环境必需) | | `CORS_ORIGIN` | 允许的 CORS 来源 | `http://localhost:5173` | | `TESTS_REPO_URL` | 测试库的 Git URL | — | | `GITHUB_TOKEN` | 私有仓库的个人访问令牌 | — | | `TESTS_SOURCE_PATH` | 本地测试回退路径 | `./tests_source` | | `AGENT_SERVER_URL` | 代理通信的外部 URL | — | | `ENCRYPTION_SECRET` | 静态设置加密密钥 | 机器派生 | #### Elasticsearch(可选) | 变量 | 描述 | |----------|-------------| | `ELASTICSEARCH_CLOUD_ID` | Elastic Cloud 部署 ID | | `ELASTICSEARCH_API_KEY` | 用于身份认证的 API 密钥 | | `ELASTICSEARCH_NODE` | 直接节点 URL(例如 `http://localhost:9200`) | | `ELASTICSEARCH_INDEX_PATTERN` | 索引模式(默认:`achilles-results-*`) | #### Docker | 变量 | 描述 | |----------|-------------| | `NGROK_FRONTEND_DOMAIN` | 前端隧道的 ngrok 域名 | | `NGROK_BACKEND_DOMAIN` | 后端/代理隧道的 ngrok 域名 | ## 数据存储与干净重置 运行时状态(代理、令牌、设置、证书、编译后的二进制文件)存储在 **仓库外部** —— 即用户主目录中。这是有意为之:保护你的数据免受 `git pull`、重新克隆或意外删除仓库文件夹的影响。 ### 状态存储位置 | 平台 | 数据目录 | |----------|----------------| | Linux / macOS(本地) | `~/.projectachilles/` | | Windows | `C:\Users\\.projectachilles\` |
| Docker / Render / Fly.io | `/root/.projectachilles/`(容器内,由卷支持) |
| Vercel(无服务器) | Turso 数据库 + Vercel Blob 存储(无文件系统状态) |
### 内部内容
| 路径 | 内容 |
|------|----------|
| `agents.db` | SQLite 数据库:代理、注册令牌、任务、调度、代理版本 |
| `analytics.json` | 加密的 Elasticsearch 凭据(AES-256-GCM) |
| `integrations.json` | 加密的 Defender、Slack 和电子邮件凭据 |
| `tests.json` | 测试库配置 |
| `certs/cert-*/` | 代码签名 PFX 证书(最多 5 个,活动证书记录在 `active-cert.txt` 中) |
| `binaries/-/` | 已编译的 Go 代理,可随时下载 |
| `builds//` | 每个测试的编译二进制文件 |
| `signing/` | 代理 API 密钥签名密钥对 |
| `custom-tests/` | 用户自建测试,位于 git 同步库之外 |
此外,测试结果和 Defender 警报存储在 **Elasticsearch** 中(`achilles-results-*`、`achilles-defender` 索引)——这些数据保存在你的 ES 集群中,而不是本地文件系统上。
### 干净重置(从头开始)
停止服务并移除数据目录。下次启动时将创建一个空数据库。
**Linux / macOS(本地安装):**
```
./scripts/start.sh --stop
rm -rf ~/.projectachilles
# 可选:同时清除 Elasticsearch 测试结果
curl -X DELETE "$ELASTICSEARCH_NODE/achilles-results-*"
```
**Windows(PowerShell):**
```
.\scripts\start.sh --stop # or stop backend/frontend processes manually
Remove-Item -Recurse -Force $HOME\.projectachilles
```
**Docker Compose:**
```
docker compose down --volumes # removes the achilles-data volume
docker compose up -d
```
**Render / Fly.io:** 通过提供商仪表盘或 CLI(`flyctl volumes destroy`、Render → 磁盘 → 删除)删除并重新创建持久磁盘/卷,然后重新部署。
**Vercel(无服务器):** 删除 Turso 数据库(`turso db destroy ` 并重新创建)并清除 Blob 存储(通过 `vercel blob` CLI 或仪表盘删除对象)。
### 选择性重置(保留安装,仅清除代理)
如果你想保留 Clerk 配置、证书和 ES 凭据,但移除所有已注册的代理:
```
sqlite3 ~/.projectachilles/agents.db <<'SQL'
DELETE FROM tasks;
DELETE FROM schedules;
DELETE FROM agents;
DELETE FROM enrollment_tokens;
SQL
```
之后重启后端,以便它干净地重新打开数据库。
## API 参考
### 浏览器
| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| `GET` | `/api/browser/tests` | 列出所有安全测试 |
| `GET` | `/api/browser/tests/:uuid` | 获取测试详情及元数据 |
| `GET` | `/api/browser/tests/:uuid/files` | 列出测试文件 |
| `GET` | `/api/browser/tests/:uuid/files/:filename` | 获取文件内容 |
### 分析
| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| `GET` | `/api/analytics/defense-score` | 聚合防御评分 |
| `GET` | `/api/analytics/defense-score/trend` | 评分随时间变化趋势 |
| `GET` | `/api/analytics/host-test-matrix` | 主机 × 测试热力图数据 |
| `GET` | `/api/analytics/technique-distribution` | 技术覆盖细分 |
| `GET` | `/api/analytics/executions/paginated` | 分页结果及筛选 |
| `POST` | `/api/analytics/settings` | 配置 Elasticsearch 连接 |
### 代理(管理)
| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| `GET` | `/api/agent/admin/agents` | 列出代理并支持筛选 |
| `POST` | `/api/agent/admin/tokens` | 创建注册令牌 |
| `POST` | `/api/agent/admin/t` | 为代理创建任务 |
| `GET` | `/api/agent/admin/schedules` | 列出调度 |
| `POST` | `/api/agent/admin/schedules` | 创建周期性调度 |
### 代理(设备)
| 方法 | 端点 | 认证方式 |
|--------|----------|------|
| `POST` | `/api/agent/enroll` | 注册令牌 |
| `POST` | `/api/agent/heartbeat` | 代理密钥 |
| `GET` | `/api/agent/tasks` | 代理密钥 |
| `POST` | `/api/agent/tasks/:id/result` | 代理密钥 |
| `GET` | `/api/agent/update` | 代理密钥 |
### 构建与设置
| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| `POST` | `/api/tests/builds/:uuid` | 触发交叉编译 |
| `GET` | `/api/tests/builds/:uuid/download` | 下载构建的二进制文件 |
| `GET` | `/api/tests/certificates` | 列出证书 |
| `POST` | `/api/tests/certificates/upload` | 上传 PFX/P12 证书 |
| `POST` | `/api/tests/certificates/generate` | 生成自签名证书 |
### Defender 集成
| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| `GET` | `/api/analytics/defender/secure-score` | 当前安全评分及分类细分 |
| `GET` | `/api/analytics/defender/secure-score/trend` | 安全评分随时间变化趋势 |
| `GET` | `/api/analytics/defender/alerts` | Defender 警报及筛选 |
| `GET` | `/api/analytics/defender/controls` | 控制配置文件及合规状态 |
| `GET` | `/api/analytics/defender/cross-correlation` | 防御评分与安全评分相关性 |
| `GET` | `/api/integrations/defender/config` | Defender 配置状态 |
| `POST` | `/api/integrations/defender/config` | 保存 Defender 凭据 |
| `POST` | `/api/integrations/defender/sync` | 触发手动数据同步 |
### 告警
| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| `GET` | `/api/integrations/alerts/config` | 获取告警阈值配置 |
| `POST` | `/api/integrations/alerts/config` | 保存告警阈值和通知渠道 |
## 文档
### 入门指南
- [快速部署](docs/deployment/QUICK_START_DEPLOYMENT.md) —— 50 分钟的生产部署
- [Windows Docker 安装](docs/deployment/WINDOWS_DOCKER_INSTALL.md) —— Windows 搭配 Docker Desktop 的完整指南
- [Docker Compose 指南](docker-compose.yml) —— 本地部署,可选 Elasticsearch
### 部署
- [Docker Compose 指南](docker-compose.yml) —— 本地部署,可选 Elasticsearch
- [快速部署](docs/deployment/QUICK_START_DEPLOYMENT.md) —— 50 分钟的生产部署
- [Railway 部署](docs/deployment/RAILWAY.md) —— 使用私有网络的 Railway 部署
- [Render 部署](docs/deployment/RENDER.md) —— 使用持久磁盘和 Blueprint 的 Render 部署
- [Fly.io 部署](docs/deployment/FLY.md) —— 使用自定义域名和卷的 Fly.io 部署
- [Vercel 部署](docs/deployment/VERCEL.md) —— 使用 Turso 和 Vercel Blob 的无服务器部署
- [Windows Docker 安装](docs/deployment/WINDOWS_DOCKER_INSTALL.md) —— Windows 搭配 Docker Desktop 的完整指南
- [生产部署指南](docs/deployment/PRODUCTION_DEPLOYMENT.md) —— 全面的 Railway 部署
- [部署检查清单](docs/deployment/DEPLOYMENT_CHECKLIST.md) —— 交互式起飞前检查清单
### 开发
- [CLAUDE.md](CLAUDE.md) —— AI 辅助开发指导
- [贡献指南](.github/CONTRIBUTING.md) —— 贡献准则和代码标准
- [变更日志](docs/CHANGELOG.md) —— 版本历史
### 安全与社区
- [安全策略](.github/SECURITY.md) —— 漏洞报告和安全模型
- [安全审计报告](docs/security/SECURITY-AUDIT.md) —— 全面审计:47 个发现项
- [代理安全发现项](docs/agent-security-findings.md) —— 内部审计:9 个发现项,8 个已修复
- [行为准则](.github/CODE_OF_CONDUCT.md) —— 社区指南
- [路线图](docs/ROADMAP.md) —— 计划的功能和方向
## 贡献指南
我们欢迎所有模块的贡献——前端、后端、CLI(Bun)、代理(Go)和文档。关于设置、编码标准和 PR 流程的指南,请参阅 [CONTRIBUTING.md](.github/CONTRIBUTING.md)。
## 安全
对于安全漏洞,请通过 [GitHub 安全公告](https://github.com/projectachilles/ProjectAchilles/security/advisories) 报告,或查阅我们的 [安全策略](.github/SECURITY.md)。
## 致谢
- MITRE 公司的 [MITRE ATT&CK](https://attack.mitre.org) 框架 —— 技术分类和覆盖映射
- [Elasticsearch](https://www.elastic.co/elasticsearch) —— 分析和结果存储引擎
- [Clerk](https://clerk.com) —— 身份认证和用户管理
- [Semgrep](https://semgrep.dev) —— CI 中的静态分析
- [Trail of Bits](https://trailofbits.com) —— Claude Code 的安全分析插件
- Anthropic 的 [Claude Code](https://claude.ai/code) —— AI 辅助开发和发布自动化
- [LimaCharlie](https://limacharlie.io) —— 云 SecOps 平台,启发了原始端点管理模块
- 受 [DORA](https://www.digital-operational-resilience-act.com/) 和 [TIBER-EU](https://www.ecb.europa.eu/paym/cyber-resilience/tiber-eu/html/index.en.html) 框架启发的紫队方法论
特别感谢:
- [@topher-lo](https://github.com/topher-lo)(Chris Lo)—— 想法与灵感
- [@crpol](https://github.com/crpol)(Cesar Rosa)—— 持续支持和好点子
- [@msum83](https://github.com/msum83)(Michal Sumega)—— 持续支持和好点子
- [@kmazara89](https://github.com/kmazara89)(Kendra Mazara)—— 测试与质量
- [@javierdiplan04](https://github.com/javierdiplan04)(Javier Diplan)—— 测试与质量
- [@Yamilithia](https://github.com/Yamilithia)(Yamilet Cruz)—— 测试与质量
- [@Albert2707](https://github.com/Albert2707)(Albert Agramonte)—— 测试与质量
- [@MarcosxDeveloper](https://github.com/MarcosxDeveloper)(Marcos Gonzalez)—— 测试与质量
## 许可证
本项目采用 Apache License 2.0 许可 —— 详见 [LICENSE](LICENSE) 文件。

[](https://github.com/projectachilles/ProjectAchilles/actions/workflows/ci.yml)
[](https://github.com/projectachilles/ProjectAchilles/actions/workflows/security-review.yml)
[](https://github.com/projectachilles/ProjectAchilles/actions/workflows/security-review.yml)
[](LICENSE)
[](https://www.typescriptlang.org/)
[](https://react.dev/)
[](https://go.dev/)
[](https://bun.sh/)
**持续安全验证——从威胁情报到防御就绪**
别再祈祷你的防御有效,开始证明它。
[快速开始](#quick-start) · [功能特性](#features) · [架构](#architecture) · [文档](#documentation) · [路线图](docs/ROADMAP.md) · [贡献指南](#contributing)
More: Fleet management & heartbeat monitoring
React 19 · Vite · Tailwind CSS
Browser · Analytics · Agents · Settings"] CLI["CLI
Bun · Ink · AI SDK v6
Commands · AI Chat Agent"] end FE -->|Clerk JWT| BE CLI -->|Clerk JWT| BE subgraph BE ["Backend — Express + TypeScript"] BRS[Browser Service] ANS[Analytics Service] AGS[Agent Service] BDS[Build Service] DFS[Defender Service] ALS[Alerting Service] end BRS --> GIT[(Git Repo)] ANS --> ES[(Elasticsearch)] AGS --> DB[(SQLite)] BDS --> GO[Go Toolchain + Code Signing] DFS --> GRAPH[Microsoft Graph API] ALS --> NOTIFY[Slack · Email] AGS <-->|Agent API Key| AGENT subgraph EP ["Endpoints — Windows · Linux · macOS"] AGENT["Achilles Agent — Go
Heartbeat · Executor · Updater"] end ``` ### 技术栈 | 层 | 技术 | 版本 | |-------|------------|---------| | 前端 | React | 19.2 | | 构建工具 | Vite | 8.0 | | 样式 |wind CSS | 4.2 | | 状态管理 | Redux Toolkit | 2.11 | | 路由 | React Router | 7.13 | | 身份认证 | Clerk | 5.x | | 后端 | Express | 4.18 | | 语言 | TypeScript | 5.9 | | CLI 运行时 | Bun | 1.3 | | CLI UI | Ink | 6.8 | | AI SDK | Vercel AI SDK | 6.0 | | 代理 | Go | 1.24 | | 分析存储 | Elasticsearch | 8.x | | 代理数据库 | SQLite | 3.x | | 代码签名 | osslsigncode | — | | 容器化 | Docker Compose | — | ### 项目结构 ``` ProjectAchilles/ ├── frontend/ # React 19 + TypeScript + Vite │ └── src/ │ ├── components/ # Shared UI primitives │ ├── pages/ # Module pages (browser, analytics, agents, settings) │ ├── services/api/ # API client modules │ ├── hooks/ # Custom hooks (useAuthenticatedApi, etc.) │ └── store/ # Redux slices ├── backend/ # Express + TypeScript (ES modules) │ └── src/ │ ├── api/ # Route handlers (*.routes.ts) │ ├── services/ # Business logic by module │ ├── middleware/ # Auth, error handling, rate limiting │ └── types/ # TypeScript definitions ├── cli/ # Bun + TypeScript CLI with AI chat agent │ └── src/ │ ├── commands/ # Command modules (agents, tasks, browser, analytics, ...) │ ├── chat/ # AI chat agent (AI SDK v6, Ink TUI, tool definitions) │ ├── api/ # API client for backend communication │ ├── auth/ # Clerk device-flow token management │ ├── config/ # Multi-profile configuration store │ └── output/ # Formatters (table, JSON, colors) ├── agent/ # Go agent source │ ├── main.go # CLI entry point (--enroll, --run, --install) │ └── internal/ # Agent modules (poller, executor, updater, sysinfo) ├── scripts/ # Shell scripts and PowerShell bootstrap │ ├── start.sh # Development startup script │ ├── setup.sh # Interactive setup wizard (Linux/macOS) │ └── Install-ProjectAchilles.ps1 # Bootstrap script (Windows) ├── docs/ # Documentation │ ├── deployment/ # Deployment guides (Fly, Railway, Render, Vercel) │ └── security/ # Security audit and remediation docs ├── docker-compose.yml # Multi-service deployment └── CLAUDE.md # AI assistant development guidance ``` ## 配置 ### 身份认证(必需) 所有模块都需要 [Clerk](https://clerk.com) 身份认证。创建一个 Clerk 应用并配置你的密钥: ``` # frontend/.env VITE_CLERK_PUBLISHABLE_KEY=pk_test_... # backend/.env CLERK_PUBLISHABLE_KEY=pk_test_... CLERK_SECRET_KEY=sk_test_... ``` ### 环境变量 #### 前端 | 变量 | 描述 | 默认值 | |----------|-------------|---------| | `VITE_CLERK_PUBLISHABLE_KEY` | Clerk 可发布密钥 | —(必需) | | `VITE_BACKEND_PORT` | Vite 代理的后端端口 | `3000` | | `VITE_API_URL` | 完整后端 URL(生产环境) | — | #### 后端 | 变量 | 描述 | 默认值 | |----------|-------------|---------| | `CLERK_PUBLISHABLE_KEY` | Clerk 可发布密钥 | —(必需) | | `CLERK_SECRET_KEY` | Clerk 密钥 | —(必需) | | `PORT` | 服务器端口 | `3000` | | `SESSION_SECRET` | 会话签名密钥 | —(生产环境必需) | | `CORS_ORIGIN` | 允许的 CORS 来源 | `http://localhost:5173` | | `TESTS_REPO_URL` | 测试库的 Git URL | — | | `GITHUB_TOKEN` | 私有仓库的个人访问令牌 | — | | `TESTS_SOURCE_PATH` | 本地测试回退路径 | `./tests_source` | | `AGENT_SERVER_URL` | 代理通信的外部 URL | — | | `ENCRYPTION_SECRET` | 静态设置加密密钥 | 机器派生 | #### Elasticsearch(可选) | 变量 | 描述 | |----------|-------------| | `ELASTICSEARCH_CLOUD_ID` | Elastic Cloud 部署 ID | | `ELASTICSEARCH_API_KEY` | 用于身份认证的 API 密钥 | | `ELASTICSEARCH_NODE` | 直接节点 URL(例如 `http://localhost:9200`) | | `ELASTICSEARCH_INDEX_PATTERN` | 索引模式(默认:`achilles-results-*`) | #### Docker | 变量 | 描述 | |----------|-------------| | `NGROK_FRONTEND_DOMAIN` | 前端隧道的 ngrok 域名 | | `NGROK_BACKEND_DOMAIN` | 后端/代理隧道的 ngrok 域名 | ## 数据存储与干净重置 运行时状态(代理、令牌、设置、证书、编译后的二进制文件)存储在 **仓库外部** —— 即用户主目录中。这是有意为之:保护你的数据免受 `git pull`、重新克隆或意外删除仓库文件夹的影响。 ### 状态存储位置 | 平台 | 数据目录 | |----------|----------------| | Linux / macOS(本地) | `~/.projectachilles/` | | Windows | `C:\Users\
**别再祈祷你的防御有效,开始证明它。**
标签:Bun, CI/CD安全, Go, GPT, Llama, React, Ruby工具, SAST, Semgrep, Syscalls, TypeScript, WordPress安全扫描, 威胁情报, 安全仪表盘, 安全态势感知, 安全插件, 安全测试, 安全评分, 安全运营, 开发者工具, 扫描框架, 持续安全验证, 攻击性安全, 数据展示, 日志审计, 漏洞管理, 盲注攻击, 红队, 网络风险量化, 自动化攻击, 请求拦截, 防御就绪, 防御评分