优化后架构
┌─────────────────────────────────────────────────────────────────┐
│ Windows 11 主机(日常账户=非管理员) │
│ ┌─────────────────────┐ ┌──────────────────────────────────┐ │
│ │ Layer C: Hashcat │ │ NVIDIA Studio Driver │ │
│ │ (Windows 原生, 独占GPU)│ │ (唯一驱动, 勿在WSL装Linux驱动) │ │
│ └─────────────────────┘ └──────────────┬───────────────────┘ │
└───────────────────────────────────────────┼─────────────────────┘
│ GPU 半虚拟化直通
┌───────────────────────────────────────────▼─────────────────────┐
│ WSL2 · Kali(专用可销毁实例, 12GB, interop/automount=关闭) │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ Layer A: open-kritt (Docker Compose, 固定release tag) │ │
│ │ Frontend :5173 │ Backend :8080 │ Postgres :5432 │ │
│ │ Engine(持socket, 特权组件) │ 一次性job容器(root, 独立网络) │ │
│ │ ── DOCKER-USER 出站白名单(可选加固) ── │ │
│ └───────────────────────┬───────────────────────────────────┘ │
│ Layer B: 仅出站到 api.deepseek.com (HTTPS, 凭证仅注入job容器) │
└─────────────────────────────────────────────────────────────────┘
文件交换方向: Windows → \\wsl$ → WSL (单向, 禁用反向 /mnt/c)
部署(门控式)
阶段 0:Windows 侧(Gate 0)
wsl --update; wsl --set-default-version 2
# 安装 Studio Driver 后:
wsl --install -d kali-linux
C:\Users\<你>\.wslconfig(加 sparse 防磁盘膨胀):
[wsl2]
memory=12GB
processors=6
swap=4GB
localhostForwarding=true
sparseVhd=true
wsl --shutdown,等 8 秒。Gate 0:任务管理器显示虚拟化已启用。
阶段 1:Kali 加固优先(Gate 1)
第一件事,/etc/wsl.conf:
[boot]
systemd=true
[automount]
enabled=false
[interop]
enabled=false
appendWindowsPath=false
wsl --shutdown 重启后:Gate 1:ls /mnt/c 应不存在;cmd.exe 应无法执行。此后 Windows→WSL 传文件用 \\wsl$\kali-linux。
阶段 2:运行时(Gate 2)
sudo apt update && sudo apt full-upgrade -y
sudo apt install -y curl git ca-certificates docker.io docker-compose-v2 clinfo ocl-icd-libopencl1
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
sudo usermod -aG docker $USER # 重新登录
/etc/docker/daemon.json(日志轮转,防扫描日志撑爆 VHDX):
{"log-driver":"json-driver","log-opts":{"max-size":"50m","max-file":"3"}}
(注:正确键为 "log-driver":"json-file")sudo systemctl restart docker。
Gate 2:docker compose version ≥2.13;node -v =v22;nvidia-smi 出 1660S;clinfo | grep "Device Name" 见 GPU。
阶段 3:open-kritt(Gate 3)
cd ~ && git clone https://github.com/Kritt-ai/open-kritt && cd open-kritt
git tag --sort=-creatordate | head -5 # 选最新 tag
git checkout <tag>
./kritt setup # 选 DeepSeek API key
./kritt start
确认 .env 中 ENGINE_CODEX_AUTO_UPDATE=false(或缺省)。
Gate 3:
http://localhost:5173可开;- Accounts → Load DeepSeek models 拉取实时目录 → Run text API check 返回 OK1;
ss -tlnp | grep -E '5173|8080|5432'全部绑127.0.0.1。
阶段 4:出站白名单(可选加固,SRC 范围合规用)
官方明确:egress 管控须在 Docker host 层实现2。最小示例(按你的目标范围改 IP 段):
# job 容器默认在独立 docker 网络; 在 DOCKER-USER 链限制其出站
sudo iptables -I DOCKER-USER -i br-+ -d <目标范围CIDR> -j ACCEPT
sudo iptables -I DOCKER-USER -i br-+ -d 140.82.0.0/16 -j ACCEPT # github
sudo iptables -I DOCKER-USER -i br-+ -j DROP # 其余全断
域名级白名单(api.deepseek.com 等)需 Squid 透明代理,按需再上。Gate 4:job 容器内 curl 非白名单地址超时。
阶段 5:Hashcat(Windows 原生,Gate 5)
hashcat.net 下载 Windows 版,解压即用:
hashcat.exe -I
hashcat.exe -b -m 0 # MD5 基准
hashcat.exe -b -m 22000 # WPA-PBKDF2 基准
Gate 5:识别 1660S;实测算力以 -b 为准(参考值 MD5 ~18.5 GH/s、WPA ~300 kH/s 量级)。字典可从 \\wsl$ 取 Kali 的 seclists/rockyou。
Workflow 配置(修正版)
4.1 effort 语义(以官方为准)3
| 请求值 | 实际映射 | 说明 |
|---|---|---|
none(Responses 格式) | 关思考 | 最快最便宜 |
minimal/low | low | 轻度 |
medium/high/xhigh | high | 默认 |
max/ultra | max | 思考 token 全额按输出计费,成本大头 |
4.2 六层结构(保留你的设计,两处增强)
| Depth | 步骤 | effort | 增强 |
|---|---|---|---|
| 0 | 入口点枚举 | none | multi-output ✓ |
| 1 | 可达性筛选 | none | Bound source 绑 Depth 0,实现 1:1 路由4 |
| 2 | 可控性分析 | high | — |
| 3 | 影响评估 | high | 可加 consume-all 做跨入口点去重 |
| 4 | PoC 生成 | max | 思考 token 计费,控制此层调用数 |
| 5 | 报告输出 | none | terminal,8 键 schema 缺一不可4 |
若 C1 验证失败(effort 不透传)→ fallback:拆两个 workflow 串联——WF-Enum(全局 none/low,跑 Depth 0-1,人工导出中间 JSON)→ WF-Deep(全局 high/max,输入 WF-Enum 结果跑 Depth 2-5)。成本模型不变。
成本模型(公式版,峰值单价)
单次调用 = 未命中输入×$0.30/M + 命中输入×$0.006/M + 输出(含思考)×$1.20/M
假设:代码库前缀 40k token(Depth 0 后全部命中缓存);输出:枚举 6k、筛选 1k、分析 4k、PoC 16k(max 思考)。
| Depth | 次数 | 计算 | 峰值成本 |
|---|---|---|---|
| 0 | 1 | 40k×0.30 + 6k×1.20 | $0.019 |
| 1 | 50 | 50×(40k×0.006 + 2k×0.30 + 1k×1.20) | $0.102 |
| 2 | 10 | 10×(40k×0.006 + 8k×0.30 + 4k×1.20) | $0.074 |
| 3 | 3 | 同上 | $0.022 |
| 4 | 3 | 3×(40k×0.006 + 15k×0.30 + 16k×1.20) | $0.072 |
| 5 | 3 | 3×(3k×0.30 + 2k×1.20) | $0.010 |
| 合计 | ≈0.30(闲时≈0.15) |
你的 0.34 估算量级正确。控制杆按效力排序:**①闲时调度(直接减半)→ ②Depth 1 缓存命中率(50 倍价差)→ ③Depth 4 调用数(单发最贵的 8 倍)**。熔断:DeepSeek 平台小额充值制(10/次),余额即预算。
安全基线 + 运维 SOP
上线前必查(缺一不可)
-
/etc/wsl.conf:interop/automount 已关,Windows 日常账户非管理员 - 5173/8080/5432 全绑 127.0.0.1;远程仅走
ssh -L隧道 - 实例内零生产 SSH 密钥;
GITHUB_TOKEN只读+短命+按仓库最小授权2 -
ENGINE_CODEX_AUTO_UPDATE=false;.env/.data/已 gitignore - egress 白名单生效(做了的话);DeepSeek 余额 ≤$10
- 只扫描授权目标;findings 人工审核后再提交
SOP
| 周期 | 动作 |
|---|---|
| 每周 | Task Scheduler 跑 wsl --shutdown && wsl --export kali-linux D:\bak\kali-%date%.tar(关机保证一致性) |
| 每周 | WSL 内 cron:docker system prune -f |
| 每月 | git fetch --tags,看 release notes,升级前 docker exec <db> pg_dump -U postgres kritt > dump.sql,失败回滚旧 tag |
| 每季度 | 轮换 DeepSeek key;检查 VHDX 体积(wsl --manage kali-linux --set-sparse true 已开则自动回收) |
| 随时 | 凭证疑似泄露 → DeepSeek 平台 revoke(这是唯一真正的 kill switch) |
验证来源
(检索时间:2026-10-08。价格与模型目录以 DeepSeek 官方页面实时为准。)
最优先的三件事:关 WSL interop/automount(B4)、跑 C1 的 $0.05 验证扫描、Hashcat 换装 Windows 原生版。其余按阶段门控推进即可。