第 8 章 · 01 高级配置


文档摘要

第 8 章 · 01 高级配置 本节摘要:前面七章你已经能把 Strix 跑起来、调好模型、用对扫描模式。本节把旋钮拧到最细——讲透 Strix 的高级配置项:LLM 与推理强度( )、专用的去重模型( )、可选的 Perplexity 联网检索、遥测开关、Docker 镜像与运行时后端、以及沙箱执行/连接超时。重点是让你知道「哪个旋钮管什么、什么时候该调、调错了会怎样」,从而在大型仓库、慢网络、严格合规等真实场景下把 Strix 调到稳定可用。配置调优,是从「能跑」到「跑得稳、跑得省」的关键一跃。 内容来源:原项目文档 ,汉化并套用体系化模板。 ⚠️ 本节所有配置仅影响你自己的 Strix 运行环境,不涉及对他人系统的测试。

第 8 章 · 01 高级配置

本节摘要:前面七章你已经能把 Strix 跑起来、调好模型、用对扫描模式。本节把旋钮拧到最细——讲透 Strix 的高级配置项:LLM 与推理强度(STRIX_REASONING_EFFORT)、专用的去重模型(STRIX_DEDUPE_MODEL)、可选的 Perplexity 联网检索、遥测开关、Docker 镜像与运行时后端、以及沙箱执行/连接超时。重点是让你知道「哪个旋钮管什么、什么时候该调、调错了会怎样」,从而在大型仓库、慢网络、严格合规等真实场景下把 Strix 调到稳定可用。配置调优,是从「能跑」到「跑得稳、跑得省」的关键一跃。

内容来源:原项目文档 docs/advanced/configuration.mdx,汉化并套用体系化模板。

⚠️ 本节所有配置仅影响你自己的 Strix 运行环境,不涉及对他人系统的测试。

学习目标

阅读完本节,你应当能够:

  1. 区分 Strix 的 三大配置类:LLM/推理、可选功能、Docker/沙箱。
  2. 说明 去重模型(STRIX_DEDUPE_MODEL)为什么能省钱、何时该单独配。
  3. 配置文件(~/.strix/cli-config.json--config)管理多套环境。
  4. 调节 沙箱执行/连接超时,避免大仓库扫描被误杀。
  5. 理解 遥测开关(STRIX_TELEMETRY)与本地/远程 OTEL 的区别。
  6. 在「成本、速度、准确度」三者之间,根据场景做出合理的配置取舍。

一、配置的全局视图:三大类旋钮

Strix 的所有配置都通过环境变量配置文件生效。从作用域看,可以归为三大类:

💡 记忆口诀:「模型怎么调、功能开不开、沙箱怎么跑」。先想清楚要解决哪类问题,再去找对应的旋钮,避免在几十个环境变量里迷路。

二、LLM 与推理类配置

这是最常动的一类。核心字段如下:

环境变量 默认值 说明
STRIX_LLM 无(必填) LiteLLM 格式的模型名,如 openai/gpt-5.4anthropic/claude-sonnet-4-6
LLM_API_KEY 模型供应商的 API Key;本地模型或 Vertex/Bedrock 这类云鉴权可省略
LLM_API_BASE 自定义 API 基址,也接受 OPENAI_API_BASELITELLM_BASE_URLOLLAMA_API_BASE
LLM_TIMEOUT 300 单次 LLM 请求超时(秒)
STRIX_LLM_MAX_RETRIES 5 瞬时失败时的最大重试次数
STRIX_REASONING_EFFORT high 推理模型的思考强度,取值 none/minimal/low/medium/high/xhigh
STRIX_MEMORY_COMPRESSOR_TIMEOUT 30 上下文压缩(记忆摘要)超时(秒)

其中最值得专门讲的是 STRIX_REASONING_EFFORT:

  • 默认 high,适合深度扫描,思考链长、更易挖出复杂漏洞,但更慢更贵
  • **快速扫描模式(quick)**会自动降到 medium,这是 quick 模式「快」的原因之一。
  • 你也可以手动设成 xhigh 跑极限深度的分析,但要承受更高的 token 消耗与延迟。

⚠️ 不要在「省成本」和「准」之间一刀切。一个常见误区是常年挂 low 省钱——结果漏洞挖不出来,反而浪费了一整次扫描的算力。正确做法:生产/深度扫描用 high,日常快速回归用 medium,只在明确的「就是随便看看」场景用 low

三、专用去重模型:省钱的隐藏技巧

渗透扫描会产生大量候选发现(finding),其中很多是重复的(同一个注入点被多个代理反复命中)。Strix 用一个 LLM 调用来判断「这个候选发现是否与已有报告重复」——这是一个廉价、结构化的分类任务

默认它跑在主模型上,但你可以把它路由到一个更小更便宜的模型,既不影响真正做测试的代理,又能显著省钱:

环境变量 说明
STRIX_DEDUPE_MODEL 去重模型名;不设则回退到 STRIX_LLM
DEDUPE_LLM_API_KEY 去重模型的独立 Key(可选)
DEDUPE_LLM_API_BASE 去重模型的独立 API 基址(可选)
STRIX_DEDUPE_REASONING_EFFORT 去重模型的推理强度(可选)

💡 典型用法:主模型用 openai/gpt-5.4 这类强模型,去重模型挂一个 openai/gpt-4.1-mini 之类的小模型。去重只是「比较两段描述像不像」,小模型完全胜任,而它能拦截的重复调用往往占总量的大头——这是单点配置里性价比最高的一项。

四、可选功能类配置

联网检索

环境变量 说明
PERPLEXITY_API_KEY 启用 Perplexity 联网检索;扫描时可用于 OSINT 与漏洞情报查证

联网检索能让代理在遇到陌生组件、新 CVE、特定版本行为时实时查证,而不是只凭训练知识硬猜。对扫历史悠久的内网老系统帮助不大,对扫新框架、新版本的目标价值很高。

遥测与可观测性

环境变量 默认值 说明
STRIX_TELEMETRY 1 遥测总开关;设为 0/false/no/off 关闭(PostHog、Scarf、OTEL 全关)
TRACELOOP_BASE_URL 远程 OTLP 导出基址;不设则只写本地
TRACELOOP_API_KEY 远程导出 Key;两者同时设置才启用远程导出
TRACELOOP_HEADERS 自定义 OTEL 头(支持 JSON 或 k=v,k2=v2),适配 Langfuse/自建网关
strix_runs/<run_name>/events.jsonl

⚠️ 本地 vs 远程:TRACELOOP_* 不设时,Strix 仍会把完整的运行遥测写到上面的本地 JSONL 文件;两者都设时,Strix 双写(本地 + 远程)。所以「关掉遥测」和「不要远程上报」是两件事:前者用 STRIX_TELEMETRY=0,后者只需不设 TRACELOOP_*

五、Docker 与沙箱类配置

沙箱是 Strix 真实验证的承载体,这里的旋钮直接影响大仓库、慢网络场景下的稳定性。

Docker

环境变量 默认值 说明
STRIX_IMAGE ghcr.io/usestrix/strix-sandbox:1.0.0 沙箱容器使用的镜像
DOCKER_HOST Docker daemon 套接字路径;用于远程 Docker 或自定义配置
STRIX_RUNTIME_BACKEND docker 沙箱运行时后端
STRIX_MAX_LOCAL_COPY_MB 1024 本地目录目标按文件复制的最大体积(MB);超限会提前退出并建议改用 --mount;设为 0 关闭该检查

💡 大仓库场景:当你的目标仓库很大(超过 1 GB),默认的「逐文件复制进沙箱」会慢且占空间。此时要么调高 STRIX_MAX_LOCAL_COPY_MB,要么直接用 strix --target ./app --mount 把目录挂载进去,跳过复制。

沙箱超时

环境变量 默认值 说明
STRIX_SANDBOX_EXECUTION_TIMEOUT 120 沙箱操作的最大执行时间(秒)
STRIX_SANDBOX_CONNECT_TIMEOUT 10 连接到沙箱容器的超时(秒)

⚠️ 如果你扫的是大型单体仓库、或沙箱里跑的是 trivy/semgrep 这类重型扫描(--timeout 30m 级别),默认的 120 秒执行超时一定会误杀。务必把 STRIX_SANDBOX_EXECUTION_TIMEOUT 调到 300 甚至更高,否则你会在日志里看到大量「沙箱操作超时」,而代理会误以为工具失败。

六、配置文件:管理多套环境

环境变量适合一次性设置,但当你有多套环境(开发、生产、不同的模型组合)时,配置文件更清爽。Strix 默认读取:

~/.strix/cli-config.json

也可以用 --config 指定自定义文件:

strix --target ./app --config /path/to/config.json

配置文件格式(就是把环境变量塞进 env 字段):

{ "env": { "STRIX_LLM": "openai/gpt-5.4", "LLM_API_KEY": "sk-...", "STRIX_REASONING_EFFORT": "high" } }

💡 实战建议:为不同场景维护几份配置文件——config-deep.json(高推理强度、长超时、强模型)、config-quick.json(中等推理、短超时、便宜模型 + 小去重模型)。用 --config 切换,比每次改环境变量可靠得多,也方便纳入版本管理(记得把 Key 换成占位符或读自密钥管理)。

七、一份「调优清单」

下面是一份按场景速查的配置组合,可直接抄:

# 场景 A:深度扫大型单体仓库 export STRIX_LLM="openai/gpt-5.4" export STRIX_REASONING_EFFORT="high" export STRIX_DEDUPE_MODEL="openai/gpt-4.1-mini" # 去重走小模型 export STRIX_SANDBOX_EXECUTION_TIMEOUT="600" # 给重型扫描留够时间 strix --target ./big-app --mount # 大仓库用挂载 # 场景 B:CI/CD 里的快速回归 export STRIX_LLM="openai/gpt-5.4" export STRIX_REASONING_EFFORT="medium" export STRIX_DEDUPE_MODEL="openai/gpt-4.1-mini" export STRIX_TELEMETRY="0" # CI 里关遥测,日志更干净 # 场景 C:合规环境,只要本地遥测、不上报 unset TRACELOOP_BASE_URL TRACELOOP_API_KEY # 不设即只写本地 JSONL

本节要点回顾

  1. 三大配置类:LLM/推理、可选功能、Docker/沙箱——遇到问题先归类,再找旋钮。
  2. 推理强度 STRIX_REASONING_EFFORT 是「准 vs 快/省」的核心开关,深度扫用 high、快速回归用 medium,别常年挂 low
  3. 去重模型 STRIX_DEDUPE_MODEL 把「判断重复」这种廉价分类任务路由到小模型,是单点性价比最高的省钱配置。
  4. 遥测分两层:STRIX_TELEMETRY=0 全关;只不设 TRACELOOP_* 则仍写本地 JSONL、不上报远程。
  5. 大仓库两件事:用 --mount 跳过逐文件复制,同时调高 STRIX_SANDBOX_EXECUTION_TIMEOUT,否则重型扫描必被误杀。
  6. 配置文件 ~/.strix/cli-config.json--config 适合管理多套环境,比环境变量更适合纳入版本管理。
  7. 没有银弹:每个旋钮都是「成本、速度、准确度」的权衡,按场景组合才是正确的调优姿势。

配置是把工具调深;下一节我们走进 Strix 的核心机制——技能体系(Skills):看看 agent 在创建时是如何被注入「专家知识」的,以及为什么「最多 5 个 skill」这个数字背后有讲究。


发布者: 作者: 灏天文库 转发
评论区 (0)
U