快速上手
相关源文件
本页面内容基于以下源文件生成:
Strix 是一个基于 AI 的自动化渗透测试工具,通过 Docker 沙箱提供安全的漏洞扫描环境。本文档将指导完成从环境准备到首次扫描的完整流程。
环境要求与安装
系统依赖
运行 Strix 需要满足以下前提条件:
- Docker:必须处于运行状态,用于执行安全沙箱环境
- LLM API 密钥:支持 Strix Router 或自带第三方提供商密钥
官方文档明确指出 Docker 是必要依赖,首次运行时会自动拉取沙箱镜像(docs/quickstart.mdx:6-9)。
支持的平台
安装脚本自动检测操作系统和 CPU 架构,支持以下组合:
| 操作系统 | 架构 | 归档格式 |
|---|---|---|
| Linux | x86_64 | .tar.gz |
| macOS | x86_64, arm64 | .tar.gz |
| Windows | x86_64 | .zip |
检测逻辑通过 uname 命令获取系统信息,并对 macOS Rosetta 转译环境进行特殊处理(scripts/install.sh:19-50)。不支持的系统组合会导致安装终止并显示错误信息。
安装方式
提供两种推荐的安装方式:
方式一:curl 安装(推荐)
bash1curl -sSL https://strix.ai/install | bash
此方式从官方脚本获取最新版本并自动配置环境(docs/quickstart.mdx:13-17)。
方式二:pipx 安装
bash1pipx install strix-agent
适用于已配置 Python 环境的用户(docs/quickstart.mdx:19-23)。
Docker 环境验证
安装脚本会检查 Docker 是否可用,并在 Docker 守护进程未运行时给出提示(scripts/install.sh:177-192)。沙箱镜像默认使用 ghcr.io/usestrix/strix-sandbox:0.1.12,首次运行时自动拉取(scripts/install.sh:194-205)。
配置 LLM 提供商
环境变量配置
Strix 通过环境变量配置 LLM 模型和 API 密钥。支持两种配置模式:
模式一:Strix Router(推荐)
bash1export STRIX_LLM="strix/gpt-5" 2export LLM_API_KEY="your-strix-api-key"
模式二:自带 API Key
bash1export STRIX_LLM="openai/gpt-5" 2export LLM_API_KEY="your-api-key"
官方推荐使用 strix/gpt-5、strix/claude-opus-4.6 或 strix/gpt-5.2 以获得最佳效果(docs/quickstart.mdx:26-47)。
配置参数管理
配置类 Config 集中管理所有 LLM 相关参数,包括:
| 参数名 | 默认值 | 说明 |
|---|---|---|
strix_llm | None | LLM 模型标识符 |
llm_api_key | None | API 密钥 |
llm_api_base | None | API 基础 URL |
strix_reasoning_effort | "high" | 推理深度级别 |
strix_llm_max_retries | "5" | 最大重试次数 |
llm_timeout | "300" | 请求超时时间(秒) |
这些参数在配置类中定义并支持环境变量覆盖(strix/config/config.py:14-36)。
运行首次扫描
最小可运行命令
完成环境配置后,使用以下命令启动首次扫描:
bash1strix --target ./your-app
此命令会对本地代码库目录执行安全扫描(docs/quickstart.mdx:49-53)。
启动流程
CLI 入口函数 run_cli 负责初始化扫描配置并显示启动面板。扫描配置包含以下关键信息:
scan_id:运行标识符targets:目标信息列表user_instructions:用户自定义指令run_name:运行名称
启动面板显示目标地址和输出目录路径(strix/interface/cli.py:23-82)。
首次运行注意事项
首次运行时,系统会自动拉取 Docker 沙箱镜像,可能需要几分钟时间。扫描结果保存在 strix_runs/<run-name> 目录下(docs/quickstart.mdx:55-57)。
目标类型与使用场景
支持的目标类型
Strix 支持多种目标类型,适应不同的安全测试场景:
| 目标类型 | 命令示例 | 适用场景 |
|---|---|---|
| 本地代码库 | strix --target ./app-directory | 开发阶段代码审计 |
| GitHub 仓库 | strix --target https://github.com/org/repo | 开源项目安全评估 |
| 在线网站 | strix --target https://your-app.com | 生产环境渗透测试 |
| 多目标组合 | strix -t <repo> -t <url> | 白盒+黑盒联合测试 |
官方文档提供了各类目标的使用示例(docs/quickstart.mdx:59-75)。
多目标支持
CLI 支持同时指定多个目标进行白盒测试。当存在多个目标时,启动面板会显示目标数量和详细列表(strix/interface/cli.py:29-43)。单目标显示原始地址,多目标显示计数和逐项列表。
运行时与输出
实时进度显示
扫描过程中,CLI 通过 Live 组件实时更新状态面板,每 2 秒刷新一次。状态面板显示当前渗透测试进度和统计信息(strix/interface/cli.py:125-140)。
漏洞实时报告
当发现漏洞时,系统通过回调函数 display_vulnerability 实时输出漏洞详情。每个漏洞以独立面板形式展示,包含漏洞 ID 和详细报告(strix/interface/cli.py:89-103)。
信号处理与清理
CLI 注册了以下信号处理器确保资源正确释放:
SIGINT(Ctrl+C)SIGTERMSIGHUP(如果系统支持)
退出时自动调用 cleanup_runtime 清理运行时环境(strix/interface/cli.py:107-120)。
最终报告输出
扫描完成后,系统输出总结报告面板,包含完整的渗透测试摘要。报告面板使用蓝色边框标识,与扫描中的绿色状态面板区分(strix/interface/cli.py:182-201)。
运行时配置参数
运行时行为可通过以下参数调整:
| 参数 | 默认值 | 说明 |
|---|---|---|
strix_image | ghcr.io/usestrix/strix-sandbox:0.1.12 | 沙箱镜像地址 |
strix_runtime_backend | docker | 运行时后端 |
strix_sandbox_execution_timeout | 120 | 沙箱执行超时(秒) |
strix_sandbox_connect_timeout | 10 | 沙箱连接超时(秒) |
这些参数在配置类中定义(strix/config/config.py:42-46)。
常见问题与排错
问题一:Docker 未安装或未运行
症状:安装或运行时提示 "Docker not found" 或 "Docker daemon not running"
解决方案:
- 安装 Docker:访问 https://docs.docker.com/get-docker/
- 启动 Docker 守护进程
- 手动拉取沙箱镜像:
docker pull ghcr.io/usestrix/strix-sandbox:0.1.12
安装脚本会在检测到 Docker 问题时给出相应提示(scripts/install.sh:179-191)。
问题二:不支持的操作系统或架构
症状:安装时显示 "Unsupported OS/Arch: xxx/xxx"
解决方案: 确认系统在支持列表中:Linux x86_64、macOS x86_64/arm64、Windows x86_64。安装脚本会检测并拒绝不支持的组合(scripts/install.sh:43-49)。
问题三:沙箱镜像拉取失败
症状:首次运行时提示 "Failed to pull sandbox image"
解决方案:
- 检查网络连接和 Docker 配置
- 手动执行:
docker pull ghcr.io/usestrix/strix-sandbox:0.1.12 - 如果使用代理,确保 Docker 正确配置代理设置
安装脚本会在镜像拉取失败时提示可手动拉取(scripts/install.sh:199-204)。
问题四:API 密钥配置错误
症状:扫描启动失败或 LLM 调用超时
解决方案:
- 确认环境变量正确设置:
echo $STRIX_LLM和echo $LLM_API_KEY - 验证 API 密钥有效性
- 检查网络是否能访问对应的 LLM API 端点
配置类支持多种 LLM 提供商的参数配置(strix/config/config.py:14-36)。
问题五:扫描中断后资源未释放
症状:Ctrl+C 中断后 Docker 容器残留
解决方案: CLI 已实现信号处理机制,正常中断时会自动清理资源。如果异常中断导致残留,可手动清理:
bash1docker ps -a | grep strix-sandbox | awk '{print $1}' | xargs docker rm -f
信号处理逻辑确保 SIGINT、SIGTERM 和 SIGHUP 都能触发清理(strix/interface/cli.py:113-121)。
下一步建议
完成首次扫描后,建议进一步探索以下内容:
- CLI 选项:了解所有命令行参数,包括扫描模式、深度控制等高级选项
- 扫描模式:根据目标特性选择合适的扫描深度(快速/标准/深度)
- 多目标策略:学习如何组合本地代码和在线目标进行综合测试
- 结果解读:深入理解漏洞报告格式和修复建议
扫描结果目录 strix_runs/<run-name> 包含完整的测试日志和漏洞详情,可用于后续分析和报告生成(strix/interface/cli.py:40-43)。
