网络安全人工智能(CAI),面向AI安全的框架
CAI)专业版,拥有无限的alias1代币 | 📊 查看基准测试 | 🚀 了解更多
🔓 社区版 研究与学习 · 适合研究人员与学生 pip install cai-framework
✅ 免费用于研究 🤖 300+ AI模型 🌍 社区驱动 📚 开源 🔧 可扩展框架
🚀 专业版 企业级与生产环境 · €350/月 · 无限alias1令牌
→ 升级到PRO
⚡ alias1模型 - ∞ 无限令牌 🚫 零拒绝 - 无限制AI 🏆 在CTF基准测试中击败GPT-5 🛡️ 包含专业支持 🇪🇺 欧洲数据主权
CAI PRO搭配alias1模型在AI对AI网络安全基准测试中优于GPT-5 | 查看完整基准测试→
-->
网络安全AI(CAI)是一个轻量级、开源的框架,使安全专业人员能够构建和部署基于AI的攻击与防御自动化。CAI是AI安全领域事实上的标准框架,已被数千名个人用户和数百家组织使用。无论你是安全研究人员、道德黑客、IT专业人员还是希望增强安全态势的组织,CAI都提供了构建模块,用于创建专门的AI代理,协助进行缓解、漏洞发现、利用和安全评估。
CAI_LICENSE_OFF)CAI可以通过设置环境变量**CAI_LICENSE_OFF=1来无需ALIAS_API_KEY**(即无需Alias Robotics许可证)运行。
当CAI_LICENSE_OFF设置为1、true或yes时:
ALIAS_API_KEY。cai-framework包,而不是私有的Alias包索引。CAI_MODEL和相应提供商的API密钥来使用任何其他支持的模型提供商(OpenAI、Anthropic、DeepSeek、Ollama等)。无需许可快速开始:```bash export CAI_LICENSE_OFF=1 cai
或者内联:```bash
CAI_LICENSE_OFF=1 cai
注意:
alias1模型仍然需要有效的ALIAS_API_KEY。CAI_LICENSE_OFF仅绕过框架的许可证门禁——它并不授予对 Alias 托管模型的访问权限。
主要特性:
[!NOTE] 阅读技术报告:CAI: An Open, Bug Bounty-Ready Cybersecurity AI 包含图表和参考文献的 HTML 阅读版本 由机器人网络安全实验室维护。
机器人技术 - CAI 和 alias1 作用于:宇树 G1 人形机器人 | OT - CAI 和 alias1 作用于:Dragos OT CTF 2025 |
|---|---|
| CAI 发现宇树 G1 人形机器人中的漏洞和隐私违规行为,包括向中国相关服务器未经授权传输遥测数据、暴露的具有全局可写权限的 RSA 密钥,以及可能违反 GDPR 和国际隐私法的监控能力。 |
[!WARNING] ⚠️ CAI 正处于活跃开发阶段,因此请勿期望其能够完美运行。相反,请通过提交问题或 发送 PR 来做出贡献。
访问本库以及使用其中的信息、材料(或其部分内容)不适用于且被禁止,如果此类访问或使用违反了适用的法律法规。作者绝不鼓励或促进对正在运行的系统进行未经授权的篡改。这可能导致严重的人身伤害和物质损失。
作者绝不鼓励或促进对计算系统进行未经授权的篡改。请勿将本源代码用于网络犯罪。相反,请为了行善而进行渗透测试。 下载、使用或修改本源代码,即表示您同意
LICENSE的条款以及DISCLAIMER文件中概述的限制。
CAI)网络安全人工智能CAI 熟练度.env 文件网络安全人工智能扩展 HTML 阅读版本: CAI · CAIBench · 人形机器人作为攻击向量 · 人形机器人的网络安全 · AI 时代破解消费级机器人
更多案例研究和 PoCs 请访问 https://aliasrobotics.com/case-studies-robot-cybersecurity.php。
随着人工智能越来越多地融入安全运营,网络安全领域正在经历一场深刻的变革。我们预测,到 2028 年,AI 驱动的安全测试工具数量将超过人类渗透测试人员。 这一转变代表了我们在应对网络安全挑战方式上的根本性变化。AI 不仅仅是一种工具——它正在成为解决复杂安全漏洞和领先于复杂威胁的必需品。随着组织面临更高级的网络攻击,AI 增强的安全测试对于维持强大的防御能力将至关重要。
这项工作建立在先前努力[^4]的基础上,同样地,我们相信为整个安全社区普及先进的网络安全人工智能工具是至关重要的。这就是为什么我们将网络安全人工智能(CAI)作为开源框架发布。我们的目标是赋能安全研究人员、道德黑客和组织,让他们能够构建和部署强大的 AI 驱动的安全工具。通过公开提供这些能力,我们希望创造公平的竞争环境,确保尖端的 AI 安全技术不局限于资金充足的私营公司或国家行为者。
漏洞赏金项目已成为现代网络安全的基石,为组织提供了一个关键机制,让他们能够在漏洞被利用之前发现并修复系统中的漏洞。这些项目在保护公共和私有基础设施方面已被证明非常有效,研究人员发现了那些本可能被忽视的关键漏洞。CAI 专为增强这些努力而设计,它提供了一个轻量级、符合人体工程学的框架,用于构建专门的 AI 代理,这些代理可以在漏洞赏金狩猎的各个方面提供帮助——从初始侦察到漏洞验证和报告。我们的框架旨在用 AI 能力增强人类专业知识,帮助研究人员在追求使数字系统更安全的过程中更高效、更彻底地工作。
您可能会想,鉴于 CAI 的能力和安全影响,将其“在野外”发布是否合乎道德。我们决定开源此框架,是遵循两个核心伦理原则:
普及网络安全人工智能:我们相信,先进的网络安全人工智能工具应该为整个安全社区所用,而不仅仅是资金充足的私营公司或国家行为者。通过将 CAI 作为开源框架发布,我们旨在赋能安全研究人员、道德黑客和组织,让他们能够构建和部署强大的 AI 驱动的安全工具,从而在网络安全的竞争中创造公平的环境。
AI 安全能力的透明度:基于我们的研究结果、对技术的理解以及对顶级技术报告的分析,我们认为当前的 LLM 供应商正在削弱其网络安全能力。这是极其危险和具有误导性的。通过公开开发 CAI,我们为 AI 系统在网络安全环境中实际能做什么提供了一个透明的基准,从而有助于就安全态势做出更明智的决策。CAI 建立在以下核心原则之上:
phoenix,这是 LLM 的开源追踪和日志记录工具。这为用户提供了智能体及其执行的详细可追溯性。Claude 3.7、Claude 3.5、Claude 3、Claude 3 OpusO1、O1 Mini、O3 Mini、GPT-4o、GPT-4.5 PreviewDeepSeek V3、网络安全 AI 是一个关键领域,但许多团体误入歧途,通过闭源方法追求纯粹的经济回报,利用类似技术并建立在现有闭源(通常是第三方拥有的)模型之上。这种方法不仅浪费宝贵的工程资源,还造成经济浪费并导致重复劳动,因为他们常常在重复发明轮子。以下是我们关注的一些闭源项目,它们试图在网络安全 AI 中利用生成式 AI 和智能体框架:
CAI 熟练[!NOTE]
CAI 熟练技术报告(arXiv:2508.13588)为网络安全 AI 素养建立了正规教育框架。
[!NOTE] CAI 专业版用户:如果你拥有有效的 CAI Pro 订阅,我们提供针对 0.5 和 0.6 版本的专属安装指南。官方支持 Ubuntu 24.04(x86_64)。其他操作系统的安装说明按原样提供,无官方支持:
pip install cai-framework
在更新 CAI 时,始终创建一个新的虚拟环境以确保正确安装依赖项。
以下小节提供了在选定的流行操作系统上的更详细的操作指南。有关开发人员的安装说明,请参阅[开发](#development)部分。
对于 API Keys,请检查 litellm 文档中的环境变量语法。[LiteLLM 文档](https://docs.litellm.ai/docs/tutorials/installation)
### OS X```bash
brew update && \
brew install git [email protected]
# Create virtual environment
python3.12 -m venv cai_env
# Install the package from the local directory
source cai_env/bin/activate && pip install cai-framework
# Generate a .env file and set up with defaults
echo -e 'OPENAI_API_KEY="sk-1234"\nANTHROPIC_API_KEY=""\nOLLAMA=""\nPROMPT_TOOLKIT_NO_CPR=1\nCAI_STREAM=false' > .env
# Launch CAI
cai # first launch it can take up to 30 seconds
sudo apt-get update &&
sudo apt-get install -y git python3-pip python3.12-venv
python3.12 -m venv cai_env
source cai_env/bin/activate && pip install cai-framework
echo -e 'OPENAI_API_KEY="sk-1234"\nANTHROPIC_API_KEY=""\nOLLAMA=""\nPROMPT_TOOLKIT_NO_CPR=1\nCAI_STREAM=false' > .env
cai # first launch it can take up to 30 seconds
### Ubuntu 20.04```bash
sudo apt-get update && \
sudo apt-get install -y software-properties-common
# Fetch Python 3.12
sudo add-apt-repository ppa:deadsnakes/ppa && sudo apt update
sudo apt install python3.12 python3.12-venv python3.12-dev -y
# Create the virtual environment
python3.12 -m venv cai_env
# Install the package from the local directory
source cai_env/bin/activate && pip install cai-framework
# Generate a .env file and set up with defaults
echo -e 'OPENAI_API_KEY="sk-1234"\nANTHROPIC_API_KEY=""\nOLLAMA=""\nPROMPT_TOOLKIT_NO_CPR=1\nCAI_STREAM=false' > .env
# Launch CAI
cai # first launch it can take up to 30 seconds
请访问微软页面:https://learn.microsoft.com/en-us/windows/wsl/install。在这里你将找到安装WSL的所有说明。
在Powershell中输入:wsl --install```bash
sudo apt-get update &&
sudo apt-get install -y git python3-pip python3-venv
python3 -m venv cai_env
source cai_env/bin/activate && pip install cai-framework
echo -e 'OPENAI_API_KEY="sk-1234"\nANTHROPIC_API_KEY=""\nOLLAMA=""\nOLLAMA_API_BASE="http://Your.Host.Ip.Here:11434"\nPROMPT_TOOLKIT_NO_CPR=1\nCAI_STREAM=false' > .env
cai # first launch it can take up to 30 seconds
在Ubuntu上运行cai时可能会遇到问题,因为某些代理假设它们运行在Kali实例上,无法找到所需的工具。
因此,另一种选择是使用dockerized文件夹中的docker compose文件。如果安装了Docker,这也可以从wsl内部工作。
在这种情况下,获取dockerized文件夹(不需要整个仓库)并在其中运行。
关于API密钥环境变量的语法,请查看litellm文档。[LiteLLM Documentation](https://docs.litellm.ai/docs/tutorials/installation)```bash
#build and run docker compose Build takes around 20 min.
docker compose build && docker compose up -d
#access cai
docker compose exec cai cai
我们建议至少使用 8 GB 的 RAM:
首先,安装 userland https://play.google.com/store/apps/details?id=tech.ula&hl=es
在基本选项中安装 Kali minimal(免费)。[或者选择其他 Kali 选项(如果更喜欢)]
像这个例子一样更新 apt keys:https://superuser.com/questions/1644520/apt-get-update-issue-in-kali,在 UserLand 的 Kali 终端内执行```bash
wget http://http.kali.org/kali/pool/main/k/kali-archive-keyring/kali-archive-keyring_2024.1_all.deb
sudo dpkg -i kali-archive-keyring_2024.1_all.deb && rm kali-archive-keyring_2024.1_all.deb
sudo apt-get update
sudo apt-get update && sudo apt-get install -y git python3-pip build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev pkg-config wget https://www.python.org/ftp/python/3.12.4/Python-3.12.4.tar.xz tar xf Python-3.12.4.tar.xz cd ./configure --enable-optimizations sudo make altinstall # This command takes long to execute
git clone https://github.com/aliasrobotics/cai && cd cai
python3.12 -m venv cai_env
source cai_env/bin/activate && pip3 install -e .
cp .env.example .env # edit here your keys/models
cai
### :nut_and_bolt: 设置 `.env` 文件
CAI 利用 `.env` 文件在启动时加载配置。为方便设置,该仓库提供了一个示例性的 [`.env.example`](https://github.com/aliasrobotics/cai/blob/HEAD/.env.example) 文件,其中包含用于配置 CAI 安装以及您的 LLM API 密钥以使用所需 LLM 模型的模板。
:warning: 重要提示:
CAI 默认不提供任何模型的 API 密钥。请勿要求我们提供密钥,请使用您自己的密钥或托管您自己的模型。
:warning: 注意:
OPENAI_API_KEY 不能留空。它应该包含 "sk-123"(作为占位符)或您的实际 API 密钥。请参阅 https://github.com/aliasrobotics/cai/issues/27。
:warning: 注意:
如果您正在使用 alias1 模型,请确保 CAI 版本 >0.4.0,这里有一个 .env 示例,以便您能够使用它。```bash
OPENAI_API_KEY="sk-1234"
OLLAMA=""
ALIAS_API_KEY="<sk-your-key>" # note, add yours
CAI_STREAM=False
CAI_MODEL="alias1"
CAI 支持通过 OPENAI_BASE_URL 环境变量配置自定义的 OpenAI API 基础 URL。这允许用户将 API 调用重定向到自定义端点,例如代理或自托管的 OpenAI 兼容服务。
示例 .env 条目配置:```
OLLAMA_API_BASE="https://custom-openai-proxy.com/v1"
或者直接从命令行:```bash
OLLAMA_API_BASE="https://custom-openai-proxy.com/v1" cai
CAI 专注于使网络安全代理的协调和执行轻量化、高度可控且对人类有用。为此,它建立在 8 个支柱之上:Agents、Tools、Handoffs、Patterns、Turns、Tracing、Guardrails 和 HITL。```
┌───────────────┐ ┌───────────┐
│ HITL │◀─────-───▶│ Turns │
└───────┬───────┘ └───────────┘
│
▼
┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐
│ Patterns │◀──-──▶│ Handoffs │◀──-─▶ │ Agents │◀──-─▶│ LLMs │
└───────────┘ └─────┬─────┘ └─────┬─────┘ └───────────┘
│ │
│ ▼
┌────────────┐ ┌────┴──────┐ ┌───────────┐ ┌────────────┐
│ Extensions │◀────▶ │ Tracing │ │ Tools │◀──▶ │ Guardrails │
└────────────┘ └───────────┘ └───────────┘ └────────────┘
│
┌─────────────┬─────┴────┬─────────────┐
▼ ▼ ▼ ▼
┌───────────┐┌───────────┐┌────────────┐┌───────────┐
│ LinuxCmd ││ WebSearch ││ Code ││ SSHTunnel │
└───────────┘└───────────┘└────────────┘└───────────┘
如果你想深入了解代码,请从以下文件入手来使用CAI:
* [__init__.py](https://github.com/aliasrobotics/cai/blob/main/src/cai/__init__.py)
* [cli.py](https://github.com/aliasrobotics/cai/blob/main/src/cai/cli.py) - 命令行界面的入口点
* [util.py](https://github.com/aliasrobotics/cai/blob/main/src/cai/util.py) - 工具函数
* [agents](https://github.com/aliasrobotics/cai/blob/main/src/cai/agents) - Agent 实现
* [internal](https://github.com/aliasrobotics/cai/blob/main/src/cai/internal) - CAI 内部函数(端点、指标、日志等)
* [prompts](https://github.com/aliasrobotics/cai/blob/main/src/cai/prompts) - Agent 提示数据库
* [repl](https://github.com/aliasrobotics/cai/blob/main/src/cai/repl) - CLI 美学与命令
* [sdk](https://github.com/aliasrobotics/cai/blob/main/src/cai/sdk) - CAI 命令 SDK
* [tools](https://github.com/aliasrobotics/cai/tree/main/src/cai/tools) - Agent 工具
### 🔹 Agent
CAI 的核心是通过 `Agents` 和代理 `Patterns` 来抽象其网络安全行为。Agent 是*与环境交互的智能系统*。从技术上讲,在 CAI 中我们采用了一个以机器人学为中心的定义:Agent 可以被视为一个系统,它通过传感器感知环境,推理其目标,并通过执行器对环境采取相应行动(改编自 Russel & Norvig,《人工智能:一种现代方法》)。在网络安全中,`Agent` 与系统和网络交互,使用外设和网络接口作为传感器,推理后执行网络行动,如同执行器一般。相应地,在 CAI 中,`Agent` 实现了 `ReACT`(推理与行动)代理模型[^3]。更多信息,请参见[此处的示例](https://github.com/aliasrobotics/cai/blob/main/examples/basic/hello_world.py)以获取完整执行代码,并参考此 [Jupyter 笔记本](https://github.com/aliasrobotics/cai/blob/main/fluency/my-first-hack/my_first_hack.ipynb) 了解如何使用它的教程。```python
from cai.sdk.agents import Agent, Runner, OpenAIChatCompletionsModel
import os
from openai import AsyncOpenAI
from dotenv import load_dotenv
load_dotenv()
agent = Agent(
name="Custom Agent",
instructions="""You are a Cybersecurity expert Leader""",
model=OpenAIChatCompletionsModel(
model=os.getenv('CAI_MODEL', "openai/gpt-4o"),
openai_client=AsyncOpenAI(),
)
)
message = "Tell me about recursion in programming."
result = await Runner.run(agent, message)
Tools 让网络安全智能体能够通过提供接口来执行系统命令、运行安全扫描、分析漏洞以及与目标系统和 API 交互——它们是使 CAI 智能体高效执行安全任务的核心能力;在 CAI 中,工具包括内置的网络安全工具集(如用于命令执行的 LinuxCmd、用于开源情报搜集的 WebSearch、用于动态脚本执行的 Code 以及用于安全远程访问的 SSHTunnel)、函数调用机制(允许将任何 Python 函数集成为安全工具),以及智能体即工具功能(使专门的网络安全智能体——例如侦察或利用智能体——能够被其他智能体使用,从而在不要求智能体之间进行正式交接的情况下创建强大的协作安全工作流)。更多信息,请参阅此处的示例以了解自定义函数的完整配置。```python
from cai.sdk.agents import Agent, Runner, OpenAIChatCompletionsModel
from cai.tools.reconnaissance.exec_code import execute_code
from cai.tools.reconnaissance.generic_linux_command import generic_linux_command
import os from openai import AsyncOpenAI from dotenv import load_dotenv load_dotenv()
agent = Agent( name="Custom Agent", instructions="""You are a Cybersecurity expert Leader""", tools= [ generic_linux_command, execute_code ], model=OpenAIChatCompletionsModel( model=os.getenv('CAI_MODEL', "openai/gpt-4o"), openai_client=AsyncOpenAI(), ) )
message = "Tell me about recursion in programming." result = await Runner.run(agent, message)
您可以在[tools](https://github.com/aliasrobotics/cai/blob/HEAD/tools)中找到不同的工具。它们被分为6个主要类别,灵感来源于安全杀伤链[^2]:
1. Reconnaissance and weaponization - *侦察* (crypto, listing, etc)
2. Exploitation - *利用*
3. Privilege escalation - *权限提升*
4. Lateral movement - *横向移动*
5. Data exfiltration - *数据渗出*
6. Command and control - *命令与控制*
### 🔹 Handoffs
`Handoffs` 允许一个 `Agent` 将任务委托给另一个代理,这在网络安全操作中至关重要,因为不同的参与阶段需要专业化的专业知识。在我们的框架中,`Handoffs` 被实现为LLM的工具,其中像 `transfer_to_flag_discriminator` 这样的 **handoff/transfer 函数** 使得 `ctf_agent` 能够在它认为找到了flag后将控制权传递给 `flag_discriminator_agent`。这创建了一个安全验证链,第一个代理处理利用和flag发现,而第二个代理专门负责flag验证,确保职责适当分离,并利用不同模型针对不同安全任务的专门能力。更多信息,请参考[此处的示例](https://github.com/aliasrobotics/cai/blob/main/examples/cai/agent_patterns/handoffs.py)获取完整执行代码。```python
from cai.sdk.agents import function_tool
from cai.tools.common import run_command
from cai.sdk.agents import Agent, OpenAIChatCompletionsModel, HandoffInputData, Runner, function_tool, handoff, trace
from cai.sdk.agents.extensions import handoff_filters
import os
from openai import AsyncOpenAI
from dotenv import load_dotenv
load_dotenv()
@function_tool
def execute_cli_command(command: str) -> str:
return run_command(command)
flag_discriminator = Agent(
name="Flag discriminator",
description="Agent focused on extracting the flag from the output",
instructions="You are an agent tailored to extract the flag from a given output.",
model=OpenAIChatCompletionsModel(
model=os.getenv('CAI_MODEL', "qwen2.5:14b"),
openai_client=AsyncOpenAI(),
)
)
ctf_agent = Agent(
name="CTF agent",
description="Agent focused on conquering security challenges",
instructions="You are a Cybersecurity expert Leader facing a CTF",
tools=[
execute_cli_command,
],
model=OpenAIChatCompletionsModel(
model= os.getenv('CAI_MODEL', "qwen2.5:14b"),
openai_client=AsyncOpenAI(),
),
handoffs = [flag_discriminator]
)
一个智能体 Pattern(模式)是人工智能系统中的一种结构化设计范式,其中自主或半自主智能体在一个定义的交互框架(模式)内运作以实现目标。这些 Pattern 规定了智能体之间的组织、协调和通信方式,指导决策制定、任务执行和授权。
一个智能体模式 (AP) 可以形式化地定义为一个元组:
\[ AP = (A, H, D, C, E) \]
其中:
在构建 Pattern 时,我们通常将其归为以下类别之一,但也不限于这些:
更多关于常见智能体模式的信息和示例,请参见 示例文件夹。
在智能体流程(对话)中,我们区分交互和轮次。
Agent 通常实现 ReACT 智能体模型[^3],每次交互包括 1) 通过 LLM 推理进行的推理步骤和 2) 通过调用零到多个 Tool 进行的行为。这在 core.py 的 process_interaction() 中定义。Agent(或 Pattern)返回 None 并判断没有进一步操作需要执行时结束。这在 core.py 的 run() 中定义。[!NOTE] CAI 智能体与 Assistants API 中的助手无关。为了方便,它们被命名为相似的名称,但实际上完全无关。CAI 完全由聊天补全 API 驱动,因此调用之间是无状态的。
CAI 通过采用 OpenTelemetry 标准来实现 AI 可观测性,为此它利用了 Phoenix,该工具通过基于 OpenTelemetry 的检测提供了全面的追踪能力,使您能够实时监控和分析安全运维。这种集成提供了对渗透测试工作流中智能体交互、工具使用和攻击向量的详细可见性,从而更容易调试复杂的利用链、跟踪漏洞发现过程,并优化智能体性能以实现更有效的安全评估。

Guardrails(护栏)为 CAI 智能体提供了关键的安全层,防范提示注入攻击并阻止执行危险命令。这些护栏与智能体并行运行,验证输入和输出以确保安全操作。该框架包括:
CAI_GUARDRAILS 环境变量启用/禁用有关详细实现,请参见 docs/guardrails.md 和 docs/cai_prompt_injection.md。
┌─────────────────────────────────┐
│ │
│ Cybersecurity AI (CAI) │
│ │
│ ┌─────────────────┐ │
│ │ Autonomous AI │ │
│ └────────┬────────┘ │
│ │ │
│ │ │
│ ┌────────▼─────────┐ │
│ │ HITL Interaction │ │
│ └────────┬─────────┘ │
│ │ │
└────────────────┼────────────────┘
│
│ Ctrl+C (cli.py)
│
┌───────────▼───────────┐
│ Human Operator(s) │
│ Expertise | Judgment │
│ Teleoperation │
└───────────────────────┘
CAI 提供了一个构建网络安全人工智能的框架,重点强调 *半自主* 操作,因为现实是 **完全自主** 的网络安全系统仍然不成熟,在应对复杂任务时面临重大挑战。虽然 CAI 探索了自主能力,但我们认识到,有效的安全操作仍然需要人工远程操作,在安全过程中提供专业知识、判断和监督。
因此,人机协同(`HITL`)模块是 CAI 的核心设计原则,承认人工干预和远程操作是负责任安全测试的重要组成部分。通过 `cli.py` 界面,用户可以在执行的任何时刻通过按 `Ctrl+C` 与代理无缝交互。此功能在 [core.py](https://github.com/aliasrobotics/cai/blob/HEAD/cai/core.py) 以及 REPL 抽象 [REPL](https://github.com/aliasrobotics/cai/blob/HEAD/cai/repl) 中实现。
## :rocket: 快速开始
安装 CAI 后,只需在 CLI 中输入 `cai` 即可启动:```bash
└─# cai
CCCCCCCCCCCCC ++++++++ ++++++++ IIIIIIIIII
CCC::::::::::::C ++++++++++ ++++++++++ I::::::::I
CC:::::::::::::::C ++++++++++ ++++++++++ I::::::::I
C:::::CCCCCCCC::::C +++++++++ ++ +++++++++ II::::::II
C:::::C CCCCCC +++++++ +++++ +++++++ I::::I
C:::::C +++++ +++++++ +++++ I::::I
C:::::C ++++ ++++ I::::I
C:::::C ++ ++ I::::I
C:::::C + +++++++++++++++ + I::::I
C:::::C +++++++++++++++++++ I::::I
C:::::C +++++++++++++++++ I::::I
C:::::C CCCCCC +++++++++++++++ I::::I
C:::::CCCCCCCC::::C +++++++++++++ II::::::II
CC:::::::::::::::C +++++++++ I::::::::I
CCC::::::::::::C +++++ I::::::::I
CCCCCCCCCCCCC ++ IIIIIIIIII
Cybersecurity AI (CAI), vX.Y.Z
Bug bounty-ready AI
CAI>
这将初始化 CAI,并提供一个提示符,供您执行想要执行的任何安全任务。底部的导航栏显示重要的系统信息。这些信息有助于您在使用 CAI 时了解当前环境。
这里有一个快速的演示视频,可以帮助您开始使用 CAI。我们将逐步介绍基本步骤——从启动工具到在终端中运行第一个由 AI 驱动的任务。无论您是初学者还是只是好奇,本指南都将向您展示如何使用 CAI 是多么简单。
从现在开始,在 CAI 上输入命令,然后开始您的安全练习。最好的学习方式是通过示例:
对于使用私有模型,您将获得一个 .env.example 文件。将其复制并重命名为 .env。填入您对应的 API 密钥,即可使用 CAI。
环境变量列表
网络安全 AI (CAI) 平台提供与 OpenRouter 的无缝集成,OpenRouter 是大语言模型 (LLM) 的统一接口。此集成对于希望在网络安全任务中利用高级 AI 能力的用户至关重要。OpenRouter 充当桥梁,允许 CAI 与各种 LLM 通信,从而增强 CAI 内部使用的 AI 代理的灵活性和能力。
要在 CAI 中启用 OpenRouter 支持,您需要通过向 .env 文件添加特定条目来配置环境。此设置确保 CAI 能够与 OpenRouter API 交互,从而方便使用 Meta-LLaMA 等复杂模型。以下是配置方法:```bash
CAI_AGENT_TYPE=redteam_agent
CAI_MODEL=openrouter/meta-llama/llama-4-maverick
OPENROUTER_API_KEY= # note, add yours
OPENROUTER_API_BASE=https://openrouter.ai/api/v1
### Azure OpenAI
网络安全AI(CAI)平台与Azure OpenAI无缝集成,使组织能够针对企业托管的模型(例如gpt-4o)运行CAI。此路径非常适合需要在Azure治理范围内操作、同时利用先进模型能力的团队。
要在CAI中启用Azure OpenAI支持,请通过将以下条目添加到.env中来配置环境。这确保CAI能够连接到您的Azure部署端点并进行正确身份验证。```bash
CAI_AGENT_TYPE=redteam_agent
CAI_MODEL=azure/<model-name-deployed>
# Required: keep non-empty even when using Azure
OPENAI_API_KEY=dummy
# Azure credentials and endpoint
AZURE_API_KEY=<your-azure-openai-key>
AZURE_API_BASE=https://<resource>.openai.azure.com/openai/deployments/<deployment-name>/chat/completions?api-version=2025-01-01-preview
CAI 支持模型上下文协议(MCP),用于将外部工具和服务与 AI 代理集成。MCP 通过两种传输机制支持:
2. **STDIO(标准输入/输出)** - 用于本地进程间通信:```bash
CAI>/mcp load stdio myserver python mcp_server.py
一旦连接,您可以将MCP工具添加到任何代理:```bash CAI>/mcp add burp redteam_agent Adding tools from MCP server 'burp' to agent 'Red Team Agent'... Adding tools to Red Team Agent ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Tool ┃ Status ┃ Details ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ send_http_request │ Added │ Available as: send_http_request │ │ create_repeater_tab │ Added │ Available as: create_repeater_tab │ │ send_to_intruder │ Added │ Available as: send_to_intruder │ │ url_encode │ Added │ Available as: url_encode │ │ url_decode │ Added │ Available as: url_decode │ │ base64encode │ Added │ Available as: base64encode │ │ base64decode │ Added │ Available as: base64decode │ │ generate_random_string │ Added │ Available as: generate_random_string │ │ output_project_options │ Added │ Available as: output_project_options │ │ output_user_options │ Added │ Available as: output_user_options │ │ set_project_options │ Added │ Available as: set_project_options │ │ set_user_options │ Added │ Available as: set_user_options │ │ get_proxy_http_history │ Added │ Available as: get_proxy_http_history │ │ get_proxy_http_history_regex │ Added │ Available as: get_proxy_http_history_regex │ │ get_proxy_websocket_history │ Added │ Available as: get_proxy_websocket_history │ │ get_proxy_websocket_history_regex │ Added │ Available as: get_proxy_websocket_history_regex │ │ set_task_execution_engine_state │ Added │ Available as: set_task_execution_engine_state │ │ set_proxy_intercept_state │ Added │ Available as: set_proxy_intercept_state │ │ get_active_editor_contents │ Added │ Available as: get_active_editor_contents │ │ set_active_editor_contents │ Added │ Available as: set_active_editor_contents │ └───────────────────────────────────┴────────┴─────────────────────────────────────────────────┘ Added 20 tools from server 'burp' to agent 'Red Team Agent'. CAI>/agent 13 CAI>Create a repeater tab
您可以列出所有活跃的MCP连接及其传输类型:```bash
CAI>/mcp list
https://github.com/user-attachments/assets/386a1fd3-3469-4f84-9396-2a5236febe1f
开发通过 VS Code 开发环境进行。要尝试我们的开发环境,克隆仓库,打开 VS Code 并进入 de 开发容器模式:

如果您想为此项目做出贡献,请在您的 MR 之前使用 Pre-commit```bash pip install pre-commit pre-commit # files staged pre-commit run --all-files # all files
### 可选要求:caiextensions
目前,扩展尚未公开发布,因为维护它们需要大量的工程投入。我们正在为合作公司提供选定的自定义 caiextensions。
### :information_source: 使用数据收集
CAI 免费提供给研究人员使用。为提高 CAI 的检测准确性、推进开放安全研究以及开发和训练未来模型,我们请求您通过允许使用数据收集来为 CAI 社区做出贡献。这些数据有助于我们识别改进领域、了解框架的使用方式、确定新功能的优先级,并支持模型训练和评估工作。
数据收集的法律依据是 GDPR 第 6 条第 1 款(f)项——CAI 在维护、改进和推进安全工具及研究方面的合法利益——并针对研究目的适用了第 89 条保障措施。
收集的数据包括:
- 基本系统信息(操作系统类型、Python 版本)
- 用户名和 IP 信息
- 工具使用模式和性能指标
- 模型交互和 token 使用统计
我们认真对待您的隐私,仅收集改进 CAI、支持研究以及负责任地训练和评估模型所必需的数据。更多信息,请联系 research@aliasrobotics.com。您可以通过 `CAI_TELEMETRY` 环境变量禁用某些数据收集功能,但我们鼓励您保持启用状态,以支持正在进行的研究和模型开发:```bash
CAI_TELEMETRY=False cai
为了模拟CI/CD流水线,你可以在Gitlab runner机器上运行以下命令:```bash
docker run --rm -it
--privileged
--network=exploitflow_net
--add-host="host.docker.internal:host-gateway"
-v /cache:/cache
-v /var/run/docker.sock:/var/run/docker.sock:rw
registry.gitlab.com/aliasrobotics/alias_research/cai:latest bash
## 常见问题
OLLAMA 出现 404 错误
Ollama 在 OpenAI 模式下的 API 使用 `/v1/chat/completions`,而 `openai` 库使用 `base_url` + `/chat/completions`。
我们采用后者以与生成式 AI 社区整体对齐,并通过允许用户自行添加 `v1` 来支持前者,方式如下:```bash
OLLAMA_API_BASE=http://IP:PORT/v1
查看以下问题以获取更详细信息:
所有的 caiextensions 在哪里?
如何安装 report caiextension?
如何为 Gitlab 设置 SSH 访问?
生成一个新的 SSH 密钥```bash ssh-keygen -t ed25519
将密钥添加到SSH agent```bash
ssh-add ~/.ssh/id_ed25519
将公钥添加到Gitlab 复制密钥并将其添加到Gitlab,在 https://gitlab.com/-/user_settings/ssh_keys 下```bash cat ~/.ssh/id_ed25519.pub
为了验证它:```bash
ssh -T [email protected]
Welcome to GitLab, @vmayoral!
如何清除Python缓存?```bash find . -name "*.pyc" -delete && find . -name "pycache" -delete
如果主机网络与 ollama 配合不正常,检查是否因为未登录而导致 Docker 禁用了它。
OS X 上的 Docker 有时表现很奇怪。检查是否出现以下消息:
*主机网络已被禁用,因为您未登录。请登录以启用*。
确保此问题已解决,并且开发容器没有转发 8000 端口(如有必要,在端口部分点击 x)。
要验证连接,请在 VSCode 开发容器内执行:```bash
curl -v http://host.docker.internal:8000/api/version
Run CAI against any target
cai-004-first-message
此场景下的初始用户提示是:Target IP: 192.168.3.10, perform a full network scan。
代理开始执行nmap扫描。你可以与代理交互并提供更多指令,或者让它继续运行以观察下一步探索的内容。
How do I interact with the agent? Type twice CTRL + C
cai-005-ctrl-c
如果你想使用HITL模式,可以通过按两次 Ctrl + C 来实现。这将允许你随时与代理交互(提示)。代理不会丢失之前的上下文,因为它存储在 history 变量中,该变量会传递给代理以及任何被调用的代理。这使得任何代理都能利用之前的信息,更加准确高效。
Can I change the model while CAI is running? /model
Use /model to change the model.
cai-007-model-change
How can I list all the agents available? /agent
Use /agent to list all the agents available.
cai-010-agents-menu
Where can I list all the environment variables? /env
cai-008-config
How can I monitor token usage and costs?
Use /cost in the REPL for session spend and token statistics, /compact when conversations grow long, and (in TUI mode) the per-terminal cost and model indicators in the UI.```bash
CAI> /cost
See the [CLI commands reference](https://github.com/aliasrobotics/cai/blob/HEAD/docs/cli/commands_reference.md) for the full command list.
How to know more about the CLI? /help
cai-006-help
How can I trace the whole execution?
The environment variable `CAI_TRACING` allows the user to set it to `CAI_TRACING=true` to enable tracing, or `CAI_TRACING=false` to disable it.
When CAI is prompted by the first time, the user is provided with two paths, the execution log, and the tracing log.
cai-009-logs
Can I expand CAI capabilities using previous run logs?
Yes. Today CAI performs best by relying on In‑Context Learning (ICL). Rather than building long‑term stores, the recommended workflow is to load relevant prior logs directly into the current session so the model can reason with them in context.
Use the `/load` command to bring JSONL logs into CAI’s context (this replaces the legacy memory-loading tool):```bash
CAI>/load logs/cai_20250408_111856.jsonl # Load into current agent
CAI>/load <file> agent <name> # Load into a specific agent
CAI>/load <file> all # Distribute across all agents
CAI>/load <file> parallel # Match to configured parallel agents
# Tip: if you omit <file>, /load uses `logs/last`. Alias: /l
CAI 在启动时会打印当前运行的 JSONL 日志路径(以橙色高亮显示),您可以将该路径传递给 /load:
cai-009-logs
遗留说明:较早的“记忆扩展”机制(情景/语义存储和离线摄取)仅保留供参考。背景和遗留细节请参见 src/cai/agents/memory.py。我们当前的方向优先考虑 ICL 而非持久记忆。
我能否通过脚本或额外信息扩展 CAI 的功能?
目前,CAI 支持基于文本的信息。您可以通过将任何关于目标设备的额外信息直接复制粘贴到系统或用户提示中来添加。
如何操作? 将其添加到系统提示(system_master_template.md)或用户提示(user_master_template.md)中。您始终可以直接向模型提示路径,它会执行 cat。
CAI 许可证如何运作?
CAI 当前的许可证不限制用于研究目的。只要遵守当地法律,您可以自由地将 CAI 用于安全评估(渗透测试)、开发额外功能以及将其集成到研究活动中。
如果您或您的组织开始从 CAI 中获得商业利益(例如,提供由 CAI 驱动的渗透测试服务),则需要商业许可证以帮助维持项目。
CAI 本身并非以营利为目的。我们的目标是建立一个可持续的开源项目。我们只是要求那些从 CAI 中获利的人们回馈并支持我们的持续开发。
在基于 Debian 的系统上安装先决条件时,出现 Unable to locate package python3.12-venv 错误!
最简单的解决方法是直接从源代码安装 python3.12。
如果您想引用我们的工作,请使用以下格式(按发表日期排序):```bibtex @article{mayoral2025cai, title={CAI: An Open, Bug Bounty-Ready Cybersecurity AI}, author={Mayoral-Vilches, V{'\i}ctor and Navarrete-Lozano, Luis Javier and Sanz-G{'o}mez, Mar{'\i}a and Espejo, Lidia Salas and Crespo-{'A}lvarez, Marti{~n}o and Oca-Gonzalez, Francisco and Balassone, Francesco and Glera-Pic{'o}n, Alfonso and Ayucar-Carbajo, Unai and Ruiz-Alcalde, Jon Ander and Rass, Stefan and Pinzger, Martin and Gil-Uriarte, Endika}, journal={arXiv preprint arXiv:2504.06017}, year={2025} }
@article{mayoral2025automation, title={Cybersecurity AI: The Dangerous Gap Between Automation and Autonomy}, author={Mayoral-Vilches, V{'\i}ctor}, journal={arXiv preprint arXiv:2506.23592}, year={2025} }
@article{mayoral2025fluency, title={CAI Fluency: A Framework for Cybersecurity AI Fluency}, author={Mayoral-Vilches, V{'\i}ctor and Wachter, Jasmin and Chavez, Crist{'o}bal RJ and Schachner, Cathrin and Navarrete-Lozano, Luis Javier and Sanz-G{'o}mez, Mar{'\i}a}, journal={arXiv preprint arXiv:2508.13588}, year={2025} }
@article{mayoral2025hacking, title={Cybersecurity AI: Hacking the AI Hackers via Prompt Injection}, author={Mayoral-Vilches, V{'\i}ctor and Rynning, Per Mannermaa}, journal={arXiv preprint arXiv:2508.21669}, year={2025} }
@article{mayoral2025humanoid, title={Cybersecurity AI: Humanoid Robots as Attack Vectors}, author={Mayoral-Vilches, V{'\i}ctor}, journal={arXiv preprint arXiv:2509.14139}, year={2025} }
@article{balassone2025evaluation, title={Cybersecurity AI: Evaluating Agentic Cybersecurity in Attack/Defense CTFs}, author={Balassone, Francesco and Mayoral-Vilches, V{'\i}ctor and Rass, Stefan and Pinzger, Martin and Perrone, Gaetano and Romano, Simon Pietro and Schartner, Peter}, journal={arXiv preprint arXiv:2510.17521}, year={2025} }
@article{mayoral2025caibench, title={CAIBench: A Meta-Benchmark for Evaluating Cybersecurity AI Agents}, author={Mayoral-Vilches, V{'\i}ctor and Balassone, Francesco and Navarrete-Lozano, Luis Javier and Sanz-G{'o}mez, Mar{'\i}a and Crespo-{'A}lvarez, Marti{~n}o and Rass, Stefan and Pinzger, Martin}, journal={arXiv preprint arXiv:2510.24317}, year={2025} }
## 致谢
CAI 最初由 [Alias Robotics](https://aliasrobotics.com) 开发,并得到欧洲 EIC 加速器项目 RIS(GA 101161136)的共同资助,该项目属于 HORIZON-EIC-2023-ACCELERATOR-01 征集。最初的智能体原理受到 OpenAI 的 [`swarm`](https://github.com/openai/swarm) 库的启发,并被转化为更新的原型。该项目还使用了其他相关的开源构建模块,包括 [`LiteLLM`](https://github.com/BerriAI/litellm) 和 [`phoenix`](https://github.com/Arize-ai/phoenix)。
### 学术合作
CAI 受益于与学术机构的持续研究合作。对合作项目、数据集访问或学术许可证感兴趣的研究人员应联系 [email protected]。我们为以下方面提供特殊支持:
- 博士研究项目
- 学术基准研究
- 安全教育倡议
- 来自研究实验室的开源贡献
[^1]: https://raw.githubusercontent.com/aliasrobotics/cai/HEAD/%E5%8F%AF%E4%BB%A5%E8%AF%B4%EF%BC%8C%E6%80%9D%E7%BB%B4%E9%93%BE%E6%99%BA%E8%83%BD%E4%BD%93%E6%A8%A1%E5%BC%8F%E6%98%AF%E5%B1%82%E6%AC%A1%E6%99%BA%E8%83%BD%E4%BD%93%E6%A8%A1%E5%BC%8F%E7%9A%84%E4%B8%80%E4%B8%AA%E7%89%B9%E4%BE%8B%E3%80%82
[^2]: Kamhoua, C. A., Leslie, N. O., & Weisman, M. J. (2018). Game theoretic modeling of advanced persistent threat in internet of things. Journal of Cyber Security and Information Systems.
[^3]: Yao, S., Zhao, J., Yu, D., Du, N., Shafran, I., Narasimhan, K., & Cao, Y. (2023, January). React: Synergizing reasoning and acting in language models. In International Conference on Learning Representations (ICLR).
[^4]: Deng, G., Liu, Y., Mayoral-Vilches, V., Liu, P., Li, Y., Xu, Y., ... & Rass, S. (2024). {PentestGPT}: Evaluating and harnessing large language models for automated penetration testing. In 33rd USENIX Security Symposium (USENIX Security 24) (pp. 847-864).
| CAI 由 alias1 驱动,在操作技术网络安全方面展现出卓越性能,在 Dragos OT CTF 2025 中进入前十名。该 AI 代理在比赛第 7-8 小时达到第一名,完成 32/34 个挑战,并且比顶级人类团队保持 37% 的速度优势。 |
IT(网络) - CAI 和 alias0 作用于:Mercado Libre 的电子商务平台 |
|---|
| 通过自动化 ROS 消息注入攻击对 MiR(移动工业机器人)平台进行基于 CAI 的安全测试。本研究展示了 AI 驱动的漏洞发现如何暴露对机器人控制系统和警报触发器的未授权访问。 | 通过自动化枚举攻击在 Mercado Libre 进行基于 CAI 的 API 漏洞发现。本研究展示了 AI 驱动的安全测试如何大规模暴露电子商务平台中的用户数据泄露风险。 |
![]() | ![]() |
| 基于 CAI 的测试在 Docker 化的 OT 网络中暴露了 MQTT 代理的关键缺陷。未经身份验证,CAI 订阅了温度和湿度主题并注入了虚假值,损坏了 Grafana 仪表盘中显示的数据。 | 基于 CAI 的竞争条件利用文件上传漏洞。本研究展示了 AI 驱动的安全测试如何识别和利用 Web 应用程序中的时序窗口,通过自动化的并行请求成功上传并执行 Web Shell。 |
![]() |
| CAI:一个开放的、适用于漏洞赏金的网络安全人工智能 | 自动化与自主性之间的危险差距 | CAI 熟练度:网络安全人工智能熟练度框架 | 通过提示注入破解 AI 黑客 |
|---|
| 人形机器人作为攻击向量 | 人形机器人的网络安全 | 在攻击/防御 CTF 中评估代理型网络安全 | CAIBench:用于评估网络安全 AI 代理的元基准 |
|---|
DeepSeek R1Qwen2.5 72B、Qwen2.5 14B 等| 描述 | 英语 | 西班牙语 |
|---|
| 第 0 集:什么是 CAI? | 网络安全 AI(CAI)解释 | ![]() | ![]() |
第 1 集:CAI 框架 | 愿景与伦理 - 探索 CAI 背后的核心动机,深入探讨指导其发展的关键伦理原则。理解 CAI 的动机以及你如何积极为网络安全和 CAI 框架的未来做出贡献。 | ![]() | |
| 第 2 集:从零到网络英雄 | 使用 AI 进入网络安全 - 面向完全初学者的全面指南,教你使用 CAI 和 AI 工具成为网络安全从业者。学习如何利用人工智能加速你的网络安全学习之旅,从理解基本安全概念到执行真实世界的安全评估,无需任何先前的网络安全经验。 | ![]() | |
| 第 3 集:Vibe-Hacking 教程 | “我的第一次黑客攻击” - 面向新手的 Vibe-Hacking 指南。我们演示了一个简单的 Web 安全黑客攻击,使用默认智能体,并展示如何利用工具以及借助 CAI Python API 解释 CAI 输出。你还将学习比较不同的 LLM 模型,以找到最适合你黑客攻防需求的方式。 | ![]() | ![]() |
| 第 4 集:ReAct 入门 | LLM 的进化 - 了解 LLM 如何从基本语言模型演变为先进的多智能体 AI 系统。从基本 LLM 到思维链和推理 LLM,再到 ReAct 和多智能体架构。了解基本术语。 | ![]() | |
| 第 5 集:CTF 挑战中的 CAI | 使用 CAI 深入参与夺旗赛(CTF)竞赛。学习如何利用 AI 智能体解决各种网络安全挑战,包括 Web 利用、密码学、逆向工程和取证。了解如何为竞技黑客攻防场景配置 CAI,并通过智能自动化最大化你的 CTF 表现。 | ![]() | ![]() |
附录 1:CAI 0.5.x 版本 | 介绍 CAI 的 0.5 版本,包括新的多智能体功能、新命令如 /history、/compact、/graph 或 /memory,以及一个案例研究,展示 CAI 如何发现遍布全球的 OT 热水泵中的关键安全漏洞。 | ![]() | ![]() |
附录 2:CAI 0.4.x 版本与 alias0 | 介绍 CAI 的 0.4 版本,具备流式和增强的 MCP 支持。我们还介绍了 alias0,一种隐私优先的网络安全 AI,一种模型之模型智能,实现了从设计开始即隐私保护(Privacy-by-Design)架构,并在网络安全基准测试中获得最先进的结果。 | ![]() | |
| 附录 3:网络安全 AI 社区会议 #1 | 第一次网络安全 AI(CAI)社区会议,超过 40 位来自学术界、工业界和国防领域的参与者齐聚一堂,讨论 CAI 背后的开源框架——这是一个旨在构建用于网络安全的开放、模块化且适用于漏洞赏金的智能体 AI 系统的项目。 | ![]() | |
附录 4:CAI PRO 概念验证 | 简短的 CAI PRO 功能概念验证演示,展示专业版,具有无限 alias1 代币、无限制 AI 和企业级安全测试功能。 | ![]() | |
附录 5:CAI 概念验证 | 简短的 CAI 社区版概念验证演示,展示开源框架用于 AI 驱动的安全测试和漏洞发现的核心功能。 | ![]() | |
附录 6:Jaula del N00B 中的 CAI | CAI(人工智能网络安全)LUIJAIT EN LA JAULA DEL N00B - 在流行的西班牙语网络安全播客/节目中演示和讨论 CAI 框架功能。 | ![]() |
智能体 Pattern 类别 | 描述 |
|---|
Swarm(去中心化) | 智能体共享任务并自行分配职责,无需中央编排器。交接动态发生。点对点智能体模式的一个例子是 CTF Agentic Pattern,它涉及一个智能体团队通过动态交接协作解决 CTF 挑战。 |
Hierarchical(层级式) | 顶级智能体(例如“PlannerAgent”)通过结构化交接将任务分配给专门的子智能体。或者,智能体的结构被硬编码到智能体模式中,具有预定义的交接关系。 |
Chain-of-Thought(顺序工作流) | 一个结构化管道,智能体 A 产生输出后交给智能体 B 重用或优化,依此类推。交接遵循线性序列。思维链智能体模式的一个例子是 ReasonerAgent,它使用推理型 LLM 提供上下文给主智能体,以线性序列解决 CTF 挑战。[^1] |
Auction-Based(竞争分配) | 智能体根据优先级、能力或代价对任务进行“竞标”。决策智能体评估标书并将任务交给最合适的智能体。 |
Recursive(递归式) | 单个智能体不断优化自己的输出,将自身同时视为执行者和评估者,交接(内部或外部)给自己。递归智能体模式的一个例子是 CodeAgent(当用作递归智能体时),它通过执行代码和更新自身指令来持续优化自己的输出。 |
| 变量 | 描述 |
|---|
| CTF_NAME | 要运行的 CTF 挑战名称(例如 "picoctf_static_flag") |
| CTF_CHALLENGE | CTF 中要测试的特定挑战名称 |
| CTF_SUBNET | CTF 容器的网络子网 |
| CTF_IP | CTF 容器的 IP 地址 |
| CTF_INSIDE | 是否从容器内部攻克 CTF |
| CAI_MODEL | 用于代理的模型 |
| CAI_DEBUG | 设置调试输出级别(0:仅工具输出,1:详细调试输出,2:CLI 调试输出) |
| CAI_BRIEF | 启用/禁用简洁输出模式 |
| CAI_MAX_TURNS | 代理交互的最大轮数 |
| CAI_TRACING | 启用/禁用 OpenTelemetry 追踪 |
| CAI_AGENT_TYPE | 指定要使用的代理(boot2root, one_tool...) |
| CAI_STATE | 启用/禁用状态化模式 |
| CAI_MEMORY | 启用/禁用记忆模式(episodic, semantic, all) |
| CAI_MEMORY_ONLINE | 启用/禁用在线记忆模式 |
| CAI_MEMORY_OFFLINE | 启用/禁用离线记忆 |
| CAI_ENV_CONTEXT | 将目录和当前环境添加到 LLM 上下文 |
| CAI_MEMORY_ONLINE_INTERVAL | 在线记忆更新之间的轮数 |
| CAI_PRICE_LIMIT | 对话的价格限制(美元) |
| CAI_REPORT | 启用/禁用报告模式(ctf, nis2, pentesting) |
| CAI_SUPPORT_MODEL | 用于支持代理的模型 |
| CAI_SUPPORT_INTERVAL | 支持代理执行之间的轮数 |
| CAI_WORKSPACE | 定义工作区的名称 |
| CAI_WORKSPACE_DIR | 指定工作区所在的目录路径 |
| CAI_GUARDRAILS | 启用/禁用提示注入防护(默认:true) |