Repository navigation
Releases: pgnzbl-ux/crucible
Release list
v3.1.0 · 子代理线程观测、报告结构化字段与 Agent 测试抗抖动
亮点
- 🧵 子代理可观测:容器端事件携带线程标识(parent_tool_use_id),事件流工具栏单点入口(运行中转圈)点开清单即可切换查看各子代理的 SSE 流;Agent 子代理的工具结果不再显示"无输出内容"
- 📋 报告结构化字段:标题(「系统」「接口」存在「漏洞」句式)、产品名称、影响版本(ref@commit 本次复现版本)、项目地址——模型产出 → 平台校验 → reports 表落库 → 管理表格与详情页展示
- 🧪 Agent 兼容测试抗抖动:LLM 瞬时类失败自动重试一次,证据链(工具序列/结束态/末条回复)随结果回显,同 Provider 测试进程内串行
- 🛡️ 安全加固:凭据加密密钥独立管理;孤儿线索回收与任务状态机修复
✨ 新特性
- 容器侧事件增强:所有 AI 事件带
parent_tool_use_id;tool.call.completed回填工具名与 Bash 命令;新增agent.subagent.updated生命周期广播(同一 NODE_KEY 经 NODE_SCHEMA_KEY 切换提交契约) - 二审批量子代理模式(triage_batch):单容器内 Task/Agent 子代理并行审议家族,汇总一次提交
- 任务时长治理:总时长预算 / 单 AI 节点超时进入设置页,编排器调度循环与线索认领前检查,超预算优雅收尾且不推翻已封口结论
- api_hunt 按画像框架注入特化猎洞笔记(Spring/Express/Django/FastAPI/Flask/Gin/NestJS/NextJS/Laravel),框架未命中回退语言级提示
- 节点列表展示耗时、产出指标卡与跳过原因,运行态静默化;流程图节点悬停详情
🐛 修复
- 已失败任务在左侧节点列表误显示为「执行中」:失败收尾统一清理残留线索并闭合孤儿阶段行
- Agent 工具结果为 dict 块列表时(SDK 0.2.x 新形态)被丢成空串
- 单节点重试白名单前后端漂移(补齐 lead_verify / finalize / api_inventory / api_hunt)
- LeadWorker 异常置败不落错误文本,排障无法归因
- env_ready 靶场配方未优先复用仓库自带 docker-compose、漏配依赖服务与
.env.example的 localhost 默认值
⚙️ 升级指南
- 数据库迁移(reports 表新增产品名称 / 影响版本 / 项目地址三列):
cd backend && alembic upgrade head # → w8d4f2a61b73
- 重建 Agent 运行镜像(run_one 事件协议扩展,含线程标识与结果块兼容):
docker build -f infrastructure/agent-runner/Dockerfile -t crucible-agent-runner:base . - 无破坏性 API 变更;存量报告三字段为空不影响既有页面渲染
Full Changelog: v3.0.0...v3.1.0
v3.0.0 · 模式化子图编排与子代理批量二审
亮点
- 🏭 仓库审计(discovery)正式可用:semgrep / gitleaks / osv / api_hunt 四路发现统一进入 cluster → screen → triage → dispatch 漏斗,合格线索逐条终认(LeadRun / LeadNodeRun 全程留痕)
- 🧩 模式化子图编排:按
task_type裁剪流水线(discovery 15 / verify 7),lead_verify/finalize显式化工位,finalize固化任务权威结论、报告失败不再改写终态 - 🤖 二审批量子代理:整个二审节点单容器运行,家族以 SDK 子代理(Agent/Task)在容器内并行,替代逐族开容器
- ⏱️ 时长治理用户可配:任务总时长预算 + 单 AI 节点超时进入设置页(
platform_settings),Celery 软硬超时退居部署级兜底
✨ 新特性
编排与审计链路
- 节点交接契约(Handoff/Inputs/Signals)与子图拓扑自检;按子图裁剪流水线与断点续跑
- api_hunt 并列入漏斗并与 §2.7 合格门对齐;API 清单按画像语言分流解析
- 审计报告 Tab 与终认链路完整性;合格线索直送终认,移除发现侧人肉队列
- env_ready 拆分重构;AI 未提交结果时回喂重试而非直接降级
运行时与设置
task_time_budget_seconds/ai_node_timeout_seconds用户可配,超预算优雅收尾且不推翻已封口结论- Provider Agent 兼容测试(canary):Read/Bash/MCP/多轮/凭据隔离六项校验;瞬时类失败自动重试、证据链回显、per-provider 串行锁
- 运行容器默认内存提升至 2g(
.env可覆盖)
事件流与界面
- 事件流子代理线程分组:工具栏单点入口(运行中转圈)→ 清单切换查看各子代理流;思考过程折叠、命令执行与结果合并为单条可折叠行
- 节点列表展示耗时、产出指标卡与跳过原因;运行态静默化,流程图节点悬停详情
安全与稳健性
- 生产安全硬化;封堵 compose rebuild 旁路;压缩产物识别并禁止 AI 直接整读
- 按 commit 全量克隆后再检出,修复短 SHA 当远端 ref 的问题
🐛 修复
- 失败任务在节点列表误显示为「执行中」:失败收尾统一清理残留线索并闭合孤儿阶段行
- Agent 子代理工具结果(dict 块列表形态)在事件流中被丢成空串
- 单节点重试白名单前后端漂移(补齐 lead_verify / finalize / api_inventory / api_hunt)
- 二审级联快照 ProviderRuntimeConfig;NodeRun 唯一约束竞态
⚙️ 升级指南
- 数据库迁移(新增
lead_node_runs表与时长预算列):cd backend && alembic upgrade head # → u4b1e7c30a91
- 重建 Agent 运行镜像(容器端事件协议已扩展):
docker build -f infrastructure/agent-runner/Dockerfile -t crucible-agent-runner:base . - 重启 API 与 Worker 进程即可,无破坏性 API 变更;旧 run 数据兼容(前端自动合成缺失节点行)
Full Changelog: v2.1.0...v3.0.0
Crucible v2.1.0
【新功能】
▸ 本地源码包上传
· 任务创建支持上传 zip / tar.gz 源码包,不再仅依赖 git clone
· 上传包存入 MinIO,节点 0 从对象存储解压;相同内容指纹复用 source_artifacts
· 新增「登记源码」抽屉,项目页与任务创建流程均可使用
▸ 源码登记与项目版本展示
· 上传包按 owner + 名称冲突拒绝,避免误复用
· 任务创建下拉以「名称:tag/commit/branch 」区分仓库与缓存版本
▸ 任务级凭据管理(P1-6)
· 设置页新增凭据 CRUD:支持 env_var / file 两种注入方式
· 创建任务时可选择凭据,agent-runner 运行时注入容器
· 响应层掩码,明文存库(与 LLM Key 策略一致)
▸ 靶场手动重建
· 任务结束后 TTL 会拆除 Docker 靶场,现可在流程外按 commit 手动重建
· 靶场列表 UI 增加重建操作
【改进】
· 前端品牌视觉:新 Logo / Favicon / 登录页与全局样式优化
· LLM Provider 移除 OpenAI 兼容模式,错误提示更友好
· Celery worker 固定 prefork 池,移除 Windows solo 分支(宿主统一 Linux / WSL)
· 新增 Cloud Agent 环境脚本(install.sh / start.sh),支持云端 Agent 一键部署
· 仓库换行统一 LF(.gitattributes),避免 WSL 迁移后出现伪变更
【修复】
· labs.commit_sha 从 40 位加宽至 64 位,兼容上传包的 sha256 指纹