Skip to content
KitploitKITPLOIT
工具博客
Log in
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
hush — 针对AI代理行为边界的可移植安全规则 | Kitploit
工具/GitHubGitHub/backbay-labs/hush
云安全DevSecOps秘密检测威胁情报供应链安全事件响应AI 安全
GitHubbackbay-labs/hush

hush

针对AI代理行为边界的可移植安全规则

查看仓库
231117天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

HushSpec。代理式合规即代码。声明边界。携带证据。

CI Specification 1.0.0 SDKs: Rust, TypeScript, Python, Go License: Apache-2.0

为你的代理设定可读的边界。获得可验证的决策。

是什么  ·   快速开始  ·   工作原理  ·   SDK  ·   CLI  ·   策略  ·   文档  ·   规范


什么是 HushSpec?

HushSpec 是一项开放规范,用于定义 AI 代理运行时所受的安全控制。 用 YAML 编写策略,在 Rust、TypeScript、Python 或 Go 中求值,并生成 将每个决策与其背后策略关联起来的回执。

它覆盖代理实际接触的内容:文件、网络、shell、工具、浏览器 和代码执行。规范定义规则及其含义;你的运行时 通过 HushGuard 或其自身的集成来执行边界。

声明执行证明
可审查的 YAML,包含可复用的基础策略和显式权限。在操作点做出一致的 allow、warn 和 deny 决策。决策回执、策略签名和可验证日志。

规范 1.0.0 已稳定。 文档格式、求值语义、规范形式 和传输格式在 1.x 系列中已冻结。有关契约及其测试覆盖, 请参阅版本管理策略和 SDK 一致性矩阵。

1.0 SDK 版本尚未发布。有关实现、资格认证和发布证据, 请参阅交付状态。

实验性的外部一致性控制器 针对 L0-L3 语料库测试捕获的可执行文件,并保留其输入、 输出和身份。Go 适配器是第一方启动工作,并非独立的 引擎或运行时边界资格认证。

实验性的可信调用协调器 针对一个经过认证的策略快照检查主机限定的 MCP 工具及其效果, 记录持久许可,然后进行分发。其隔离编码试点 测试真实编辑、被阻止的操作和崩溃证据。这是一项有范围限定的 第一方演示,并非外部采用或通用 MCP 遏制。

快速开始

从此检出构建 h2h CLI:

cargo install --path crates/hushspec-cli --locked

将其保存为 policy.yaml。它保护凭据、限制网络访问, 并在工具写入文件或推送代码前请求确认。

hushspec: "1.0.0"
name: production-agent

rules:
  forbidden_paths:
    patterns: ["**/.ssh/**", "**/.aws/**", "/etc/shadow"]

  egress:
    allow: ["api.openai.com", "*.anthropic.com", "api.github.com"]
    default: block

  tool_access:
    allow: [file_read, search]
    block: [shell_exec, run_command]
    require_confirmation: [file_write, git_push]
    default: block

验证它,然后尝试三个决策:

h2h validate policy.yaml

h2h eval policy.yaml --type egress --target api.openai.com
# allow

h2h eval policy.yaml --type tool_call --target shell_exec
# deny

h2h eval policy.yaml --type tool_call --target file_write
# warn: confirmation required

这些命令对操作进行求值;它们不会执行操作。eval 在允许时以 0 退出,拒绝时以 1 退出,警告时以 4 退出。运行时必须在分发操作前 处理该决策。将其接入你的代理 →

更多安装选项
方式安装
Cargocargo install hushspec-cli
Homebrewbrew install backbay-labs/tap/h2h
npmnpm install -g @hushspec/cli
预构建二进制文件GitHub Releases,附带校验和与来源证明

打包安装程序依赖于发布流水线已发布相应的 制品。上面的源码安装直接从本检出构建。

如需脚手架生成的策略和测试套件,请运行 h2h init --preset default。 完整工作流请参阅首个策略指南。

从策略到证明

声明 YAML 策略,在运行时边界执行它,并记录将决策绑定到已解析策略哈希的回执。

将检查置于操作之前

HushGuard 加载策略,并将求值、执行模式、确认、 回执接收器和观察者整合在一起。在分发工具前调用 enforce:

import { HushGuard } from '@hushspec/core';

const guard = HushGuard.fromFile('./policy.yaml');

guard.enforce({ type: 'tool_call', target: 'shell_exec' });
// Throws HushSpecDenied under the quickstart policy.

未通过必需签名验证的策略会产生被拒绝的 guard: 每个操作都会以 __hushspec_policy_unverified__ 被拒绝。热重载失败时 会保留最后一个有效策略继续生效。未知字段和无效文档 会被明确拒绝。

执行边界是运行时的责任。HushSpec 提供 可移植的策略契约和 SDK 原语来构建它。 运行时集成指南 →

让证据与决策同行

审计求值接收已解析的策略,并返回一个回执,其中包含其 规范 content_hash、决策、执行者上下文、规则和检测轨迹, 以及执行处置。操作内容由其哈希和字节 大小表示,不嵌入原始内容。

# Inspect the receipt for one evaluated action.
h2h eval policy.yaml --type egress --target api.openai.com --format receipt

证据可以超越运行时传播:

制品你可以验证什么
策略签名哪个密钥签署了已解析的策略,包括其继承的规则。
决策回执哪个策略和记录的规则结果产生了该决策。
回执日志条目之间的哈希链接,第一个断开的链接按行标识。
策略包对描述策略的 in-toto 语句的 DSSE 证明。

Ed25519 签名覆盖已解析策略的内容哈希,因此重新格式化文件 会保留其签名,而更改继承的规则会使其失效。签名、 回执验证和包验证在所有四个 SDK 中均可用; Rust 需要 signing feature,Python 需要 signing extra。

SDK 与集成

一种策略语言,横跨四个 SDK。共享语料库检查求值、 规范字节、策略哈希和回执格式在各实现之间的一致性。

在 1.0 发布之前,请使用此源码检出。下面的注册表命令 适用于即将发布的版本,并非当前可用的 1.0 包。

SDK发布后通过注册表安装参考
Rustcargo add hushspecCrate
TypeScriptnpm install @hushspec/corePackage
Pythonpip install hushspecPackage
Gogo get github.com/backbay-labs/hush/packages/[email protected]Module

Go SDK 发布将使用嵌套的 packages/go/v1.0.0 标签。 如需签名,在 Rust 中使用 hushspec = { version = "1.0", features = ["signing"] }, 或在 Python 中使用 pip install "hushspec[signing]"。

从你的语言开始:Rust · TypeScript · Python · Go

Rust

use hushspec::HushSpec;

let yaml_str = "hushspec: \"1.0.0\"\nname: example\n";
let spec = HushSpec::parse(yaml_str)?;
let result = hushspec::validate(&spec);
assert!(result.is_valid());

TypeScript

import { parseOrThrow, validate } from '@hushspec/core';

const yamlString = 'hushspec: "1.0.0"\nname: example\n';
const spec = parseOrThrow(yamlString);
const result = validate(spec);
console.log(result.valid); // true

Python

from hushspec import parse_or_raise, validate

yaml_string = 'hushspec: "1.0.0"\nname: example\n'
spec = parse_or_raise(yaml_string)
result = validate(spec)
assert result.is_valid

Go

import (
    "fmt"
下载工具