Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/backbay-labs/hush
Seguridad en la NubeDevSecOpsDetección de SecretosInteligencia de AmenazasSeguridad de Cadena de SuministroRespuesta a IncidentesSeguridad de IA
GitHubbackbay-labs/hush

hush

Reglas de seguridad portátiles para el límite de acción de agentes de IA

Ver Repositorio
2313hace 1 mesRevisado por Kitploit
Sitio web

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

HushSpec

Especificación abierta y portátil para reglas de seguridad de agentes de IA

CI Licencia Versión de la especificación crates.io npm PyPI

Especificación · Documentación · Conjuntos de reglas · Esquema JSON


HushSpec es un formato de políticas abierto para reglas de seguridad de agentes de IA. Define puede hacer un agente en tiempo de ejecución, incluyendo acceso al sistema de archivos, tráfico de red saliente, uso de herramientas, detección de secretos y más, sin prescribir deben aplicarse esos controles. Esa separación hace que las políticas sean portátiles entre tiempos de ejecución, marcos de trabajo y lenguajes.

qué
cómo

v0.1.1-alpha — La especificación central, los cuatro SDK (Rust, TypeScript, Python, Go) y la CLI h2h están publicados y funcionales. Analice, valide, evalúe, fusione, resuelva, detecte, firme y audite a través de 10 tipos de reglas y 3 módulos de extensión. La superficie de la API se está estabilizando pero aún no está congelada; espere refinamientos antes de v1.0.

Ejemplo rápido

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"

Conformidad del SDK

Los cuatro SDK implementan el pipeline completo de HushSpec, desde el análisis y la validación hasta la resolución y evaluación.

CapacidadRustTypeScriptPythonGo
Analizar + Validar (Nivel 1)SíSíSíSí
Fusionar (Nivel 2)SíSíSíSí
Resolver (Nivel 2+)SíSíSíSí
Evaluar (Nivel 3)SíSíSíSí
Rastro de auditoría (Nivel 4)SíSíSíSí
DetecciónSíSíSíSí
ObservabilidadSíSíSíSí
Receptáculos de recibosSíSíSíSí

Instalación

CLI

MétodoComando
Homebrew (macOS/Linux)brew install backbay-labs/tap/h2h
npmnpm install -g @hushspec/cli (o npx @hushspec/cli validate policy.yaml)
Cargo (desde fuente)cargo install hushspec-cli
Binarios precompiladosGitHub Releases — h2h-<tag>-<target>.tar.gz + SHA256SUMS, con procedencia atestiguada

Homebrew, npm y los binarios precompilados estarán disponibles a partir del primer tag v0.x construido por el pipeline de lanzamiento, una vez que el pipeline de lanzamiento publique los artefactos, la fórmula tap y los paquetes npm. Hasta entonces, instale mediante Cargo.

Todos los métodos instalan el comando h2h. Vea Herramienta CLI más abajo.

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

Primeros pasos

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())

Evaluación

Cada SDK expone una función evaluate() que toma una especificación analizada y una acción, y devuelve una decisión (allow, warn o deny) más detalles de la regla coincidente.

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")

Middleware HushGuard

HushGuard envuelve la carga de políticas y la evaluación detrás de una interfaz simple evaluate, check y enforce para el código de la aplicación.

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

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

guard = HushGuard.from_file("./policy.yaml")
guard.enforce({"type": "tool_call", "target": "bash"})  # lanza HushSpecDenied si se deniega

Herramienta CLI

La CLI h2h cubre el flujo de trabajo común de políticas: validar, probar, evaluar y explicar acciones individuales, lint, diff, formatear, inicializar, firmar, verificar y activar el modo de pánico.

root@kitploit:~
# Validar una política contra el esquema HushSpec
h2h validate policy.yaml

# Ejecutar suites de prueba de evaluación
h2h test --fixtures ./tests/

# Evaluar una acción y explicar la decisión
h2h eval policy.yaml --type egress --target api.example.com
h2h explain policy.yaml --type egress --target api.example.com

# Análisis estático y linting
h2h lint policy.yaml

# Lint y corrección automática de problemas neutrales para la decisión
h2h lint policy.yaml --fix

# Comparar dos políticas y mostrar los cambios efectivos en las decisiones
h2h diff old.yaml new.yaml

# Formatear archivos de política de forma canónica
h2h fmt policy.yaml

# Crear la estructura de un proyecto de política nuevo
h2h init --preset default

# Firmar una política con Ed25519
h2h sign policy.yaml --key h2h.key

# Verificar una firma de política
h2h verify policy.yaml --key h2h.pub

# Generar un nuevo par de claves Ed25519
h2h keygen

# Anulación de emergencia (interruptor de apagado deny-all)
h2h panic activate --sentinel /tmp/hushspec.panic
h2h panic deactivate --sentinel /tmp/hushspec.panic

Consulte Instalación arriba para opciones de instalación: Homebrew, npm, Cargo o binarios precompilados.

Recibos de Decisión (Rastro de Auditoría)

evaluate_audited() genera recibos de decisión estructurados con trazas de reglas, resúmenes de políticas y redacción opcional de contenido. Los recibos cumplen con hushspec-receipt.v0.schema.json y están diseñados para soportar entornos con alta auditoría como SOC 2, HIPAA, PCI-DSS y 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

Los receptáculos de recibos (FileReceiptSink, ConsoleReceiptSink, FilteredSink, MultiSink, CallbackSink) están disponibles en los cuatro SDK para enrutar los recibos a almacenamiento, registro o puntos finales OTLP.

Pipeline de Detección

El pipeline de detección incorpora comprobaciones de inyección de indicaciones, jailbreak y exfiltración en el flujo de evaluación. Los detectores de referencia basados en expresiones regulares se envían con todos los SDK, y se pueden registrar detectores personalizados a través de 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 contiene patrones coincidentes y puntuaciones de confianza
Adaptadores de Frameworks

Los adaptadores preconstruidos traducen las llamadas a herramientas específicas del framework en acciones de evaluación de HushSpec.

FrameworkAdaptadorSDK
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);
Observabilidad

La interfaz EvaluationObserver y el envoltorio ObservableEvaluator emiten eventos estructurados para cada evaluación, carga de política y recarga de política. Los observadores incorporados incluyen JsonLineObserver, ConsoleObserver y 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);
Firma de Políticas

Las políticas se pueden firmar con claves Ed25519 y verificar en el momento de la carga. La CLI proporciona los comandos sign, verify y keygen. El formato de firma cumple con hushspec-signature.v0.schema.json.

root@kitploit:~
# Generar un par de claves
h2h keygen --output-dir mykeys

# Firmar una política (crea policy.yaml.sig)
h2h sign policy.yaml --key mykeys/h2h.key

# Verificar la firma
h2h verify policy.yaml --key mykeys/h2h.pub
Anulación de Emergencia (Modo de Pánico)

El modo de pánico es un interruptor de apagado deny-all que se puede activar inmediatamente sin redistribuir políticas. Puede activarlo con un archivo centinela, la CLI o una llamada API. Mientras el modo de pánico esté activo, cada evaluación devuelve deny.

root@kitploit:~
# Activar modo de pánico
h2h panic activate --sentinel /tmp/hushspec.panic

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

activatePanic();
// Todas las llamadas a evaluate() ahora devuelven deny
deactivatePanic();
Carga de Políticas y Recarga en Caliente

Las políticas se pueden cargar desde archivos locales, URLs HTTPS (con almacenamiento en caché ETag y protección SSRF) o conjuntos de reglas integrados. PolicyWatcher y PolicyPoller admiten la recarga en caliente sin reiniciar el proceso.

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 Reglas Principales

ReglaPropósito
forbidden_pathsBloquear el acceso a rutas sensibles del sistema de archivos
path_allowlistAcceso de lectura/escritura/parche basado en lista blanca
egressControl de tráfico de red saliente por dominio
secret_patternsDetectar secretos en el contenido de archivos
patch_integrityValidar la seguridad de los diffs (límites de tamaño, patrones prohibidos)
shell_commandsBloquear comandos de shell peligrosos
tool_accessControlar invocaciones de herramientas/MCP
computer_useControlar acciones CUA
remote_desktop_channelsControlar canales laterales de escritorio remoto
input_injectionControlar capacidades de inyección de entrada

Extensiones

HushSpec admite módulos de extensión opcionales para un comportamiento de políticas más avanzado:

ExtensiónPropósito
PostureMáquina de estados declarativa para capacidades y presupuestos
OriginsProyección de políticas consciente del origen (Slack, GitHub, correo electrónico, etc.)
DetectionConfiguración de umbral para inyección de indicaciones, jailbreak, inteligencia de amenazas
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

Conjuntos de Reglas Incorporados

Las políticas listas para usar se encuentran en rulesets/:

Conjunto de ReglasDescripción
defaultSeguridad equilibrada para la ejecución de agentes de IA
strictMáxima seguridad, permisos mínimos
permissiveAmigable para el desarrollo, límites relajados
ai-agentOptimizado para asistentes de codificación de IA
cicdSeguridad de pipelines CI/CD
remote-desktopSesiones de agente de uso de computadora
panicAnulación de emergencia deny-all

Uso con Clawdstrike

Los documentos de HushSpec se cargan de forma nativa en Clawdstrike:

root@kitploit:~
// Detecta automáticamente el formato HushSpec vs Clawdstrike nativo
let policy = clawdstrike::Policy::from_yaml_auto(yaml)?;
root@kitploit:~
// Convertir entre formatos
hush policy migrate policy.yaml --to hushspec

Estructura del Repositorio

root@kitploit:~
spec/              Especificación normativa, incluyendo documentos centrales y de extensión
schemas/           Definiciones de esquemas JSON
crates/            Crates Rust
  hushspec/          Biblioteca central: parse, validate, merge, resolve, evaluate, detect, sign
  hushspec-cli/      Herramienta CLI
  hushspec-testkit/  Ejecutor de pruebas de conformidad
packages/          SDK de lenguaje para TypeScript, Python y Go
rulesets/          Conjuntos de reglas de seguridad incorporados
fixtures/          Accesorios de conformidad y evaluación
docs/              Sitio de documentación mdBook
generated/         Artefactos de contrato de SDK compartido generados
scripts/          Generación de código y herramientas CI

Principios de Diseño

  • Fail-closed: Los campos desconocidos se rechazan y los documentos no válidos fallan con errores explícitos.
  • Stateless: Las reglas principales son declaraciones puras sin estado de tiempo de ejecución.
  • Engine-neutral: La especificación no requiere un motor de aplicación, detector o modelo de complemento específico.
  • Extensible: La postura, los orígenes y la detección se mantienen opcionales en lugar de inflar el formato central.

Especificación

La especificación normativa se encuentra en spec/. Las definiciones de esquemas JSON para validación programática están en schemas/. La documentación completa está en docs/.

Licencia

Apache-2.0. Consulte LICENSE.

Descargar herramienta