
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 用于横向移动与 flag 提取 |
--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 | 测试目标(可重复) |
日志
Apex 将诊断/操作日志路由到集中式结构化记录器
(src/core/logger)。当输出不是 TTY 时,它会向 stderr 写入单行 JSON——保持
其与程序 stdout 分离,便于发送到日志管道(例如 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
追踪内容包含推理步骤、工具调用、token 用量和状态检查点。当未设置凭据时,追踪会被静默禁用。
OpenTelemetry(可观测性)
Apex 通过 @opentelemetry/api 为代理运行、LLM 调用和工具执行发出 OpenTelemetry span。除非您的进程注册了 OpenTelemetry SDK 作为全局 tracer provider,否则 span 为 no-op;Apex 不附带 SDK。
在导入 Apex 代码之前注册 SDK:
- Sentry:安装
@sentry/node≥ 9.27,并将Sentry.vercelAIIntegration()添加到Sentry.init集成中。 - 任何 OTel 后端(Honeycomb、Tempo、Datadog 等):使用 OTLP exporter 注册
@opentelemetry/sdk-node。
Span 遵循 OTel GenAI 语义约定。默认仅捕获 span 形状(模型、token 数量、延迟、工具名称);设置 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
⚠️ 负责任使用
本仓库仅包含用于授权安全测试的工具。 使用前,请阅读并同意负责任使用披露。