返回更新列表
新发布Jul 28, 2026

defenseclaw v0.8.8

自主AI的安全治理

分享
     ____         ____                       ____  _
    / __ \  ___  / __/___   ___   ___  ___  / ___|| | __ _ __      __
   / / / / / _ \/ /_// _ \ / _ \ / __|/ _ \| |    | |/ _` |\ \ /\ / /
  / /_/ / /  __/ __//  __/| | | |\__ \  __/| |___ | | (_| | \ V  V /
 /_____/  \___/_/   \___/ |_| |_||___/\___| \____||_|\__,_|  \_/\_/

DefenseClaw

OpenClaw 与智能体 AI 运行时的安全治理。
在使用前扫描能力,检查运行时流量,并导出持久的审计证据。

License: Apache 2.0 Python 3.10-3.13 Go 1.26.4 CI Discord: Join us

Cisco AI Defense AI Security Framework Ask DeepWiki

治理检查探测
技能、MCP 服务器、插件和生成的代码在运行前提示词、补全、工具调用以及运行时沙箱活动SQLite 审计历史、JSONL、OTLP、Splunk、webhook 和 TUI 视图

DefenseClaw 结合了 Python 操作员 CLI、Go 网关 sidecar 和 OpenClaw TypeScript 插件。它们共同执行一条简单的操作规则:不受信任的智能体能力会被扫描、治理、记录,并在策略认为不安全时被阻止。

亮点

  • 准入控制 - 在技能、MCP 服务器、插件和代码运行前进行扫描。
  • 运行时护栏 - 使用正则表达式规则、策略、可选的 LLM 法官以及 Cisco AI Defense 检查,对提示词、补全和工具调用进行检查。
  • CodeGuard - 内置的静态检查,用于发现密钥、危险执行、不安全反序列化、弱加密、注入模式和危险文件访问。
  • OpenShell 沙箱支持 - 带有网络、文件系统、系统调用和策略控制的 Linux 沙箱设置。
  • 注册表 - 从外部技能/MCP 目录(企业 HTTPS YAML、smithery.aiskills.sh、git、ClawHub)摄取内容,带有 SSRF 防护、扫描器驱动的判定结果,并自动提升为资产策略。请参阅 docs/REGISTRIES.md
  • 审计与可观测性 - 一个 config-v8 图用于桶收集、强制 SQLite 历史记录、集中化编辑,以及独立的 JSONL、OTLP、Prometheus、Splunk HEC、Galileo、HTTP、控制台和本地 Grafana/Splunk 目标。
  • 操作员用户体验 - 一个 CLI 和 TUI,用于设置、健康检查、告警、阻止/允许列表、扫描器结果和策略工作流。

范围与限制

DefenseClaw 是智能体 AI 部署的强制执行和证据层。它通过结合扫描器结果、运行时检查、策略决策、沙箱控制和审计跟踪来提高安全性,但并不能证明智能体、技能、插件或模型交互是无风险的。

高风险部署应将 DefenseClaw 与人工审查、最小权限凭证、沙箱化、CI 门禁和生成环境监控结合使用。在观察模式下,发现的结果会被记录而不阻止。在行动模式下,配置为 HIGH 和 CRITICAL 的发现可以阻止提示词、工具调用或组件准入。


文档

指南描述
快速入门首次成功的本地设置和扫描流程
安装Windows、macOS、Linux、DGX Spark、源码构建和发布版安装
原生 Windowsx64 设置生命周期、可选的 Authenticode 状态、连接器、命令、安全性和故障排除
CLI 参考Python CLI 命令和操作员工作流
API 参考网关 REST API 和 sidecar 端点
架构组件模型、数据流和职责
护栏LLM 和工具检查架构
护栏规则包规则包、抑制和调优
沙箱OpenShell 沙箱设置、架构、监控和调试
可观测性V8 桶、本地历史记录、编辑、目标分发、OTLP、Splunk 和 Grafana
Splunk 应用本地 Splunk 应用仪表盘和调查流程
Splunk O11y 仪表盘Splunk Observability Cloud 仪表盘和用于原生 OTel 指标的检测器
TUI终端仪表盘面板和导航
配置文件配置位置、环境变量和策略文件
注册表外部技能/MCP 目录摄取(clawhub、smithery、skills.sh、http、git、file)
插件开发自定义扫描器插件工作流和示例
测试Python、Go、TypeScript、Rego、文档和 CI 检查
开发者规范历史产品/开发者规范
网关规范内部网关包规范

项目 Markdown 文档集中在 docs/ 下。包本地 README 会保留在需要本地上下文的包或示例旁边。


安装

前提条件

要求版本
Python3.10-3.13
Go1.26.4+
Node.js18+(用于 OpenClaw 插件)
uv推荐用于 Python 安装
Docker可选,用于本地可观测性和 Splunk 包

从源码构建(仅限开发者)

根据意图选择命令:

目标命令是否改变安装状态?
从此代码库进行常规开发make all是;重新构建并激活此确切代码库
仅编译/测试工件make build
查看支持的开发者路径make help
升级打包发布的版本defenseclaw upgrade是;使用签名发布解析器
git clone https://github.com/cisco-ai-defense/defenseclaw.git
cd defenseclaw
make all
源目标和`scripts/install-dev.sh`是开发工具,而不是升级路径。直接安装目标拒绝覆盖由发布版管理的安装或由其他检出拥有的安装。`make all`是明确的开发者机器重装工作流:当已安装的CLI正好指向当前检出时,它可能会回收无标记或先前发布版本的源状态,并在重建后记录严格的所有权标记。这可以对开发者状态运行当前检出的迁移,绝不能用作发布升级。发布版管理的安装必须使用发布版拥有的`scripts/upgrade.sh`或`scripts/upgrade.ps1`解析器。`make install`、`make dev-install`和`scripts/install-dev.sh`是用于全新或隔离开发环境的下层严格管道;它们不是正常的重复开发命令。

### 通过发布脚本安装```bash
VERSION=0.8.6
INSTALL_URL="https://raw.githubusercontent.com/cisco-ai-defense/defenseclaw/${VERSION}/scripts/install.sh"
curl -LsSf "$INSTALL_URL" | VERSION="$VERSION" bash
defenseclaw init --enable-guardrail

有关平台特定步骤,请参阅 docs/INSTALL.md

在原生 Windows x64 上,使用原生 Setup EXE 和 hook-only connector 路径(位于 原生 Windows 指南 中)。不支持 WSL。Codex CLI 和 Claude Code 是唯一经过认证的 Windows 连接器。


快速开始```bash

Check the local install and dependencies

defenseclaw doctor

Initialize config, scanner defaults, and guardrail plumbing

defenseclaw init --enable-guardrail

Scan installed agent capabilities

defenseclaw skill scan all defenseclaw mcp list defenseclaw plugin scan extensions/defenseclaw

Start the Go gateway sidecar

defenseclaw-gateway start

Open the operator dashboard

defenseclaw tui

在调优时以观察模式运行 guardrail:```bash
defenseclaw setup guardrail --mode observe --restart

当策略准备就绪时切换到操作模式:```bash defenseclaw setup guardrail --mode action --restart

请参阅 [docs/QUICKSTART.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/docs/QUICKSTART.md) 获取完整教程。

---

## 架构

| 组件 | 运行环境 | 角色 |
|-----------|---------|------|
| Python CLI | Python | 操作命令、扫描器编排、配置设置、本地包 |
| 网关边车 | Go | REST API、WebSocket 桥接、策略引擎、护栏代理、审计存储、遥测 |
| OpenClaw 插件 | TypeScript | 请求拦截、工具调用检查钩子、斜杠命令、边车集成 |
| 策略 | YAML/Rego | 准入决策、护栏动作、沙箱/防火墙行为、扫描器配置文件 |
| 文档 | Markdown/JSON | 集中文档、包本地 README 以及 DeepWiki 配置 |

网关为 CLI 和插件暴露本地 REST API,通过 WebSocket 连接到 OpenClaw,通过本地代理检查 LLM 流量,并在持久化审计存储中记录决策。```text
Agent runtime -> OpenClaw plugin -> DefenseClaw gateway -> policy + scanners + audit
                                    |
                                    +-> guardrail proxy -> LLM provider
                                    +-> OTLP / Splunk / webhooks / JSONL

对于图表和详细流程,请阅读 docs/ARCHITECTURE.md


扫描与安全护栏

DefenseClaw 将 Cisco AI Defense 扫描器和本地策略封装为一个统一的准入流程:

层面扫描器或控制
技能cisco-ai-skill-scanner, CodeGuard, 策略动作
MCP 服务器cisco-ai-mcp-scanner, 阻止/允许策略
插件DefenseClaw 插件扫描器, 安装源检查, 可选的 LLM 分析
源代码CodeGuard 通过 CLI、sidecar API 以及插件写入/编辑钩子
提示与补全安全护栏代理,包含规则包、抑制规则、可选的 LLM 裁判、Cisco 检查
工具调用工具参数检查、敏感路径检查、命令风险检查、策略判定

扫描策略位于 policies/scanners/。护栏规则包位于 policies/guardrail/


可观测性

DefenseClaw 通过多种渠道记录强制措施和运行时证据:

渠道用途
SQLite 审计存储本地持久化事件历史
可选的 JSONL当配置了文件目标时的关联结构化运行时事件
OTLP带有原生扇出的命名独立指标/日志/跟踪目标
Splunk HECSIEM 转发和本地 Splunk 应用工作流
Splunk O11y 仪表盘用于 DefenseClaw 指标的原生 Splunk Observability Cloud 仪表盘和检测器
WebhooksSlack、PagerDuty、Webex 和通用事件通知
TUI面向操作员的告警、健康、扫描、工具、策略和设置

配置 v8 在保持源配置简洁的同时,将遗漏项编译为完整有效的计划:```yaml config_version: 8 observability: {}

该默认设置会收集所有已注册的日志、追踪和指标,并在本地 SQLite 中保留每一条未经脱敏的日志。在添加目标之前,不会执行任何远程导出。已启用的目标若未设置 `send` 或 `routes`,则接收其支持的每种类型的全部桶和全部信号(未脱敏):通用 OTLP 接收日志/追踪/指标,Splunk HEC 接收日志,Prometheus 接收指标,Galileo 预设接收追踪。多个目标将收到独立的副本。

使用以下命令查看展开的策略及未脱敏的支路:```bash
defenseclaw config show --effective --section observability
defenseclaw observability plan

使用集中式的 nonesensitivecontentstrict 或自定义的字段感知脱敏配置文件,按桶或目标分别设置。完整保真默认值可能包含提示、输出、工具参数/结果、证据、路径和标识符,因此在跨信任边界导出时(该边界不得接收这些内容)请先配置脱敏配置文件。

在源文件中编辑桶和脱敏策略,在网关接收之前进行验证,并检查编译后的结果,而不是直接复制生成的参考配置:```bash umask 077 cp "$HOME/.defenseclaw/config.yaml"
"$HOME/.defenseclaw/config.yaml.before-observability-edit" ${EDITOR:-vi} "$HOME/.defenseclaw/config.yaml"

defenseclaw config validate &&
defenseclaw config show --effective --section observability &&
defenseclaw observability plan &&
defenseclaw-gateway restart &&
defenseclaw doctor

不要在一次验证失败后重新启动。恢复私有备份,纠正源文件并重新验证。全局或存储桶隐去配置也适用于生成的本地SQLite投影。要在保留完整本地历史的同时仅隐去远程信任边界,请将全局/存储桶配置设置为`none`,并在该远程目标上设置`send.redaction_profile`或路由配置。

开始本地可观测性,使用:```bash
defenseclaw setup local-observability up
defenseclaw-gateway start
defenseclaw setup local-observability status

仪表盘的空状态并非单一含义:0 表示被检测信号有零个匹配事件,无数据 表示在所选范围和过滤条件下不存在匹配的序列/日志/痕迹,而 未报告 表示连接器/提供者未提供可选值(如令牌或成本)。条件面板(如 HITL、仅失败视图以及在选择 Trace ID 之前的痕迹瀑布图)预期显示 无数据。目标测试仅检查连接性,不生成常规仪表盘流量;请生成新的真实代理轮次、工具调用、扫描或审批来验证相应面板。

Agent360 的节点图是一个基于 Loki 的生命周期 DAG:会话创建是一个独立的锚点,每个根节点的 Prompt inputs 节点统计范围内不同的深度零 model.request 事实数量,而父到子的委托为每个代理提供模型、工具、审批、更新、轮次结果和终端摘要。Prompt inputs 按轮次、模型请求、请求、操作、再按发生 ID 去重;有序/原始视图保留各个初始和后续记录。会话和生成锚点可从过去 24 小时内恢复,以便边界窗口可渲染;仅当该子节点在所选范围内有符合图条件的活动时,恢复的生成节点才保留。 重复的模型调用按所属代理、提供者和模型分组。重复的工具调用按所属代理分组到 Bash、MCP、技能、协作、文件编辑、Web/浏览器、视觉或任务控制中;无法识别的工具保留其报告的名称。确切的 collaboration.send_message 请求从通用协作家族中排除,因此它们仅作为消息组出现;其他协作工具仍保留在该家族中。请求记录即使没有对应的终端记录也会包含在内。它们的分组总数是请求计数,并不表示每个请求仍处于待处理状态;终端状态在链接的原始记录中仍然可用。深度 0 是根节点,递归子节点可报告到深度 64;点击详情可识别每条血缘边是由连接器报告还是由 DefenseClaw 推断。节点点击暴露精确计数和稳定的代理/根/父标识,并提供过滤后的链接,指向每个组背后的原始 OTEL 事件。可选的当前/根/父会话字段保留在生命周期、会话、有序和原始层面;它们不是代理节点分组键,因此缺失或延迟的会话元数据不会分割单个代理的总数。

仪表盘不会再次编辑、屏蔽或隐藏字段。DefenseClaw 在规范 OTEL 导出之前应用集中的 v8 编辑;Grafana 显示或链接该投影中实际存在的每个字段,包括生产者导出时的内容。导出前被移除或转换的字段无法被本地栈恢复。更新边仅来自实际的 collaboration.send_message 工具记录。对于每个发送者,/root/root/* 目标合并为一个 Messages to root 节点,其目标代理 ID 解析为导出的根。确切的根任务路径和调用保留在有序/原始下钻中。非根目标始终按确切的任务路径显式分组,当连接器未报告该映射时,不会将其虚构为不透明的代理 ID 连接。通用兼容性事件永远不会被重新标记为更新。

可选目标拥有独立的有限队列。默认每队列为 2,048 条记录和 64 MiB;推送批次默认为 512 条记录、8 MiB 和 5 秒(省略 Galileo 预设延迟时为 1 秒)。队列溢出会丢弃最新尝试的入队,而不会逐出较旧的 FIFO 工作或影响强制性的 SQLite 和同级目标。确切字段、界限和适配器差异详见 docs/OBSERVABILITY.md

添加 Galileo Cloud 或自托管 Galileo,无需替换本地路由:```bash export GALILEO_API_KEY='...' defenseclaw setup galileo --project defenseclaw --logstream production defenseclaw setup galileo test

请参见 [docs/OBSERVABILITY.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/docs/OBSERVABILITY.md)、[Galileo 指南](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/docs-site/content/docs/observability/galileo.mdx) 和 [schema 所有权映射](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/schemas/README.md)。Splunk 特定的设置位于 [docs/SPLUNK_APP.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/docs/SPLUNK_APP.md)。

每个受支持的现有 POSIX 安装,包括已经运行在 `0.8.4` 上的安装,都会以最新模式通过经过身份验证的目标版本 `defenseclaw-upgrade.sh` 资产跨越 `0.8.5` 硬切割,无需版本覆盖。不可变的 `0.8.4` 内置解析器无法接受其 Windows 桥接矩阵为空的那个真实目标清单。请勿执行由冻结的内置 CLI 印出的任何过时的原始网络提示。由版本拥有的解析器将 `source → 0.8.4 bridge → fresh 0.8.4 controller → 0.8.5 hard cut` 作为一个事务执行。该迁移会备份并原子化地转换配置,保留更窄的路由/编辑行为以及 root/subagent Agent360 兼容性,刷新拥有的本地仪表板而不重置卷,并且永远不需要单独的 apply 命令。请参见 [CLI 参考 — upgrade](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/docs/CLI.md#upgrade) 了解经过身份验证的解析器引导程序。

对于 Splunk Observability Cloud,请使用位于 [bundles/splunk_o11y_dashboards/README.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/bundles/splunk_o11y_dashboards/README.md) 的仪表板包:```bash
defenseclaw setup splunk dashboards apply \
  --api-url <api-endpoint> \
  --o11y-api-token <api-access-token> \
  --with-detectors \
  --enable-detectors \
  --yes

开发```bash

Build all components

make build

Run primary test suites

make test

Run lint checks

make lint

专注的测试和开发指南位于 [docs/TESTING.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/docs/TESTING.md) 和 [docs/CONTRIBUTING.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/docs/CONTRIBUTING.md) 中。

---

## 贡献

欢迎贡献。从 [CONTRIBUTING.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/CONTRIBUTING.md)、[docs/CONTRIBUTING.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/docs/CONTRIBUTING.md) 以及您要修改领域的专注文档开始。

## 安全

请通过 [SECURITY.md](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/SECURITY.md) 中描述的流程报告漏洞。

## 许可证

Apache 2.0 - 见 [LICENSE](https://github.com/cisco-ai-defense/defenseclaw/blob/HEAD/LICENSE)。

版权 2026 Cisco Systems, Inc. 及其附属公司。

分类