
apex v2.3.0-canary.52dcca8a
使用自主智能体,直接在您的终端中进行AI驱动的进攻性安全测试。
Pensar Apex
使用自主代理进行 AI 驱动的渗透测试——直接在您的终端中运行。运行黑盒和白盒渗透测试,探索、推理并发现真实漏洞。
想从云端运行或将其集成到您的 CI/CD 中?请参阅 Pensar Console。
使用场景
开发者
- 在合并 PR 之前运行
/pentest——像运行测试一样自然地捕获漏洞 - 获取可操作的发现结果,包含严重性评分、证据和建议修复方案——无需安全背景
- 通过无头 CLI 命令或 Pensar Console 集成到 CI/CD 中
安全工程师
- 在大型攻击面上部署代理驱动的集群测试
- 使用
/operator模式进行手动调查、漏洞利用链构建和验证 - 通过跨项目累积的持久记忆自动化重复性测试工作流
- 通过 Pensar Console 跨团队和项目扩展
安装
| 方式 | 命令 |
|---|---|
| 快速安装 (macOS/Linux) | curl -fsSL https://pensarai.com/install.sh | bash |
| Homebrew | brew tap pensarai/tap && brew install apex |
| npm | npm install -g @pensar/apex |
| Windows (PowerShell) | irm https://www.pensarai.com/apex.ps1 | iex |
使用方法
打开 Apex TUI:
pensar
无头 CLI
无需 TUI 即可运行渗透测试,用于脚本编写、CI 或 evalgate 集成:
# Basic pentest
pensar pentest --target https://example.com
# With extended thinking and task-driven mode
pensar pentest --target https://example.com --extended-thinking --task-driven
# Whitebox (with source code access)
pensar pentest --target https://example.com --cwd ./my-app
# Targeted pentest with specific objectives
pensar targeted-pentest --target https://example.com --objective "Test authentication bypass"
| 标志 | 命令 | 描述 |
|---|---|---|
--target <url> | pentest, targeted-pentest | 目标 URL(必填) |
--cwd <path> | pentest | 白盒模式的源代码路径 |
--mode <mode> | pentest | exfil 用于横向移动和标志提取 |
--model <model> | pentest, targeted-pentest | AI 模型(默认:自动选择) |
--extended-thinking | pentest | 为支持的模型启用扩展思考 |
--task-driven | pentest | 启用任务驱动架构(实验性) |
--prompt <text|@file> | pentest | 为代理提供自定义指导 |
--threat-model <text|@file> | pentest | 用于指导测试的威胁模型 |
--objective <text> | targeted-pentest | 测试目标(可重复) |
Hoonify 推理
在 /providers 中连接 Hoonify 或设置 HOONIFY_API_KEY,然后在 /models 中选择
已发现的模型。无头命令接受
--model-provider hoonify --model <catalog-model-id>。有关模型发现、令牌预算和实时检查,请参阅
Hoonify 设置。
自定义推理端点
通过 customProviders
配置或 APEX_CUSTOM_PROVIDERS worker 环境变量引入 OpenAI 兼容端点和 bearer token。使用
--model-provider <id> --model <model> 选择它,或在
操作员的 /models 选择器中选择其声明的模型。有关 GLM 设置、无头作业配置和实时连接测试,请参阅
自定义推理设置。
日志记录
Apex 通过集中式结构化日志记录器
(src/core/logger)路由诊断/操作日志。当输出不是 TTY 时,它会将单行 JSON 写入 stderr——使其
与程序的标准输出分离,便于发送到日志管道(例如 CloudWatch)——
并在交互式终端中输出美观、彩色的输出。面向用户的 CLI/TUI 输出保留在
stdout。
设置级别(从最详细到最简略:debug < info < warn < error,默认 info):
pensar pentest --target https://example.com --log-level debug # or --verbose / --quiet
PENSAR_LOG_LEVEL=debug pensar ... # via environment
PENSAR_DEBUG=1 pensar ... # back-compat alias for debug
解析顺序:CLI 标志 → PENSAR_LOG_LEVEL → PENSAR_DEBUG → 默认 info。
PENSAR_LOG_FORMAT=json|pretty 强制指定输出格式。当 Apex 作为托管代理运行时,
PENSAR_LOG_LEVEL 由宿主环境提供。
W&B Weave 追踪
将步骤级代理追踪流式传输到 Weights & Biases Weave,用于分析和微调:
export WANDB_API_KEY=your-key
export WANDB_ENTITY=your-entity
# WANDB_PROJECT defaults to "apex-traces"
pensar pentest --target https://example.com
追踪包括推理步骤、工具调用、令牌使用和状态检查点。未设置凭据时,追踪会被静默禁用。
OpenTelemetry(可观测性)
Apex 通过 @opentelemetry/api 为代理运行、LLM 调用和工具执行发出 OpenTelemetry span。除非您的进程将 OpenTelemetry SDK 注册为全局 tracer provider,否则 span 为空操作;Apex 不附带 SDK。
在导入 Apex 代码之前注册 SDK:
- Sentry:安装
@sentry/node≥ 9.27,并将Sentry.vercelAIIntegration()添加到您的Sentry.initintegrations 中。 - 任何 OTel 后端(Honeycomb、Tempo、Datadog 等):使用 OTLP exporter 注册
@opentelemetry/sdk-node。
Span 遵循 OTel GenAI 语义约定。默认仅捕获 span 形状(模型、令牌计数、延迟、工具名称);设置 AI_TRACE_RECORD_PAYLOADS=true 还可记录提示、工具 I/O 和输出。
Kali Linux 容器(可选)
为获得最佳性能,请在包含预配置渗透测试工具的 Kali Linux 容器中运行 Apex:
cd container
cp env.example .env # add your API keys
docker compose up --build -d
docker compose exec kali-apex bash
在容器内运行:
pensar
⚠️ 负责任使用
本仓库仅包含用于授权安全测试的工具。 使用前,请阅读并同意负责任使用披露。