Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
hush — Переносимые правила безопасности для границы действий ИИ-агентов | Kitploit
Инструменты/GitHubGitHub/backbay-labs/hush
Безопасность облачных средDevSecOpsОбнаружение СекретовРазведка угрозБезопасность Цепочки ПоставокРеагирование на ИнцидентыБезопасность ИИ
GitHubbackbay-labs/hush

hush

Переносимые правила безопасности для границы действий ИИ-агентов

Репозиторий
2311 месяц назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

HushSpec

Переносимая открытая спецификация для правил безопасности AI-агентов

CI License Spec Version crates.io npm PyPI

Спецификация · Документация · Наборы правил · JSON Schema


HushSpec — это открытый формат политик для правил безопасности AI-агентов. Он определяет, что агент может делать во время выполнения, включая доступ к файловой системе, исходящий сетевой трафик, использование инструментов, обнаружение секретов и многое другое, не предписывая, как эти меры контроля должны применяться. Такое разделение делает политики переносимыми между средами выполнения, фреймворками и языками.

v0.1.1-alpha — Основная спецификация, все четыре SDK (Rust, TypeScript, Python, Go) и CLI h2h опубликованы и полностью функциональны. Полный конвейер — разбор, проверка, оценка, слияние, разрешение, обнаружение, подписание и аудит — охватывает 10 типов правил и 3 модуля расширений. Поверхность API стабилизируется, но ещё не заморожена — до v1.0 ожидаются доработки.

Краткий пример

root@kitploit:~
hushspec: "0.1.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:
    block: [shell_exec, run_command]
    require_confirmation: [file_write, git_push]
    default: allow

  secret_patterns:
    patterns:
      - name: aws_key
        pattern: "AKIA[0-9A-Z]{16}"
        severity: critical
    skip_paths: ["**/test/**"]

  shell_commands:
    forbidden_patterns:
      - "rm\\s+-rf\\s+/"
      - "curl.*\\|.*bash"

Соответствие SDK

Все четыре SDK реализуют полный конвейер HushSpec: от разбора и проверки до разрешения и оценки.

Установка

CLI

Homebrew, npm и готовые бинарные файлы станут доступны начиная с первого тега v0.x, собранного конвейером релизов, как только конвейер релизов опубликует артефакты, формулу tap и npm-пакеты. До этого момента устанавливайте через Cargo.

Все способы устанавливают команду h2h. См. CLI-инструмент ниже.

Rust

root@kitploit:~
[dependencies]
hushspec = "0.1"

TypeScript

root@kitploit:~
npm install @hushspec/core

Python

root@kitploit:~
pip install hushspec

Go

root@kitploit:~
go get github.com/backbay-labs/hush/packages/go@main

Начало работы

Rust

root@kitploit:~
use hushspec::HushSpec;

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

TypeScript

root@kitploit:~
import { parseOrThrow, validate } from '@hushspec/core';

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

Python

root@kitploit:~
from hushspec import parse_or_raise, validate

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

Go

root@kitploit:~
import (
    "fmt"

    "github.com/backbay-labs/hush/packages/go/hushspec"
)

yamlString := "hushspec: \"0.1.0\"\nname: example\n"
spec, err := hushspec.Parse(yamlString)
if err != nil {
    panic(err)
}
result := hushspec.Validate(spec)
fmt.Println(result.IsValid())

Оценка

Каждый SDK предоставляет функцию evaluate(), которая принимает разобранную спецификацию и действие, а затем возвращает решение (allow, warn или deny) и детали сработавшего правила.

root@kitploit:~
import { parseOrThrow, evaluate } from '@hushspec/core';

const spec = parseOrThrow(policyYaml);
const result = evaluate(spec, { type: 'egress', target: 'api.openai.com' });
// result.decision === 'allow' | 'warn' | 'deny'
// result.matched_rule === 'egress'
root@kitploit:~
from hushspec import parse_or_raise, evaluate

spec = parse_or_raise(policy_yaml)
result = evaluate(spec, {"type": "egress", "target": "api.openai.com"})
assert result.decision in ("allow", "warn", "deny")

Промежуточное ПО HushGuard

HushGuard скрывает загрузку и оценку политик за простым интерфейсом evaluate, check и enforce для кода приложений.

root@kitploit:~
import { HushGuard } from '@hushspec/core';

const guard = HushGuard.fromFile('./policy.yaml');
guard.enforce({ type: 'tool_call', target: 'bash' }); // throws HushSpecDenied if denied
root@kitploit:~
from hushspec import HushGuard

guard = HushGuard.from_file("./policy.yaml")
guard.enforce({"type": "tool_call", "target": "bash"})  # raises HushSpecDenied if denied

CLI-инструмент

CLI h2h охватывает типовой рабочий процесс с политиками: проверку и тестирование, оценку и объяснение отдельных действий, линтинг, сравнение, форматирование, инициализацию, подписание, проверку подписи и активацию панического режима.

root@kitploit:~
# Validate a policy against the HushSpec schema
h2h validate policy.yaml

# Run evaluation test suites
h2h test --fixtures ./tests/

# Evaluate one action and explain the decision
h2h eval policy.yaml --type egress --target api.example.com
h2h explain policy.yaml --type egress --target api.example.com

# Static analysis and linting
h2h lint policy.yaml

# Lint and auto-fix decision-neutral issues
h2h lint policy.yaml --fix

# Compare two policies and show effective decision changes
h2h diff old.yaml new.yaml

# Format policy files canonically
h2h fmt policy.yaml

# Scaffold a new policy project
h2h init --preset default

# Sign a policy with Ed25519
h2h sign policy.yaml --key h2h.key

# Verify a policy signature
h2h verify policy.yaml --key h2h.pub

# Generate a new Ed25519 keypair
h2h keygen

# Emergency override (deny-all kill switch)
h2h panic activate --sentinel /tmp/hushspec.panic
h2h panic deactivate --sentinel /tmp/hushspec.panic

Варианты установки — Homebrew, npm, Cargo или готовые бинарные файлы — см. в разделе Установка выше.

Квитанции решений (журнал аудита)

evaluate_audited() генерирует структурированные квитанции решений с трассировками правил, сводками политик и опциональным редактированием содержимого. Квитанции соответствуют схеме hushspec-receipt.v0.schema.json и предназначены для сред с активным аудитом, таких как SOC 2, HIPAA, PCI-DSS и FedRAMP.

root@kitploit:~
import { parseOrThrow, evaluateAudited } from '@hushspec/core';

const spec = parseOrThrow(policyYaml);
const receipt = evaluateAudited(spec, action, {
  enabled: true,
  include_rule_trace: true,
  redact_content: false,
});
// receipt.decision, receipt.rule_evaluations, receipt.policy_summary

Приёмники квитанций (FileReceiptSink, ConsoleReceiptSink, FilteredSink, MultiSink, CallbackSink) доступны во всех четырёх SDK для маршрутизации квитанций в хранилище, журналы или конечные точки OTLP.

Конвейер обнаружения

Конвейер обнаружения подключает проверки на промпт-инъекции, джейлбрейки и эксфильтрацию к процессу оценки. Во все SDK входят эталонные детекторы на основе регулярных выражений, а пользовательские детекторы можно регистрировать через DetectorRegistry.

root@kitploit:~
import { parseOrThrow, evaluateWithDetection, DetectorRegistry } from '@hushspec/core';

const registry = DetectorRegistry.withDefaults();
const result = evaluateWithDetection(spec, action, registry, {
  enabled: true,
  prompt_injection_threshold: 0.5,
});
// result.detection_results contains matched patterns and confidence scores
Адаптеры фреймворков

Готовые адаптеры преобразуют вызовы инструментов, специфичные для конкретных фреймворков, в действия оценки HushSpec.

Наблюдаемость

Интерфейс EvaluationObserver и обёртка ObservableEvaluator генерируют структурированные события для каждой оценки, загрузки политики и её перезагрузки. Встроенные наблюдатели: JsonLineObserver, ConsoleObserver и MetricsCollector.

root@kitploit:~
import { ObservableEvaluator, JsonLineObserver, MetricsCollector } from '@hushspec/core';

const evaluator = new ObservableEvaluator();
evaluator.addObserver(new JsonLineObserver(process.stderr));
evaluator.addObserver(new MetricsCollector());
const result = evaluator.evaluate(spec, action);
Подписание политик

Политики можно подписывать ключами Ed25519 и проверять при загрузке. CLI предоставляет команды sign, verify и keygen. Формат подписи соответствует hushspec-signature.v0.schema.json.

root@kitploit:~
# Generate a keypair
h2h keygen --output-dir mykeys

# Sign a policy (creates policy.yaml.sig)
h2h sign policy.yaml --key mykeys/h2h.key

# Verify the signature
h2h verify policy.yaml --key mykeys/h2h.pub
Аварийное переопределение (панический режим)

Панический режим — это аварийный переключатель «отклонить всё», который можно активировать немедленно, без повторного развёртывания политик. Запустить его можно файлом-маркером, через CLI или вызов API. Пока панический режим активен, любая оценка возвращает deny.

root@kitploit:~
# Activate panic mode
h2h panic activate --sentinel /tmp/hushspec.panic

# Deactivate
h2h panic deactivate --sentinel /tmp/hushspec.panic
root@kitploit:~
import { activatePanic, deactivatePanic, isPanicActive } from '@hushspec/core';

activatePanic();
// All evaluate() calls now return deny
deactivatePanic();
Загрузка политик и горячая перезагрузка

Политики можно загружать из локальных файлов, HTTPS-адресов (с кэшированием по ETag и защитой от SSRF) или встроенных наборов правил. PolicyWatcher и PolicyPoller поддерживают горячую перезагрузку без перезапуска процесса.

root@kitploit:~
import { PolicyWatcher, HushGuard } from '@hushspec/core';

const guard = HushGuard.fromFile('./policy.yaml');
const watcher = new PolicyWatcher('./policy.yaml', {
  onChange: (newSpec) => guard.swapPolicy(newSpec),
});
watcher.start();

10 основных правил

Расширения

HushSpec поддерживает опциональные модули расширений для более продвинутого поведения политик:

РасширениеНазначение
PostureДекларативный конечный автомат для возможностей и бюджетов
OriginsПроекция политик с учётом источника (Slack, GitHub, email и т.д.)
DetectionКонфигурация порогов для промпт-инъекций, джейлбрейков и threat intel
root@kitploit:~
extensions:
  posture:
    initial: standard
    states:
      standard: { capabilities: [file_access, egress] }
      restricted: { capabilities: [file_access] }
    transitions:
      - { from: "*", to: restricted, on: critical_violation }
  detection:
    prompt_injection:
      block_at_or_above: high

Встроенные наборы правил

Готовые к использованию политики находятся в rulesets/:

Использование с Clawdstrike

Документы HushSpec нативно загружаются в Clawdstrike:

root@kitploit:~
// Auto-detects HushSpec vs Clawdstrike-native format
let policy = clawdstrike::Policy::from_yaml_auto(yaml)?;
root@kitploit:~
# Convert between formats
hush policy migrate policy.yaml --to hushspec

Структура репозитория

root@kitploit:~
spec/              Normative specification, including core and extension docs
schemas/           JSON Schema definitions
crates/            Rust crates
  hushspec/          Core library: parse, validate, merge, resolve, evaluate, detect, sign
  hushspec-cli/      CLI tool
  hushspec-testkit/  Conformance test runner
packages/          Language SDKs for TypeScript, Python, and Go
rulesets/          Built-in security rulesets
fixtures/          Conformance and evaluation fixtures
docs/              mdBook documentation site
generated/         Generated shared SDK contract artifacts
scripts/           Code generation and CI tooling

Принципы проектирования

  • Fail-closed: неизвестные поля отклоняются, а недействительные документы не проходят проверку с явными ошибками.
  • Stateless: основные правила — это чистые декларации без состояния времени выполнения.
  • Engine-neutral: спецификация не требует конкретного движка применения политик, детектора или модели плагинов.
  • Extensible: Posture, origins и detection остаются опциональными, не раздувая основной формат.

Спецификация

Нормативная спецификация находится в spec/. Определения JSON Schema для программной проверки — в schemas/. Полная документация — в docs/.

Лицензия

Apache-2.0. См. LICENSE.

Скачать инструмент
ВозможностьRustTypeScriptPythonGo
Разбор + проверка (Уровень 1)ДаДаДаДа
Слияние (Уровень 2)ДаДаДаДа
Разрешение (Уровень 2+)ДаДаДаДа
Оценка (Уровень 3)ДаДаДаДа
Журнал аудита (Уровень 4)ДаДаДаДа
ОбнаружениеДаДаДаДа
НаблюдаемостьДаДаДаДа
Приёмники квитанцийДаДаДаДа
МетодКоманда
Homebrew (macOS/Linux)brew install backbay-labs/tap/h2h
npmnpm install -g @hushspec/cli (или npx @hushspec/cli validate policy.yaml)
Cargo (из исходного кода)cargo install hushspec-cli
Готовые бинарные файлыGitHub Releases — h2h-<tag>-<target>.tar.gz + SHA256SUMS, с аттестацией происхождения
ФреймворкАдаптерSDK
Claude / AnthropicmapClaudeToolToAction, createSecureToolHandlerTypeScript
OpenAImapOpenAIToolCall, createOpenAIGuardTypeScript
MCP (Model Context Protocol)mapMCPToolCall, createMCPGuardTypeScript
root@kitploit:~
import { HushGuard, mapClaudeToolToAction } from '@hushspec/core';

const guard = HushGuard.fromFile('./policy.yaml');
const action = mapClaudeToolToAction(toolUseBlock);
guard.enforce(action);
ПравилоНазначение
forbidden_pathsБлокировать доступ к чувствительным путям файловой системы
path_allowlistДоступ на чтение/запись/изменение на основе белого списка
egressКонтроль исходящего сетевого трафика по доменам
secret_patternsОбнаруживать секреты в содержимом файлов
patch_integrityПроверять безопасность diff (ограничения размера, запрещённые шаблоны)
shell_commandsБлокировать опасные shell-команды
tool_accessУправлять вызовами инструментов/MCP
computer_useУправлять действиями CUA
remote_desktop_channelsУправлять побочными каналами удалённого рабочего стола
input_injectionУправлять возможностями инъекции входных данных
Набор правилОписание
defaultСбалансированная безопасность для выполнения AI-агентов
strictМаксимальная безопасность, минимальные разрешения
permissiveУдобный для разработки, мягкие ограничения
ai-agentОптимизирован для AI-ассистентов программирования
cicdБезопасность конвейеров CI/CD
remote-desktopСеансы агентов computer use
panicАварийное переопределение «отклонить всё»