CAI 快速上手:从终端启动到自主安全任务的完整指南

发布时间:2026/9/15 23:27:21
CAI 快速上手:从终端启动到自主安全任务的完整指南
CAI 快速上手从终端启动到自主安全任务的完整指南【免费下载链接】caiCybersecurity AI (CAI), the framework for AI Security项目地址: https://gitcode.com/GitHub_Trending/cai3/cai本篇技术指南以 Cybersecurity AICAI框架的官方快速入门文档为核心讲解如何通过一行cai命令启动终端交互式安全助手、理解底部状态栏信息、掌握全套环境变量配置方式并运用--continue自主模式让 Agent 无人值守地完成漏洞审计、SQL 注入检测、代码安全审查等实战任务。读完本文你将能够独立完成 CAI 的初始化、按需配置模型与成本上限并编写可复用的自主安全任务命令。一、启动 CAI一条命令进入安全作战终端安装 CAI 之后只需在终端输入cai即可完成初始化并进入交互式提示符└─# cai CCCCCCCCCCCCC IIIIIIIIII CCC::::::::::::C I::::::::I CC:::::::::::::::C I::::::::I C:::::CCCCCCCCCC::::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), v0.4.0 Bug bounty-ready AI CAI初始化成功后你会看到CAI提示符可以在其中执行任意安全任务。屏幕底部的导航栏会持续显示重要的系统信息当前 Agent、模型、会话成本、运行时长等帮助你随时了解运行环境。从源码结构看启动流程由 src/cai/cli.py 中的main()函数驱动它先调用fix_litellm_transcription_annotations()修复 LiteLLM 的注解兼容性问题再依据CAI_AGENT_TYPE默认one_tool_agent通过get_agent_by_name()实例化 Agent最后进入 run_cai_cli() 的主循环——该循环负责读取用户输入、拼接对话上下文history_context、调用Runner.run()执行 Agent并处理CAI_MAX_TURNS轮次上限、CAI_PARALLEL并行实例等运行时逻辑。启动后最有效的学习方式是直接下达任务例如让 CAI 执行一次针对认证系统的安全检查。原文档提供了对应的演示视频你可以按同样的步骤从启动工具一路走到运行第一个 AI 驱动的安全任务。二、环境变量全景控制 CAI 行为的 20 个开关CAI 通过环境变量来配置几乎所有的运行行为。下表完整列出了快速入门文档中的变量清单并补充了源码src/cai/cli.py 顶部模块文档与 src/cai/repl/commands/config.py 中的ENV_VARS定义确认的默认值与可选值变量说明CTF_NAME要运行的 CTF 挑战名称如picoctf_static_flagCTF_CHALLENGECTF 内的具体子挑战名如CTF_NAMEkiddoctf包含 4 个子挑战运行其中之一01 linux iCTF_SUBNETCTF 容器的网络子网默认192.168.3.0/24CTF_IPCTF 容器的 IP 地址默认192.168.3.100CTF_INSIDE是否在容器内部攻克 CTF默认trueCAI_MODELAgent 使用的模型默认alias1CAI_DEBUG调试输出级别0仅显示工具输出1详细调试输出2CLI 调试输出默认1CAI_BRIEF启用/禁用精简输出模式默认falseCAI_MAX_TURNSAgent 交互的最大轮数默认inf即不限CAI_TRACING启用/禁用 OpenTelemetry 追踪默认trueCAI_AGENT_TYPE指定使用的 Agent默认one_tool_agent如boot2root、redteam_agent等可用/agent命令列出全部CAI_PRICE_LIMIT会话的价格上限单位美元默认1CAI_WORKSPACE工作区名称影响日志文件命名CAI_GUARDRAILS启用/禁用提示注入防护的 guardrails默认true在 src/cai/repl/commands/config.py 的ENV_VARS注册表中还可以看到快速入门未列出的扩展变量供深入使用时参考变量说明含默认值CAI_STATE启用状态化模式默认false开启后 Agent 会用状态 Agent 追踪网络状态与已发现 flagCAI_MEMORY记忆模式episodic情景记忆、semantic语义记忆、all两者并用默认falseCAI_MEMORY_ONLINE/CAI_MEMORY_OFFLINE在线/离线记忆开关默认falseCAI_MEMORY_ONLINE_INTERVAL在线记忆更新的轮次间隔默认5CAI_ENV_CONTEXT是否将目录与当前环境加入 LLM 上下文默认trueCAI_SUPPORT_MODEL支持 Agent 使用的模型默认o3-miniCAI_SUPPORT_INTERVAL支持 Agent 执行的轮次间隔默认5CAI_STREAM是否以实时分块流式输出默认falseCAI_TELEMETRY是否上传遥测数据默认trueCAI_PARALLEL并行运行的 Agent 实例数默认1大于 1 时同屏展示所有结果CAI_REPORT报告模式扩展ctfCTF 解决报告默认、nis2、pentesting提示CAI_GUARDRAILS在 config.py 注册表中对应编号26CAI_PRICE_LIMIT对应编号18这与快速入门文档及 src/cai/cli.py 中/config set 26 false的提示完全一致。三、三种配置环境变量的方式快速入门文档给出了三种互相等价、可灵活组合的配置手段以下逐一展开。1. 使用.env文件推荐持久化在启动目录放置.env文件CAI 会自动加载。值得注意的是src/cai/cli.py 在导入任何其他模块之前就调用load_dotenv(overrideTrue)且.env的优先级高于系统环境变量因此这是最可靠的配置来源# 在 .env 文件中添加任意环境变量 CAI_PRICE_LIMIT0.004 CAI_MODELqwen2.5:72b2. 命令行参数单次会话直接在启动命令前以键值对形式传入适合临时覆盖CAI_PRICE_LIMIT0.004 CAI_MODELqwen2.5:72b cai3. 运行时/config配置不重启生效进入 CAI 后输入/config会以 Rich 表格形式展示全部环境变量及当前值、默认值。根据第一列的数字编号执行set即可热更新cai /config # 显示包含所有环境变量的面板取第一列的引用编号 # 例如 18 对应 CAI_PRICE_LIMIT /config set 18 0.004/config的实现细节src/cai/repl/commands/config.py值得留意支持子命令list列全部、get number查单个、set number value改单个ConfigCommand._add_agent_model_vars()会为每个已注册 Agent 动态追加CAI_AGENT_MODEL覆盖变量并行模式CAI_PARALLEL 1下还会追加CAI_AGENT_N_MODEL实例级覆盖变量主循环 run_cai_cli() 每轮都会重新读取CAI_MAX_TURNS若运行时调大上限会解除之前的“仅允许 CLI 命令”锁定状态提示Turn limit increased. You can now continue using CAI.结合cli.py的用法示例可以组合出典型的真实场景# 针对 CTF 运行指定挑战、Agent 与模型关闭追踪 CTF_NAMEkiddoctf CTF_CHALLENGE02 linux ii \ CAI_AGENT_TYPEone_tool_agent CAI_MODELalias1 \ CAI_TRACINGfalse cai # 开启在线情景记忆每 5 轮注册一次记忆成本上限 5 美元 CTF_NAMEhackableII CAI_MEMORYepisodic \ CAI_MODELalias1 CAI_MEMORY_ONLINETrue \ CTF_INSIDEFalse CTF_HINTSFalse \ CAI_PRICE_LIMIT5 cai四、--continue自主模式让 Agent 不停机地完成任务CAI 最强大的特性之一是--continue自主模式Agent 在原本会停下等待用户输入的位置自动生成智能续接指令持续工作直至任务完成或被中断。基本用法# 让 CAI 连续讲安全笑话 cai --continue --prompt tell me a joke about security # 运行自主安全审计 cai --continue --prompt perform security audit of authentication system # 自动寻找漏洞 cai --continue --prompt find SQL injection vulnerabilities启用--continue后CAI 会每一轮结束后分析对话上下文生成智能化的续接提示Auto-continuing with: ...持续工作直到任务完成或被CtrlC中断。工作原理解读续接系统在 Agent 完成一轮后会综合分析以下信号来决定下一步动作详细机制参见 docs/continue_mode.md原始请求用户最初下达的任务对话历史最近的用户消息与 Agent 回复工具使用使用了哪些工具及其输出错误状态遇到的错误类型任务进度当前完成度。随后系统使用配置的模型生成上下文感知的续接提示例如# 系统构建的上下文摘要示意 context_summary ORIGINAL TASK: Tell me a joke about security CONVERSATION FLOW: User: Tell me a joke about security Agent: Why did the hacker break up with their password? Because it wasnt strong enough! CURRENT STATUS: - Last action: Told a cybersecurity joke - Tools used: None - Errors: No Generate a specific continuation prompt... 当主模型不可用时系统还内置了基于上下文的智能回退fallback策略部分典型映射如下场景回退续接提示讲完安全笑话Tell another cybersecurity joke or pun.文件未找到Search for the correct file path or create the missing resource.搜索完成Examine the search results in detail and investigate the most relevant findings.安全分析Analyze the code for security vulnerabilities like injection flaws or authentication issues.权限被拒Check permissions and try accessing the resource with appropriate credentials.终止与防失控机制系统通过以下规则判断是否停止完成指示Agent 明确说出 completed、finished、done 时停止活跃工作检测仍有工具调用进行时继续错误恢复尝试自动解决错误任务进度评估原始目标是否已达成。若担心无限循环可以组合CAI_MAX_TURNS限制轮数# 在代码集成中使用 max_turns 限制 run_cai_cli( starting_agentagent, initial_promptanalyze security, continue_modeTrue, max_turns10 # 限制为 10 轮 )五、自主模式的典型实战场景1. 自动化安全审计cai --continue --prompt perform a security audit of the authentication systemAgent 会依次搜索认证相关文件 → 分析代码漏洞 → 检查常见安全问题 → 生成综合报告。2. 持续漏洞狩猎cai --continue --prompt find and document all XSS vulnerabilitiesAgent 会搜索用户输入处理代码 → 识别潜在 XSS 向量 → 记录发现 → 给出修复建议。3. 扩展代码分析OWASP Top 10cai --continue --prompt analyze this codebase for OWASP Top 10 vulnerabilitiesAgent 会系统性逐类检查漏洞类型直至全部覆盖。4. 与 Session Resume 组合断点续跑--continue可与--resume无缝配合让中断的会话自主恢复详见 docs/session_resume.md# 恢复上次会话并继续自主工作 cai --resume --continue # 恢复指定会话并继续 cai --resume abc12345 --continue # 从交互选择器恢复并继续 cai --resume list --continue该组合的能力链条是恢复完整对话历史 → 基于上次停点自动生成续接提示 → 无需人工输入持续工作。六、与--continue配套的模型与功能配置模型与密钥# 为续接生成指定不同模型 export CAI_MODELgpt-4 cai --continue --prompt analyze this code # 设置主模型失败时的回退模型 export CAI_CONTINUATION_FALLBACK_MODELgpt-3.5-turbo cai --continue --prompt test application security # 为自定义模型配置 API 密钥 export ALIAS_API_KEYyour-api-key cai --continue --prompt perform penetration testing与其他 CAI 特性组合# 指定特定 Agent 进入自主模式 CAI_AGENT_TYPEbug_bounter_agent cai --continue --prompt test example.com # 设置工作区便于文件操作 CAI_WORKSPACEproject1 cai --continue --prompt audit all Python files # 开启流式输出实时监控进度 CAI_STREAMtrue cai --continue --prompt monitor security events七、可运行的示例脚本仓库提供了两个开箱即用的示例展示如何以编程方式驱动--continueexamples/continue_mode_jokes.py演示连续讲安全笑话包含CtrlC优雅中断与输出高亮examples/continue_mode_security_audit.py演示自主漏洞扫描会创建含 SQL 注入、命令注入、路径穿越、硬编码凭据的示例文件让 CAI 连续审计直至发现多处问题并在结束后自动清理。运行方式python examples/continue_mode_jokes.py python examples/continue_mode_security_audit.py从实现看两个脚本均通过subprocess.Popen以python src/cai/cli.py --continue --prompt ...的方式调用 CLI并逐行读取输出、统计Auto-continuing with:续接次数展示了自主模式在无人值守场景下的完整调用链。八、最佳实践与故障排查编写高质量的初始提示# 好——具体、可执行 cai --continue --prompt find SQL injection vulnerabilities in user.py # 差——过于模糊 cai --continue --prompt check security监控与限流定期检查输出确保方向正确需要停止时使用CtrlC查看logs/last符号链接指向的会话日志该链接由 run_cai_cli() 在退出时自动创建获取详细执行历史。常见问题症状可能原因解决方案续接提示总是泛化文本如 Continue working on the task based on your previous findings模型配置错误或 API 密钥失效检查模型配置与密钥有效性查看调试日志中的 API 错误续接未触发Agent 一轮即停Agent 明说任务 completed/done、无工具调用、续接模块报错使用更开放式的初始提示检查日志中的完成指示确认--continue已正确传入无限循环反复做同一件事任务定义过宽或模型陷入循环设置max_turns上限改用更具体的初始提示CtrlC中断后细化任务九、结语从cai一条命令启动交互式终端到通过.env/ 命令行 //config三路配置环境变量再到用--continue把 CAI 变成可无人值守的自主安全助手——快速入门文档覆盖的正是 CAI 日常使用中最核心的路径。结合 src/cai/cli.py 的主循环实现、src/cai/repl/commands/config.py 的变量注册表以及 examples 目录下的可运行示例你可以在此基础上进一步探索 CAI PRO 特性、完整命令参考 与 自主模式详解将 CAI 深度接入自己的安全研究与漏洞挖掘工作流。【免费下载链接】caiCybersecurity AI (CAI), the framework for AI Security项目地址: https://gitcode.com/GitHub_Trending/cai3/cai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考