一、Strix渗透测试的大模型准备

1、LLM相关信息配置–云Agent

  • 因为Strix渗透测试需要调用大模型的Agent功能,可以调用现在已有的大模型(类似于Deepseek、Qwen等等免费的)
  • 我们可以尝试调用一下Qwen的大模型API–原因是,新用户注册可以参与大模型服务平台百炼活动,前三个月有100w的免费token可以使用。
    注册账号之后,获取到api_key
    然后需要在系统变量中配置Strix的变量(每次更新系统变量的时候,都需要重启一下编译器)
qwen大模型配置
OPENAI_API_BASE:https://dashscope.aliyuncs.com/compatible-mode/v1
OPENAI_API_KEY:你获取到的api
STRIX_LLM:openai/qwen3-max

openrouter大模型配置
OPENAI_API_BASE:https://openrouter.ai/api/v1
OPENAI_API_KEY:你的key
STRIX_LLM:openai/mistralai/devstral-2512:free
  • 注意,不同的大模型你需要配置的Strix变量是不一样的

2、LLM相关信息配置–本地大模型

  • 首先确保服务器已安装docker
# 使用docker下载ollama镜像
sudo docker pull ollama/ollama:latest
# 创建容器并拉取大模型运行起来,拉取什么大模型需要根据自己的服务器配置来决定,我这是拉取了一个qwen2.5:7b
# 分步骤:
# 1.启动一个在后台持续运行的Ollama服务,并将API端口11434映射到宿主机
sudo docker run -d -v ollama_data:/root/.ollama -p 11434:11434 --name ollama_qwen ollama/ollama
# 参数讲解:
-d:后台运行。
-v ollama_data:/root/.ollama:非常重要! 将容器内的模型存储目录挂载到名为 ollama_data 的Docker卷上。这样即使删除容器,下载的模型也不会丢失。
-p 11434:11434:将容器的API服务端口映射到宿主机,方便你以后通过 http://localhost:11434 调用。
--name ollama_qwen:给容器起个新名字,避免和之前的冲突
# 2进入容器,下载并运行模型
# 进入容器内部的shell环境
sudo docker exec -it ollama_qwen /bin/bash
# 在容器内,拉取并运行模型(会自动下载)
ollama run qwen2.5:7b
# 下载完成后,会直接进入该模型的交互式聊天界面。按 Ctrl+D 可以退出聊天界面,但容器服务仍在后台运行。

验证服务是否正常

# 下载完成之后Ctrl+D或者输入exit可以退出容器终端,回到linux终端调用下面的api来验证
curl http://localhost:11434/api/tags
# 如果返回 {"models":[]}(空列表是正常的,因为还没下载模型),说明服务运行正常
# 如果返回大模型的信息,则说明已经下载大模型成功了

二、Strix渗透测试的部署配置

1、配置strix的环境变量信息

  • 下载strix并且配置
# 1. 添加 deadsnakes PPA(提供新版Python)
add-apt-repository ppa:deadsnakes/ppa
apt update

# 2. 安装python3.12
apt install python3.12 python3.12-venv python3.12-distutils -y

# 3. 使用 Python 3.12 安装 pipx
python3.12 -m pip install --user pipx
python3.12 -m pipx ensurepath

# 4. 下载strix-agent
pipx install --python python3.12 strix-agent
pipx install strix-agent 下载指令2

# 5. 验证安装
strix --version

# 6. 配置strix相关变量
# 设置环境变量,将Strix的AI引擎指向本地Qwen API
export STRIX_LLM="openai/gpt-4"  # Strix的配置标识格式,具体的视情况填,例如ollama/qwen2.5
export LLM_API_KEY="sk-no-key-required"  # 本地运行无需真实密钥,可随意填写
export OLLAMA_API_BASE="http://localhost:11434/v1"  # **关键:指向本地Ollama API**

# 7. 扫描本地代码  (会下载一个strix-sandbox镜像,因为strix会在沙盒里面进行渗透测试)
# 在开始渗透之前strix自动拉起docker去pull ghcr.io/usestrix/strix-sandbox:0.1.10 的镜像,strix默认会调用strix-sandbox的最新版本,我这边的strix版本是5.0,对应拉取strix-sandbox:0.1.10,建议提前pull 这个镜像,每次执行完渗透之后(实测是因无法对接上LLM大模型,启动失败)都会重新pull这个镜像,这样浪费了大量的时间
docker pull ghcr.io/usestrix/strix-sandbox:0.1.10 
strix --target ./your-project-path

2、查看大模型后台日志

docker logs --tail 10 -f ollama_qwen

三、常见问题

1.docker拉取镜像报错

现象1:访问超时
原因:国内服务器访问国外的 Docker Hub 仓库网络延迟高,导致超时。
解决方法1:配置/etc/docker/daemon.json文件更换国内的镜像源
步骤:

# 更换国内镜像源
mirror.ccs.tencentyun.com
# 重启docker服务
systemctl restart docker
# 仍然报错的话,怀疑DNS解析域名问题
ping mirror.ccs.tencentyun.com   # 尝试解析域名
# 结果:ping: unknown host mirror.ccs.tencentyun.com
# 尝试配置公共DNS  114.114.114.114
sudo vim /etc/resolv.conf  # 编辑配置文件

解决方法2:将别的服务器上面的docker镜像打包,传输到目的服务器
步骤:

# 查看别的服务器上面的镜像
docker images
# 打包镜像  (-o 后面接输出文件)例如 C:\docker-images\nginx_latest.tar
docker save -o my_imgaes.tar nginx:latest    # 单个镜像文件,(目标镜像-nginx:latest )
docker save -o my_imgaes.tar nginx:latest maven:latest 镜像2 镜像3 # 多个镜像文件
# 传输到目的服务器,我的是window传输到linux
scp C:\docker-images\my_images.tar username@your_linux_server_ip:/home/username/
# 传输完成之后,使用docker加载镜像(加载单个镜像和多个镜像都一样的)
docker load -i my_imgaes.tar
# 然后你就可以在目的服务器上面看见
docker images 

更多推荐