hetzer

mcp
Guvenlik Denetimi
Basarisiz
Health Uyari
  • License Ò€” License: Apache-2.0
  • Description Ò€” Repository has a description
  • Active repo Ò€” Last push 0 days ago
  • Low visibility Ò€” Only 5 GitHub stars
Code Basarisiz
  • spawnSync Ò€” Synchronous process spawning in cli/core/cli.mjs
  • os.homedir Ò€” User home directory access in cli/core/cli.mjs
  • process.env Ò€” Environment variable access in cli/core/cli.mjs
  • fs.rmSync Ò€” Destructive file system operation in cli/core/cli.test.mjs
  • process.env Ò€” Environment variable access in cli/core/cli.test.mjs
Permissions Gecti
  • Permissions Ò€” No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

πŸ›‘οΈ Local credential safety and leak-reduction tooling for AI agents. Encrypted AES-256-GCM vault, scoped process injection, stream redaction, Git pre-commit guard, and MCP tools.

README.md

Hetzer πŸ›‘οΈ

Hetzer credential-safety tooling

Local Credential Vault and Leak-Reduction Tools for AI Agents
Regex & entropy scanner β€’ AES-256-GCM Grimoire Vault β€’ Dual Git commit & message guards β€’ Canary tripwires β€’ Agent integration skills.

GitHub Packages Node.js version Zero External Dependencies AES-256-GCM Vault License


⚑ Quickstart (Zero-Install via npx)

Hetzer runs instantly on any machine with Node.js installed without requiring global installation:

# πŸ”₯ The 1-Command Speedrun for Vibe Coders: Arms skills, git hook, and vaults .env in 1.5s
npx hetzer protect

# Or perform individual actions:
# 1. Install credential-safety guidance for supported AI agents
npx hetzer skill install

# 2. Install Dual Git Guards (blocks staged tokens/.env via pre-commit, raw secrets in commit-msg)
npx hetzer hook install

# 3. Store credentials & API keys into encrypted Grimoire Vault (AES-256-GCM)
npx hetzer creds set openai-api-key

Permanent Installation Options:

  • One-Line Script (Linux & macOS):
    curl -fsSL https://raw.githubusercontent.com/agunggnn/hetzer/main/install.sh | bash
    
  • One-Line Script (Windows PowerShell):
    irm https://raw.githubusercontent.com/agunggnn/hetzer/main/install.ps1 | iex
    
  • Via GitHub Packages (Direct from this repo):
    npm install -g @agunggnn/hetzer --registry=https://npm.pkg.github.com
    
  • Via NPM Registry:
    npm install -g hetzer
    

πŸ“‘ Modular Documentation

For structured navigation and deep architectural insights, explore the dedicated documentation guides:

Guide Summary & Topics
⚑ Practical Credential-Safety Guide (docs/vibe-coders.md) One-command setup and the boundaries developers and agent users need to understand.
πŸš€ Installation Guide (docs/installation.md) Multi-OS setup (Ubuntu, Debian, CentOS, Windows WSL2, macOS, VPS), Docker requirements, and troubleshooting.
πŸ›οΈ System Architecture (docs/architecture.md) Grimoire Vault (AES-256-GCM), 7-layer defense shield, 9Router Gateway, Cognee Memory, and network boundaries.
πŸ”¬ System Logic & Progress Tracker (docs/system-logic-and-progress.md) Deep subsystem implementation specs, execution flows, test coverage status, and upcoming roadmap.
πŸ“Š Measurement & Evaluation Guide (docs/value-benchmark.md) Reproducible local measurements, comparison rules, and limits on compliance/TCO claims.
🏦 Enterprise & Banking Readiness (docs/enterprise-readiness.md) Regulatory compliance evaluation (PCI-DSS 4.0, SOC 2, ISO 27001, OJK, Bank Indonesia), threat models, and financial hardening guide.
🌐 Model Context Protocol Guide (docs/mcp-guide.md) Connect Hetzer to Claude Desktop, Cursor, Cline, OpenCode, [OFFLINE]/[HYBRID]/[LLM] classification, and CLI testing.
πŸ”„ HTTP Credential Broker (docs/http-credential-broker.md) Loopback proxy injecting upstream credentials via short-lived capabilities without exposing long-lived secrets to child environments.
πŸ›‘οΈ Security Boundary & Isolation Roadmap (docs/hetzer-vs-strongdm-analysis.md) Engineering analysis of implemented controls, architectural boundaries, and isolation roadmap.
🧠 Cognee Persistent Memory Module (docs/modules/cognee.md) Graph and vector persistent memory, local Ollama integration, and memory tools.

⚑ What is Hetzer?

Hetzer is a local-first credential vault and command-line defense layer. It reduces accidental credential exposure in supported workflows; it is not a complete security boundary for an OS user or an AI agent with unrestricted file and process access.

With Hetzer, you get:

  1. Secret scanner: Scans explicitly supplied text for supported provider tokens, credentialed database URLs, bounded private-key blocks, and high-entropy candidates.
  2. Grimoire Vault (AES-256-GCM): SQLite-backed encrypted credential storage. Configuration can use secretRef:<id> in place of plaintext values.
  3. Agent integrations & MCP Virtual Proxy: Installs guidance and MCP configuration for Hermes Agent, Google Antigravity, OpenCode, CommandCode, Cursor, Claude, Cline, Codex, and Gemini. Virtual proxy resolves secretRef:<id> in tool arguments and sanitizes outgoing responses.
  4. Dual Git Guards (pre-commit & commit-msg): Inspects staged filenames, diff additions before commit, and validates commit messages against raw credentials.
  5. Canary Honey-Tokens & Active Stream Tripwires: Deploys decoy canary tokens (HETZER_CANARY_TOKEN, canary-*). Guarded resolution aborts with exit code 43. Guarded subprocesses (hetzer exec --canary) terminate child processes if canary tokens leak into stdout/stderr.
  6. HTTP Credential Broker: Loopback proxy (127.0.0.1) injecting upstream credentials via ephemeral capabilities without exposing raw secrets to child environments.
  7. 9Router AI Gateway & Cognee Memory (Optional Full-Stack): Multi-provider model routing with automatic fallback and tri-layer relational/vector/graph persistent memory in ~1.4 GiB RAM.

All built with 0 external npm dependencies (100% Node.js standard library: node:crypto, node:sqlite, node:fs, node:perf_hooks).


Security boundary

Control Covered Boundary
Vault at rest AES-256-GCM encryption with a unique random IV and authenticated metadata A process that can read both the database and master-key file can decrypt entries
hetzer exec Resolves allowed references and sanitizes child stdout/stderr with bounded rolling and structured-stream filters Child memory contains resolved values; transformed output, direct device/file/network writes, and unrelated processes remain outside this path
Scanner Supported patterns, database URLs, private-key blocks up to 16 KiB, and high-entropy candidates Pattern matching can produce false positives and false negatives
Git hooks Staged .env filenames, diff additions (pre-commit), and commit message text (commit-msg) Hooks can be bypassed via --no-verify and do not scan past repository history
Canary tripwires Guarded resolution, reveal, and subprocess stream outputs (hetzer exec --canary) Detects and aborts guarded paths/leaks; does not detect arbitrary out-of-band disk reads by the same OS user
MCP proxy Resolves secretRef:<id> in tool payloads, enforces canary checks, and sanitizes tool outputs Covers integrated FastMCP requests; does not intercept external or unmanaged tool calls
Agent skills Instructions and MCP metadata-only vault tools Instructions do not enforce access control against the local OS user

πŸ›οΈ System Topology

flowchart TB
    subgraph Clients["AI Clients & Developer Interfaces"]
        CLI["Hetzer CLI\n(hetzer up / creds / mcp)"]
        TUI["Terminal Live Monitor\n(hetzer tui)"]
        Claude["Claude Desktop / Code"]
        Cursor["Cursor IDE"]
        Hermes["Hermes Agent"]
        AGY["Google Antigravity (AGY)"]
        OpenCode["OpenCode / CommandCode"]
        GitCommit["Git Commit Guard Hook\n(.git/hooks/pre-commit)"]
    end

    subgraph HostPlane["Hetzer Command Plane (Host Process)"]
        SecretSniffer["Secret Scanner\n(Regex Rules + Entropy Detector)"]
        GrimoireVault[("Grimoire Vault\nSQLite WAL + AES-256-GCM\ndata/hetzer-vault.db")]
        MCPBridge["Universal MCP Bridge\n(stdio & JSON-RPC Protocol)"]
        ModuleResolver["Module & Profile Resolver\n(Docker Compose Merger)"]
        HealthVerifier["Active Healthcheck & Probe Engine"]
    end

    subgraph DockerPlane["Docker Isolated Network (127.0.0.1 Loopback)"]
        subgraph NineRouter["9Router AI Gateway (:20140)"]
            RouterProxy["Multi-Provider Model Router & Fallback"]
        end

        subgraph CogneeSvc["Cognee Memory Engine (:8001)"]
            MCPEndpoint["MCP Server (:8001/mcp)"]
            RelationalDB[("SQLite WAL\nRelational Metadata")]
            VectorDB[("LanceDB\nVector Embeddings")]
            GraphDB[("KΓΉzu Graph DB\nKnowledge Graph")]
        end
    end

    CLI --> GrimoireVault
    CLI --> ModuleResolver
    CLI --> MCPBridge
    GitCommit --> SecretSniffer
    TUI --> HealthVerifier
    Claude -.->|"stdio MCP"| MCPBridge
    Cursor -.->|"stdio MCP"| MCPBridge
    Hermes -.->|"stdio MCP"| MCPBridge
    AGY -.->|"Native Skill"| GrimoireVault
    OpenCode -.->|"Native Skill"| GrimoireVault

    ModuleResolver -->|"docker compose up\n(Ephemeral Credential Injection)"| DockerPlane
    MCPBridge -->|"Direct Probe & Call"| MCPEndpoint

Credential defense layers

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     HETZER SEVEN-LAYER DEFENSE MATRIX                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Layer 1: Explicit Secret Scanner                                            β”‚
β”‚  β–Ί Scans input passed to CLI/MCP scanner, staged Git diffs & commit messages. β”‚
β”‚  β–Ί Redaction reports whether each detected value was successfully vaulted.  β”‚
β”‚  β–Ί Agent prompts outside integrated paths are not intercepted.               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Layer 2: Real-Time Stream Sanitizer & Ephemeral Scoping (hetzer exec)      β”‚
β”‚  β–Ί Intercepts child process stdout/stderr in memory before terminal emit.   β”‚
β”‚  β–Ί Known injected values are redacted even when split across output chunks. β”‚
β”‚  β–Ί Terminal controls and supported long structured values are filtered.     β”‚
β”‚  β–Ί --strict starts with a minimal environment and injects approved refs.     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Layer 3: Anti-Reflection Execution Guard                                   β”‚
β”‚  β–Ί Blocks reflection commands ('printenv', 'env', 'export', 'docker inspect'β”‚
β”‚    and inline 'os.environ' scripts) before process spawning.                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Layer 4: TTY and Process Ancestry Safeguards                               β”‚
β”‚  β–Ί Validates process.stdin.isTTY and sniffs autonomous agent env flags.     β”‚
β”‚  β–Ί Traverses 5 generations of parent processes (PPID) to block autonomous   β”‚
β”‚    recognized agent processes before allowing 'hetzer creds reveal'.         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Layer 5: Native OS Confirmation                                              β”‚
β”‚  β–Ί Launches native OS modal dialogs (Windows Forms / AppleScript / Zenity). β”‚
β”‚  β–Ί Every plaintext reveal requires a native modal confirmation.              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Layer 6: Dynamic Canary Honey-Tokens & Active Stream Tripwires             β”‚
β”‚  β–Ί Deploys enticing decoy canary tokens ('HETZER_CANARY_TOKEN') into .env.  β”‚
β”‚  β–Ί Guarded resolution/reveal attempts abort with exit code 43 and log alert.β”‚
β”‚  β–Ί 'hetzer exec --canary' monitors child streams; any detected canary leak   β”‚
β”‚    instantly terminates child process tree (taskkill / SIGKILL) & aborts.   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Layer 7: Master Key Workspace Isolation (~/.hetzer/grimoire.key)           β”‚
β”‚  β–Ί 'hetzer creds isolate-key' relocates master key out of project directory β”‚
β”‚    with 0600 POSIX permissions. Same-user processes may still read it.       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Performance measurement

Scanner latency varies with input length, candidate count, CPU, Node version, and cold-start effects. The Git hook also starts Git subprocesses, so scanner microbenchmarks must not be presented as end-to-end hook latency. Run node benchmarks/vault-bench.mjs and measure hetzer hook check on the target repository before setting a performance objective.


🏦 Enterprise & Banking Readiness (PCI-DSS, SOC 2, ISO 27001, OJK)

Hetzer can contribute technical evidence to a broader security program, but this repository has not been independently audited or certified against the frameworks below.

🎯 Strategic Enterprise Role: The "Agent Sidecar Armor"

Banks deploying AI coding agents (Claude Code, Cursor, Copilot, Antigravity) face an acute compliance threat: engineers accidentally leaking core-banking API keys, staging database URLs, or customer PII into third-party LLM context windows.

Hetzer acts as a client-side Defense-in-Depth Armor:

  • 0 runtime npm dependencies reduces one source of dependency risk. Node.js, Hetzer itself, container images, and installers remain in the supply chain.
  • Explicit scanning and guarded execution reduce exposure in the paths that invoke them.
  • Git Pre-Commit Guard blocks supported patterns and .env filenames when the hook runs.
  • AES-256-GCM encryption protects vault values at rest while the master key remains separate and protected.

πŸ“‹ Compliance Quick Reference

Framework / Regulation Control Scope Hetzer Capability & Verdict
PCI DSS v4.x Vault encryption and development leak detection may support selected controls Requires a scoped assessment; the Git hook does not establish payment-page script control 6.4.3
SOC 2 Audit records and credential handling may support control evidence Compliance applies to an audited organization and system, not this component alone
ISO/IEC 27001:2022 Cryptography and secure-development features may support selected controls Certification requires an assessed information-security management system
OJK / Bank Indonesia Local storage and leak-reduction controls may form part of an implementation Applicability and sufficiency require qualified legal and regulatory review

πŸ“– Read the Complete Technical Whitepaper: For full regulatory analysis, threat vector models, and enterprise deployment blueprints, see Enterprise & Banking Readiness Guide (docs/enterprise-readiness.md).


Universal AI Agent Skills (no Docker required)

Install credential-handling guidance across the supported AI coding agents. The installed files consume disk space and the CLI uses memory when invoked.

# Install to all detected agents on your system:
hetzer skill install

# Or run instantly via npx:
npx hetzer skill install

Supported Platforms:

  • Hermes Agent: Installed to ~/.hermes/skills/hetzer/SKILL.md (globalOnly: true) and hooked into ~/.hermes/config.yaml.
  • Google Antigravity (AGY): Installed to .agents/skills/hetzer/SKILL.md (workspace), ~/.gemini/config/skills/ (global), and AGENTS.md.
  • OpenCode & CommandCode: Installed to .opencode/skills/hetzer/ and .commandcode/skills/hetzer/ with AGENTS.md entry pointers.
  • Cursor IDE: Installed to .cursor/rules/hetzer.mdc, .cursor/skills/hetzer/, and .cursorrules.
  • Claude Desktop & Code: Configured in claude_desktop_config.json via native stdio MCP and .claude/skills/.
  • Cline / Roo Code: Configured in cline_mcp_settings.json and .clinerules.

Check the installation status of all agents on your machine:

hetzer skill status

πŸ”Œ MCP Virtual Credential Proxy

Hetzer includes a built-in FastMCP protocol server (cli/mcp/protocol.mjs) compatible with modern (2026-07-28) and legacy (2025-11-25) MCP specifications:

  • Zero-Plaintext Tool Payloads: AI agents pass abstract references (e.g. secretRef:openai-api-key) in tool call arguments. The proxy resolves secrets just-in-time in memory before upstream execution.
  • Canary Tripwire Guard: Tool calls containing decoy canary references immediately trigger security alerts and abort with exit code 43.
  • Response Sanitization: All tool outputs are recursively sanitized through Hetzer's stream redactor before returning to the LLM agent, blocking credential leakage in tool responses.

πŸ›‘οΈ Dual Git Guard Hooks (Pre-Commit & Commit-Msg)

Prevent accidental credential leaks before they ever reach GitHub:

# Install both hooks to .git/hooks/ (pre-commit and commit-msg)
hetzer hook install

# Check staged diff manually
hetzer hook check

# Validate a commit message manually
hetzer hook check-msg .git/COMMIT_EDITMSG

# Uninstall both hooks if no longer needed
hetzer hook uninstall

When installed, Hetzer provides dual-phase protection:

  1. Pre-Commit Guard: Inspects staged files and diff additions for supported credential patterns and .env files. Test fixtures (*.test.*, test/, fixtures/) and agent call IDs are safely exempted.
  2. Commit-Msg Guard: Verifies commit message text (COMMIT_EDITMSG), blocking commits that accidentally embed tokens, passwords, or API keys in the commit summary or description.

Example of a blocked commit:

================================================================================
  πŸ›‘ HETZER ARMOR: GIT COMMIT BLOCKED (TOKEN LEAK DETECTED!)
================================================================================
  Scan Latency : 183.00 ms
  Violations   : Detected 1 raw credential in staged changes:

  * src/config.js:14 -> [OPENAI_API_KEY] OpenAI secret key

  HOW TO FIX:
  1. Save credential to Vault : hetzer creds set openai-api-key
  2. Replace in your code with: secretRef:openai-api-key
================================================================================

πŸͺ€ Canary Honey-Tokens & Active Stream Tripwires

Detect unauthorized credential harvesting and prompt injection attempts targeting AI agents:

# Deploy decoy canary honey-token into .env
hetzer canary setup

# Execute child process with active stream canary monitoring
hetzer exec --canary -- npm test

Tripwire Mechanisms:

  • Decoy Honey-Tokens: hetzer canary setup binds HETZER_CANARY_TOKEN=secretRef:canary-token in .env. Attempting to resolve, inspect, or reveal canary credentials (canary-token, canary-*, decoy-*) triggers ERR_CANARY_TRIPWIRE_TRIGGERED (exitCode 43) and records an incident to data/hetzer-incidents.log.
  • Subprocess Stream Kill: When running commands with hetzer exec --canary, dynamic decoy tokens (canary_trap_<hex>) are injected into the child environment. Hetzer continuously buffers and scans stdout and stderr streams; if the decoy token leaks into output, Hetzer instantly terminates the entire child process tree (taskkill /PID /T /F on Windows, SIGKILL/SIGTERM on POSIX), halts output forwarding, and aborts with exit code 43.

πŸ› οΈ CLI Command Cheat Sheet

All Hetzer commands are executed via the hetzer CLI:

Command Description
hetzer doctor [--fix] Validates system prerequisites, Node.js version, and Docker socket permissions
hetzer init [dir] Initializes a new Hetzer instance, creates Grimoire Vault, and secures .env
hetzer up [srv|all] [--wait] Launches containers with active healthcheck polling and HTTP smoke tests
hetzer down [-v] Stops services (-v removes persistent data volumes for clean teardown)
hetzer status Displays live container states, forwarded ports, and image digests
hetzer logs [service] Streams container logs through the same bounded stdout/stderr sanitizer
hetzer tui Opens the interactive terminal operations dashboard
hetzer creds [list] Lists all stored credential references in Grimoire Vault
hetzer creds reveal <id> Decrypts and prints plaintext after TTY, process-tree, and required native-modal checks
hetzer creds set <id> Encrypts and saves a credential via AES-256-GCM using a masked prompt
hetzer creds isolate-key Moves master key outside workspace to ~/.hetzer/grimoire.key (mode 0600)
hetzer canary [setup] Deploys decoy canary honey-tokens to catch prompt injection & scraping
hetzer exec [--allow <ids>] [--strict] [--canary] -- <c> Runs command with scoped secret injection, stream sanitization, and active canary tripwire
hetzer broker --policy <file> -- <c> Runs a compatible HTTP client with a short-lived loopback capability instead of the long-lived credential
hetzer sniffer [scan|redact] Scans or redacts supported credential candidates from input text
hetzer skill [install|status] Deploys Universal AI Agent Skills to Hermes, AGY, OpenCode, Cursor, Claude
hetzer hook [install|uninstall|check|check-msg] Installs or tests Dual Git Guards (pre-commit staged diff & commit-msg text)
hetzer modules Displays available and active native extension modules
hetzer install <module> Enables and configures an extension module (e.g. cognee, 9router)
hetzer remove <module> Disables an extension module without deleting persistent data
hetzer module create <id> Generates a new module recipe using 9Router AI code analysis
hetzer mcp ping [service] Diagnoses JSON-RPC handshake and latency for MCP endpoints
hetzer mcp tools [service] Lists MCP tools and their execution classification
hetzer mcp call <srv> <tool> Invokes an MCP tool directly from the terminal without an AI client
hetzer publish Builds, verifies test suite, and publishes package to public npm

❓ Frequently Asked Questions (FAQ)

1. Can I reveal and inspect credentials stored in the Vault?

Yes, absolutely. As the machine owner and terminal administrator, you have full authority to inspect and decrypt your secrets anytime:

# List all stored credential IDs and status
hetzer creds list

# Decrypt and reveal the actual secret value (AES-256-GCM)
hetzer creds reveal npm-token
hetzer creds reveal nine-router-initial-password

2. Can AI Agents (Claude, Cursor, Cline, GPT) see these credentials?

Hetzer keeps plaintext out of MCP vault-list and vault-existence responses, resolves references just-in-time via its MCP virtual proxy, and hetzer exec injects approved values directly into child processes. This reduces leakage while maintaining operational reality:

  • The MCP tools exposed to AI (hetzer_vault_has and hetzer_vault_list) only return metadata and abstract reference strings (secretRef:<id>).
  • No reveal tool is exposed by Hetzer's MCP server.
  • MCP Virtual Credential Proxy: When an agent invokes an MCP tool, it passes references like secretRef:<id>. Hetzer resolves this just-in-time for upstream execution, checks for honeytokens, and recursively sanitizes outgoing tool responses before context delivery.
  • Canary Tripwires: Any attempt by an autonomous agent or injected prompt to access canary credentials (canary-token, canary-*, decoy-*) triggers a critical security incident and aborts with exitCode 43.
  • Credentials injected into a child exist in that process environment and memory. hetzer exec blocks common reflection commands, sanitizes supported output, and terminates processes if canary tokens leak (--canary). These are application safeguards rather than full OS sandboxing.
  • Agent instructions do not intercept arbitrary prompts, files, debuggers, alternate processes, or tools. Use OS account separation and a centrally managed secret system for hostile-code boundaries.

3. What credential scenarios does Hetzer support?

Grimoire Vault can store arbitrary values up to its configured size limit. Automatic scanning recognizes a narrower set:

  • Provider tokens: OpenAI, Anthropic, Google Gemini, npm, GitHub, Slack, AWS access-key IDs, and JWT-shaped strings.
  • Service & Database Passwords: 9Router admin passwords, PostgreSQL, Redis, MySQL credentials.
  • Private keys: PKCS#8 and algorithm-prefixed PEM private-key blocks up to 16 KiB.
  • Database Connection URIs: postgresql://user:pass@host:5432/db, mongodb+srv://..., redis://....
  • High-entropy candidates: 24–512 character candidate strings above the entropy threshold. Review false positives and false negatives.

4. Who does Hetzer protect you from?

  • Third-party AI vendors: References reduce exposure when users and agents follow the installed guidance and use the integrated scanner paths.
  • Accidental Git exposure: Dual Git guards catch supported candidates and staged .env filenames (pre-commit), and block secrets in commit messages (commit-msg) unless hooks are bypassed.
  • Other OS accounts: POSIX mode 0600 restricts ordinary cross-account access. Administrators, the same account, backups, and platform-specific ACL behavior remain in scope.

5. How do I achieve maximum security on production servers?

If you prefer not to store HETZER_GRIMOIRE_KEY on disk, omit it from .env and provide it strictly via the in-memory terminal environment:

export HETZER_GRIMOIRE_KEY="your-private-master-key"

Under this model, zero decryption keys exist on disk. Anyone copying the database cannot decrypt its contents without your in-memory master key.


πŸ—‘οΈ Complete Uninstallation & Teardown

To cleanly remove Hetzer from your machine:

# 1. Stop containers and remove persistent volumes (if using Docker services)
hetzer down -v

# 2. Uninstall global CLI binary
npm uninstall -g hetzer

# 3. Clean up project files
cd .. && rm -rf hetzer

πŸ™ Acknowledgements & Inspirations

Hetzer stands on the shoulders of giants. We express our deepest gratitude and respect to the pioneering tools, architectures, and open-source communities that inspired Hetzer's design:

  • πŸ›οΈ HashiCorp Vault (HashiCorp / Mitchell Hashimoto): The gold standard in secret management, transit encryption, and decoupled credential architecture that inspired the Grimoire Vault and secretRef: design.
  • ⚑ 1Password CLI (op run) & Doppler: Pioneers of out-of-band ephemeral secret injection into child processes without ever storing secrets in plaintext files.
  • πŸ” TruffleHog (Truffle Security) & Gitleaks (Zachary Rice): High-speed regex and Shannon entropy scanners that defined modern Git credential leakage prevention.
  • 🌐 Model Context Protocol (MCP) (Anthropic): The open standard that enables autonomous AI clients to seamlessly and safely consume local tools and defense boundaries.
  • 🚦 9Router (Decolua): High-performance multi-provider local AI model router, fallback balancer, and reverse proxy.
  • 🧠 Cognee (Topoteretes): Advanced tri-layer relational, vector, and knowledge graph persistent memory engine for autonomous agents.
  • πŸ›‘οΈ LLM-Guard (Protect AI): Pioneered real-time LLM input/output scanning and token redaction before context transmission.
  • πŸ€– Autonomous AI Agent Ecosystems:

πŸ“„ License

Distributed under the Apache-2.0 License. See LICENSE and NOTICE for complete legal details.

Yorumlar (0)

Sonuc bulunamadi