返回更新列表
新发布Aug 20, 2026

apex v2.3.0-canary.52dcca8a

使用自主智能体,直接在您的终端中进行AI驱动的进攻性安全测试。

分享

Pensar Apex

使用自主代理进行 AI 驱动的渗透测试——直接在您的终端中运行。运行黑盒和白盒渗透测试,探索、推理并发现真实漏洞。

想从云端运行或将其集成到您的 CI/CD 中?请参阅 Pensar Console。

npm version npm prerelease version Apache 2.0 License Documentation Discord

使用场景

开发者

  • 在合并 PR 之前运行 /pentest——像运行测试一样自然地捕获漏洞
  • 获取可操作的发现结果,包含严重性评分、证据和建议修复方案——无需安全背景
  • 通过无头 CLI 命令或 Pensar Console 集成到 CI/CD 中

安全工程师

  • 在大型攻击面上部署代理驱动的集群测试
  • 使用 /operator 模式进行手动调查、漏洞利用链构建和验证
  • 通过跨项目累积的持久记忆自动化重复性测试工作流
  • 通过 Pensar Console 跨团队和项目扩展

安装

方式命令
快速安装 (macOS/Linux)curl -fsSL https://pensarai.com/install.sh | bash
Homebrewbrew tap pensarai/tap && brew install apex
npmnpm 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>pentestexfil 用于横向移动和标志提取
--model <model>pentest, targeted-pentestAI 模型(默认:自动选择)
--extended-thinkingpentest为支持的模型启用扩展思考
--task-drivenpentest启用任务驱动架构(实验性)
--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.init integrations 中。
  • 任何 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

⚠️ 负责任使用

本仓库仅包含用于授权安全测试的工具。 使用前,请阅读并同意负责任使用披露。

分类