api-relay-audit
toby-bridges
Local security audit for AI API relays and LLM proxies: detects prompt injection, model substitution, tool-call rewriting, SSE anomalies, error leakage, and Web3 wallet risks.
KongFangXun/sofagent
FDE Harness — on entry, write your business judgment into files (workflows, ontology, AI nodes); after departure, audit every change against them. 24 git-diff rules, tamper-evident chain, snapshots (105 tools, 11 plugins).
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:KongFangXun/sofagent
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README

简体中文 | English
💬 一句话版本:进场时它替你把业务摸清、写成文件;离场后你的数字员工每次改代码、动文件,都按文件过一道安检、留一份记录、存一个快照——出事能查、能回滚。
🏢 组织视角版本:AI 落地的卡点已经从「模型够不够聪明」迁移到「组织敢不敢接」——能不能进组织架构、有没有账号、绩效怎么算、做错了怎么退回。sofagent 就是给数字员工办入职的那套制度:进场把岗位职责写成文件(岗位职责说明书),离场按文件做绩效考核(每次变更留证据)、组织记忆(越干越有的家底)、试错容错(做错了退得回)。给 AI 发工号之前,先装 sofagent。
开源 FDE Harness 层——嵌在成熟 Agent(DSH / OpenClaw / WorkBuddy)与模型层之间做治理:进场把业务判断写成文件(工作流、本体数据、AI 节点部署),离场按文件审计每一次变更。约束层五种能力(注入 · 审计 · 回溯 · 沉淀 · 进化),五种形态分发(FDE 插件 / Skill / MCP / CLI / Dashboard)。sofagent 不造 Agent——交付的是让任何 Agent 被管住的那一层。

零配置审计实拍:一行命令审计最近一次 commit,密钥泄漏当场拦截

约束 Agent 行为 · 审计每次变更 · 沉淀经验(完整交互版见 ARCHITECTURE)
10 分钟轻量试用:npx -y -p @sofagent/audit sofagent-audit(任意 git 仓库,密钥泄漏当场拦截)。
| 如果你是… | 建议 |
|---|---|
| 给现有 Agent 加纪律——已有 DSH / OpenClaw / WorkBuddy,想让 AI 干活时守规矩、留痕、出事能回溯 | ✅ 现在装。核心价值就是约束层(注入 · 审计 · 回溯 · 沉淀 · 进化),装完即用 |
| 一人公司 / 小企业想落地 AI——没有专职工程师,需要一个"不离职的 FDE"帮你梳理工作流、部署 AI 节点 | ✅ 现在装。FDE Harness 层就是干这个的——进场把判断写成文件,离场按文件执行与审计,全链路 |
| 要开箱即用的企业级 Agent 平台——期待完整商业产品(多租户、权限管理、计费、SLA) | ⏸️ 暂缓。sofagent 是治理层,不是平台产品——平台级能力不在本开源仓库范围内。有集成能力的团队仍可把约束层接入自有平台,作为其中的治理模块;纯开箱需求建议另选平台产品 |
| 纯研究 / 想看看约束层怎么设计——读代码、学架构、借鉴方法论 | ✅ 现在装。文档齐全(HANDBOOK / ARCHITECTURE / PHILOSOPHY),MIT 协议 |
和 gitleaks / pre-commit 这类工具什么关系?(互补不互替)
| gitleaks 等扫描器 | pre-commit 等钩子 | sofagent | |
|---|---|---|---|
| 定位 | 密钥全量历史扫描 | 通用提交钩子框架 | Agent 行为审计约束层 |
| 证据面 | 仓库文本模式 | 自定义脚本 | git diff 硬证据 + Agent 日志 + 决策留痕 |
| 覆盖维度 | 密钥泄漏 | 任意(自己写) | 24 条规则:密钥/越界/注入/权限/后门 |
| 建议 | 强密钥合规必配 | 已有体系可保留 | 与前两者并用,专注 Agent 治理维度 |
进场 · 生成判断(FDE 相位——把「该不该上 AI、值多少钱」判断出来,冻结成交付物):
离场 · 驻留判断(Harness 相位——按交付物 7×24 执行,进化时写回):
npx -y -p @sofagent/audit sofagent-audit,任何 git 仓库秒级审计最近一次 commit(单机实测:quick 约 1.1s、5 万行 diff 约 6.1s,口径见 HANDBOOK)FDE = Forward Deployed Engineer(前线部署工程师)——把模型塞进企业真实业务里的人。sofagent 把这个角色做成开源 FDE Harness 层,嵌在你的 Agent(DSH / OpenClaw / WorkBuddy)与模型层之间。一个 FDE Harness 的完整工作流分两个阶段,中间的交接物把它们缝成一件事:
🔗 为什么必须一体:交付物是两个阶段共享的活状态——进场时写入、离场后执行时读、进化时写回(试验分支晋升基线、反思蒸馏回流)。没有 FDE,约束层没有判据可执行;没有约束层,FDE 的判断随人离场蒸发。这正是「FDE Harness」名字的由来——不是 FDE 功能 + Harness 功能的拼盘,是同一件事的两个阶段。
从 FDE 到 FDEing:两个阶段的合成效果,是把 Forward Deployed Engineer(一个岗位)变成 Forward Deployed Engineering(一种能力)——岗位随人走,能力随交付物留。FDEing 读作 /ef-di-i-ing/,与 engineering 同构。
为什么是 FDE Harness
🔄 自举:sofagent 给自己做的第一份 FDE,就是 sofagent 自己——项目本身就是一条完整的 FDE 工作流(梳理 → 构建 → 部署 → 离场),这个开源仓库就是那份交付物。
横跨你已有的 Agent、纵贯模型层,不替代模型,只补可靠执行——FDE Harness 层平台无关(插件 / Skill / MCP / CLI / Dashboard 五种形态按宿主能力分发),方法论跟着业务走,不跟着平台走:
| 档位 | 平台 | 约束注入 | 挂载方式 |
|---|---|---|---|
| 深度结合 | DeepSeek Harness | ✅ 逐工具调用可拦 | 6 款原子 cordis-plugin-sofagent-* 挂进运行时(另有 1 款聚合插件可选,见「上游与插件入口」)——tools/pre-execute 等 7 个生命周期事件(以 engine/dsh-plugins/SEAMS.md 词汇表为准) |
| 完整挂载 | OpenClaw | ✅ 每会话注入一次 | Hook 注入四层约束 + 断路器 + 4 款 OpenClaw 插件 |
| 标准挂载 | Claude Code / Cursor | ⚠️ Skill 自觉加载 | Skill 目录 symlink + 平台规则文件 + 拦截配置(内容为提交级 24 规则,非调用级拦截) |
| 薄挂载 | WorkBuddy / Codex / Gemini CLI / Hermes | ⚠️ Skill 自觉加载 | Skill 目录 symlink(Codex 走 AGENTS.md 挂载点)+ git hook 审计 |
sofagent-audit --install-hook 走 git hook,任何档位每次 commit 都过 24 条审计,违规硬拦截。约束是建议性的,审计是强制性的一条命令选定挂载档位:bash install.sh --platform <平台名>(全部平台与差异见 HANDBOOK)
🛡️ 引擎长出「治理面」——三件事一次到位:
| 能力 | 一句话 |
|---|---|
| 治理 KPI 面板 | Dashboard 独立「治理」tab:KPI 六卡 + 数据集审阅卡 + lineage 合规报告导出 + 周报导出 |
| 本体数据双时态 | validFrom/validTo + stateAt 时点快照(「系统在某天知道什么」)+ 三层渐进加载 |
| 证据跨层对账 | trace_reconcile 新 tool:Agent 自述 vs git diff vs 模型行为,一致/漏报/幻觉/瞒报四态判定 |
同版另有:Ontology Validation Engine(DAG 无环 + 激活前置门 fail-closed)· FDE 陪跑期期满总结 · 存量清扫与 @sofagent/inject 更名 · DSH 插件 7 事件位接线。MCP 104→105 tools · 测试 4805→4903 · acceptance 352→357(13 包 workspace 口径,发版时点;badge 与安装命令当前仍指 v1.4.9,随发版同步翻牌)。完整内容见开发日志 · 更早版本见 CHANGELOG。
进场 · 生成判断(FDE 相位):梳理业务流(五要素深挖 + 三问判定法,算清每个 AI 节点值多少钱)→ 构建双图谱(业务图谱人读 + 本体图谱 AI 读)→ 判定 AI 节点 → 部署三层交付物。每个节点带「做好标准 merge_criteria · 谁拍板 approver · 何时跑 trigger」,冻结进交付物。
离场 · 驻留判断(Harness 相位):FDE 走,判断留下——daemon 7×24 巡检、commit 触发 24 条审计(含 AgentShield 五类配置面静态扫描)、快照可回滚、经验持续沉淀;进化时把试验分支晋升、反思蒸馏写回交付物。
两阶段缝在一件事上:交付物是共享的活状态(进场写、离场读、进化写回)——没有 FDE,约束层没有判据可执行;没有约束层,FDE 的判断随人离场蒸发。这就是「FDE Harness」不是两个功能拼盘的原因。
组织管理学视角——两阶段对应给数字员工办入职的全流程:
| 组织动作 | sofagent 对应 |
|---|---|
| 岗位职责说明书 | 进场冻结的交付物(merge_criteria / approver / trigger) |
| 绩效考核 | 审计留痕 + 治理 KPI 面板(v1.5.0) |
| 组织记忆 | 知识沉淀(think.md 反思 + knowledge/) |
| 培训体系 | 经验→考核→晋级的自进化链(v1.5.5 排期) |
| 试错容错 | 快照回滚 + 能力基线版本线(v1.5.5 排期) |
| 劳动合同边界 | 可拔契约与主干能力清单(v1.5.4 排期) |
| 想深入 | 看哪里 |
|---|---|
| 方法论四阶段十二步(半天精读) | FDE/GUIDE.md |
| 约束层五种能力 · 模块编制 | ARCHITECTURE |
| 为什么必须一体 · 设计禁区 | PHILOSOPHY |
| Skill 体系与知识资产管道 | FDE/SKILL 体系 |
⚠️ 企业用户先读 LIMITATIONS §三——
config.yml默认非 fail-closed(规则可被 Agent 篡改绕过),多租户写入侧隔离尚未落地(v0 已交付查询侧隔离:orgId 过滤 + data// 路径地基,见 LIMITATIONS)。强合规场景建议 CI 兜底 + 文件权限锁( chmod 400 .sofagent/config.yml——辅助层,对同用户进程无效,见 LIMITATIONS §三),不要用单机默认配置直接上生产。
30 秒,零配置(首次含 npx 拉包约 30 秒,复跑秒级——引擎本体约 1.1s,实测口径见上)——在任何 git 仓库跑一次审计:
npx -y -p @sofagent/audit sofagent-audit
💡 quick 跑 17 条默认规则(A3 任务范围 / A9 commit-msg 注入检测激活——自动读最近一次 commit 消息,无消息时 A9 按无输入处理标记跳过),完整 24 条 + hook 自动审计需
--init——详见 LIMITATIONS §三。
拦截特定格式密钥泄漏时是这样的(真实输出;A2 检测 AWS AKIA/Secret、OpenAI sk-、GitHub ghp_、Google AIza、Slack xox-、JWT、PEM 私钥等已知格式,通用密钥形态暂不覆盖——保守设计防误报,详见 LIMITATIONS §三 A2)——首屏的实拍图即此场景,此处不再重复。
完整安装(Node.js ≥ 18,先下载审查再执行)——装在企业跑 AI 节点的设备上:
curl -fsSL https://raw.githubusercontent.com/KongFangXun/sofagent/refs/tags/v1.5.0/bootstrap.sh -o bootstrap.sh
less bootstrap.sh # 先看一眼脚本内容,确认安全
bash bootstrap.sh && rm bootstrap.sh
🔒 供应链信任链:tag 钉定 + sha256 校验 + fail-closed + 自锚定哈希重入二次校验(详见 SECURITY.md 远程安装节);⚠️ 审计日志默认明文落盘——企业部署建议开启静态加密。
sofagent-audit --init # 装 git hook,之后每次 commit 自动审计
sofagent-audit --doctor # 验证环境(可选)
💡 安装脚本主要写入
~/.sofagent/(数据目录)+~/.local/bin(CLI 入口);检测到 OpenClaw 时额外写入其集成目录;npm 权限不足时 CLI 入口 fallback 到/usr/local/bin。其余系统文件零改动。--init安装三层防线 git hook(pre-commit 拦 .sofagent/ 入库 + commit-msg 规则审计 + post-commit 对账);--no-verify可跳过 commit-msg 审计——防的是诚实 Agent 的疏忽不是恶意绕过,被跳过的 commit 由 post-commit 事后对账留痕(提示「疑似绕过」)但不阻断;个人兜底三件事:CI 侧sofagent-audit --diff、定期--doctor、翻审计记录。详见 LIMITATIONS。📌 install.sh 是企业设备安装器——装在企业跑 AI 节点的设备上(约束层 + daemon 巡检 + 单机 dashboard);FDE 自己的电脑不需要跑,FDE 的工具是 FDE Skill(方法论),详见 部署架构。
📌 bootstrap.sh 和 install.sh 的关系:bootstrap.sh 是 install.sh 的一行下载包装器——
curl bootstrap.sh | bash等价于「下载 install.sh + 运行 install.sh」。两个脚本装的是完全一样的东西,bootstrap 只是省掉手动 clone/下载那一步。
完整安装方式(clone / npx / 最小安装 / 企业部署)、卸载、以及「两条通道都叫 sofagent 怎么分辨」等消歧细节见 HANDBOOK · 安装。企业用户想直接用 FDE 方法论梳理工作流,看 FDE/README.md(零依赖,不需要 Node.js;15 分钟最短路径见其「15 分钟最短路径」小节)。

Dashboard 驾驶舱(单文件 HTML · 截图版本 v1.4.0):规则通过率、审计任务、违规趋势——AI 在干什么,一眼看清。
(实际界面以安装态为准)
📊 Dashboard 有三个入口,各归各位:
入口 命令 形态 给谁看 终端版 sofagent-dashboard --full终端 ASCII 三栏(零前端依赖) 开发者 / FDE 快速看 Web 版 sofagent web(install.sh 安装态可用)· 仓库态node tools/dashboard/serve-dashboard.mjs浏览器可视化(localhost:3780) 老板 / IT 可视化看 macOS 双击 双击 start-dashboard.commandWeb 版的 macOS 快捷方式(仅 macOS 双击入口) macOS 用户
👁️ Agent 视角:装完 hook 后每次 commit 触发审计——PASS 输出简短回声后放行(自动快照),违规直接打进终端输出并按配置推送 Webhook / IM,Agent 侧无独立图形界面(详见 PHILOSOPHY §二)。
| 入口 | 做什么 | 装在哪 | 花多久 |
|---|---|---|---|
npx -y -p @sofagent/audit sofagent-audit |
零配置审计最近一次 commit,秒级出结果(首次 npx 约 30 秒) | 任意 git 仓库(临时) | 30 秒 |
--ruleset 规则市场 |
加载安全等规则集,或自定义 JSON 规则 | 同上 | 1 分钟 |
| GitHub Action | 每次 PR 自动审计,违规标注在 diff 行上 | CI/CD | 配置一次 |
| install.sh 全套 | 注入·审计·回溯·沉淀·进化五能力 + daemon 巡检 + dashboard——Agent 的完整约束层 | 企业设备(跑 AI 节点的服务器/电脑) | FDE 驻场安装 |
⚠️ 不要裸装
npm i sofagent-audit——npm 上的裸名包sofagent-audit是本项目的旧代理包(已 deprecated,长期滞后于主包)。CLI 的正式包名是@sofagent/audit(带 scope),CLI 安装统一走 bootstrap.sh / install.sh /@sofagent/audit。
规则市场——社区规则集以 sofagent-ruleset-* npm 包发布、--ruleset-path 手动加载(也支持指向你自己的 JSON 规则):
npx -y -p @sofagent/audit sofagent-audit --list-rulesets # 看有哪些规则集
npx -y -p @sofagent/audit sofagent-audit --ruleset security # 加载安全规则集
FDE 进场部署——两条路径任选:
Featured in(社区收录 · 含收录申请中):
上游与插件入口:
cordis-plugin-sofagent* 插件源码(6 款原子 + 1 款聚合):engine/dsh-plugins/| 你想了解 | 看哪里 |
|---|---|
| 全部文档索引(按意图选路) | WIKI |
| 怎么装、怎么用、排查 | HANDBOOK |
| 架构设计与 24 条规则 | ARCHITECTURE |
| 每个版本做了什么 | CHANGELOG |
| 安全声明 · 已知局限 | SECURITY · LIMITATIONS |
🧪 工程可信度(当前口径):4905 测试 / 13 模块包 + 11 插件(7 DSH + 4 OpenClaw)· 24 条审计规则 · fresh-eyes 独立审查持续运行。 测试数为 v1.4.9 发版后 main 时点实测口径(随修复批滚动,发版时点为 4805);当前权威值以
tools/check/test-count.sh实跑为准,包数统计标准见 WIKI。审查环境注意事项见 docs/guides/review-system.md;性能数据为单机参考值,跨工具横评排期 v1.4.x 与 Benchmark 集成。
欢迎提 Issue 和 PR,尤其较真的那种 · 贡献指南 · 致谢
MIT License © 孔放勋 · ⭐ 如果 sofagent 帮到你,Star 一下让更多人看到
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: agent-skills、coding-agent、agent-audit、ai-deployment、ai-safety、forward-deployed-engineer、git-hooks、mcp、prompt-injection、secret-scanning。