hachiman
Hachiman Agent
Сканируй перед развёртыванием. Авторизуй перед доступом. Наблюдай во время выполнения. Сдерживай при компрометации. Докладывай обо всём.
Hachiman — это автономный уровень безопасности для AI-агентов и Model Context Protocol (MCP). Он располагается между вашими агентами и их MCP-серверами как совместимый по протоколу шлюз и рассматривает каждый вызов инструмента как решение по безопасности — но никогда не доверяет это модели.
LLM намеренно не является органом безопасности. Hachiman принимает детерминированные решения на основе структурированных данных (разрешения авторизации, классификация данных, назначение, сигналы инъекций, поведение, состояние доверия) и использует семантический анализ только как советника, чей результат валидируется, ограничивается и опирается исключительно на факты.
Создан без единой внешней зависимости: Node.js ≥ 22.5 (node:sqlite, node:test), чистый ESM.
Работает одинаково на Windows, Linux и macOS — см. AI-BUILDER.md для контракта установки
в один промпт, который может выполнить любой AI-кодинг-агент на любой ОС.
Быстрый старт
Hachiman распространяется исключительно через этот git-репозиторий — он не опубликован в npm или каком-либо пакетном реестре. Клонируйте его и запускайте всё изнутри клона:
git clone https://github.com/nidhish28guhan-netizen/hachiman-agent.git
cd hachiman-agentВсе команды ниже предполагают, что ваша оболочка находится внутри клонированного каталога hachiman-agent.
# Requirement: Node.js >= 22.5 (Hachiman uses node:sqlite and node:test)
node --version
# Universal installer: health check + config + engine self-test (any OS)
node scripts/install.js
# Full suite: unit + golden + corpus + property + e2e
npm test
# The A→Z story: scan → authorize → block → quarantine → report
npm run demo
# Security Protection Overhead benchmark (micro)
npm run spo
# CLI reference
node bin/hachiman.js helpПримечание: комментарии выше намеренно размещены на отдельных строках — в стандартном zsh (macOS) завершающий
#на той же строке, что и команда, не считается комментарием. Копируйте команды построчно или целыми блоками; никогда не смешивайте комментарии оболочки со строками команд.
Шаг
npm installне требуется — ноль внешних зависимостей.Git-репозиторий — единственный источник истины. Не существует загружаемого/zip-дистрибутива для запуска; всегда работайте из клона этого репозитория, чтобы у вас было точное, полное, протестированное дерево (исходники, тесты, фикстуры, пакеты политик и документация вместе).
Related MCP server: Guardpost MCP Server
Hachiman внутри AI-конструкторов (Claude, Codex, Hermes, OpenClaw и другие)
Hachiman спроектирован для установки и эксплуатации изнутри AI-кодинг-конструкторов, на любой ОС. Каждая интеграция использует только стандартные механизмы — оболочку, MCP stdio или MCP-over-HTTP. Не требуется ни SDK, ни плагинов, ни форков платформы. Всё, что умеет запускать команды терминала или говорить на MCP, может использовать Hachiman.
AI-конструктор может играть две роли, и одна платформа может играть обе:
Роль | Значение | Механизм |
Установщик / оператор | AI-конструктор устанавливает и запускает Hachiman на вашей машине | У него есть доступ к терминалу → вставьте блок из одного промпта из |
Защищаемый клиент | AI-конструктор — это агент, которого защищают; его вызовы инструментов проходят через шлюз Hachiman | Зарегистрируйте stdio-мост или HTTP-эндпоинт в MCP-конфиге платформы |
Поддерживаемые AI-конструкторы — матрица совместимости
AI-конструктор | Вендор | Windows | macOS | Linux | Устанавливает Hachiman | Защищаемый клиент |
Claude Code | Anthropic | ✅ | ✅ | ✅ | ✅ (терминал) | ✅ MCP stdio/HTTP |
Claude Desktop | Anthropic | ✅ | ✅ | ✅ | — | ✅ MCP stdio |
Codex CLI | OpenAI | ✅ | ✅ | ✅ | ✅ (терминал) | ✅ MCP stdio/HTTP |
Cursor | Anysphere | ✅ | ✅ | ✅ | ✅ (терминал) | ✅ MCP stdio/HTTP |
Windsurf | Codeium | ✅ | ✅ | ✅ | ✅ (терминал) | ✅ MCP stdio/HTTP |
GitHub Copilot / VS Code agent | GitHub / Microsoft | ✅ | ✅ | ✅ | ✅ (терминал) | ✅ MCP stdio/HTTP |
Gemini CLI | ✅ | ✅ | ✅ | ✅ (терминал) | ✅ MCP stdio/HTTP | |
Hermes | Nous Research | ✅ | ✅ | ✅ | ✅ (терминал) | ✅ MCP stdio/HTTP |
OpenClaw | community | ✅ | ✅ | ✅ | ✅ (терминал) | ✅ MCP stdio/HTTP |
DeepSeek Harness | DeepSeek | ✅ | ✅ | ✅ | ✅ (управляемая задача) | ✅ MCP stdio/HTTP |
Qoder | Alibaba | ✅ | ✅ | ✅ | ✅ (терминал) | ✅ MCP stdio/HTTP |
Aider | community | ✅ | ✅ | ✅ | ✅ (терминал) | команды оболочки (без MCP) |
Всё остальное, говорящее на MCP | — | ✅ | ✅ | ✅ | ✅ если есть оболочка | ✅ MCP stdio/HTTP |
(Требование везде: Node.js ≥ 22.5. Имена файлов и схемы MCP-конфигов меняются между версиями платформ; если документация платформы отличается — доверяйте документации платформы: команда моста и переменные окружения ниже никогда не меняются.)
Шаг 0 — одинаковый старт на всех платформах
git clone https://github.com/nidhish28guhan-netizen/hachiman-agent.git
cd hachiman-agent
node scripts/install.jsШаг 1 — позвольте AI-конструктору установить и проверить (вставьте один промпт)
Откройте ваш AI-конструктор в клонированном каталоге (или укажите ему путь) и вставьте блок
из одного промпта из AI-BUILDER.md §1 дословно. Конструктор проверяет Node, запускает
установщик, поднимает страж и прогоняет полный набор тестов — с машиночитаемыми критериями успеха
(RESULT: READY on <os>, HACHIMAN GUARD ACTIVE, # fail 0). Это одинаково работает в Claude Code,
Codex CLI, Cursor, Windsurf, Copilot, Gemini CLI, Hermes, OpenClaw, DeepSeek Harness, Qoder и
Aider — у всех есть доступ к терминалу.
Шаг 2 — выдайте сессию для конструктора
Каждый конструктор (или каждая пара человек+конструктор) получает собственную ограниченную по области действия и сроку действия идентичность:
node bin/hachiman.js agent add claude-code --allow notes,search --ttl 24Это выводит sessionToken (hsm_…). Поместите его в конфиг платформы из Шага 3.
Шаг 3 — подключите конструктор к шлюзу (руководства по платформам)
Универсальный блок моста (JSON-тело одинаково везде — отличается только место, где он живёт):
"hachiman-notes": {
"command": "node",
"args": ["/full/path/to/hachiman-agent/bin/hachiman.js", "bridge", "notes"],
"env": {
"HACHIMAN_GATEWAY": "http://127.0.0.1:7420",
"HACHIMAN_SESSION": "hsm_XXXXXXXXXXXX.XXXXXXXXXXXX"
}
}Claude Desktop — добавьте блок внутрь mcpServers в claude_desktop_config.json
(macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):
{ "mcpServers": { "hachiman-notes": { "command": "node", "args": ["/full/path/to/hachiman-agent/bin/hachiman.js", "bridge", "notes"], "env": { "HACHIMAN_GATEWAY": "http://127.0.0.1:7420", "HACHIMAN_SESSION": "hsm_XXXXXXXXXXXX.XXXXXXXXXXXX" } } } }Claude Code — из каталога репозитория:
claude mcp add hachiman-notes \
--env HACHIMAN_GATEWAY=http://127.0.0.1:7420 \
--env HACHIMAN_SESSION=hsm_XXXXXXXXXXXX.XXXXXXXXXXXX \
-- node /full/path/to/hachiman-agent/bin/hachiman.js bridge notesCodex CLI — ~/.codex/config.toml:
[mcp_servers.hachiman_notes]
command = "node"
args = ["/full/path/to/hachiman-agent/bin/hachiman.js", "bridge", "notes"]
[mcp_servers.hachiman_notes.env]
HACHIMAN_GATEWAY = "http://127.0.0.1:7420"
HACHIMAN_SESSION = "hsm_XXXXXXXXXXXX.XXXXXXXXXXXX"Cursor — Settings → MCP → Add server (или .cursor/mcp.json в вашем проекте), тот же JSON-блок.
Windsurf — Settings → Cascade → MCP servers, тот же блок. Gemini CLI —
~/.gemini/settings.json, ключ mcpServers, тот же блок. GitHub Copilot / VS Code —
.vscode/mcp.json:
{
"servers": {
"hachiman-notes": {
"type": "stdio",
"command": "node",
"args": ["/full/path/to/hachiman-agent/bin/hachiman.js", "bridge", "notes"],
"env": {
"HACHIMAN_GATEWAY": "http://127.0.0.1:7420",
"HACHIMAN_SESSION": "hsm_XXXXXXXXXXXX.XXXXXXXXXXXX"
}
}
}
}Hermes / OpenClaw / Qoder / DeepSeek Harness — два варианта, оба поддерживаются:
HTTP-эндпоинт (когда платформа поддерживает MCP-over-HTTP): укажите
http://127.0.0.1:7420/mcp/<server>и отправляйте заголовокx-hachiman-session: hsm_XXXXXXXXXXXX.XXXXXXXXXXXXс каждым запросом.Stdio-мост (когда платформа порождает MCP-подпроцессы): зарегистрируйте блок моста выше в MCP-конфиге платформы — точно так же, как для Claude/Cursor.
Полные детали по платформам, проверенные вживую примеры и чек-лист оператора:
Hachiman-Agnent-Guide.md §7–§10.
Шаг 4 — проверка изнутри конструктора
Попросите AI-конструктор вызвать любой инструмент через его новый сервер hachiman-* и проверьте:
инструмент выполняется (ALLOW) — Hachiman записал решение в журнал,
дашборд (
http://127.0.0.1:7420/, Mission Control) показывает решение с риском/уверенностью,node bin/hachiman.js audit --tail 20показывает строку append-only журнала аудита.
Если вызов возвращает -32088 (BLOCK) или -32089 (REVIEW) — это работает Hachiman: прочитайте
reasons в ошибке или откройте Advisor на дашборде, который сопоставляет каждую причину
с точным исправлением.
Шаг 5 — (необязательно) наступательный навык изнутри конструктора
Если вы владеете целью и имеете письменное разрешение, тот же AI-конструктор может запустить
авторизованный наступательный навык безопасности Hachiman — конструктор следует
skill/SKILL.md: файл вовлечения → pentest → находки → AI Repair Contracts →
retest до VERIFIED.
Два режима работы
Пред-развёртывание (WF-03)
DISCOVER → SCAN → TEST → SCORE → AUTHORIZE → DEPLOY
Сканируйте кандидатного MCP до того, как он вообще будет открыт агенту. Сканер обнаруживает поверхность возможностей (исходящий трафик, БД, exec, файловая система, память, модель аутентификации), затем запускает только применимые контролируемые тесты из каталога: ретрансляция prompt-инъекций, цепочки непрямых инъекций→исходящий трафик, чрезмерная агентность, эксфильтрация массового экспорта, неограниченный исходящий трафик, контрабанда параметров, имитация инструментов, уязвимости поддельной аутентификации, дрейф возможностей, поверхность SQLi, обход пути, утечка секретов.
Оцените его по 11-мерной оценке Production Safety Score (0–100) и статусному гейту:
PRODUCTION_READY,PRODUCTION_READY_WITH_RESTRICTIONS,NOT_PRODUCTION_READY.Авторизуйте: только оператор может повысить просканированный MCP до
TRUSTED, и только человеческий грант даёт агенту какие-либо возможности вообще.
Во время выполнения (WF-05/06)
MONITOR → DETECT → DECIDE → RESPOND → REPORT → REASSESS
Каждый
tools/callчерез шлюз нормализуется и оценивается фиксированным конвейером:IDENTITY → AUTHORIZATION (жёсткий гейт) → LEGITIMACY → CLASSIFY → INJECTION → POLICY → CACHE → RISK → DECIDE → (SEMANTIC) → AUDIT.Три значения хранятся раздельно и никогда не смешиваются:
risk(0–100),confidence(0–100%),trust(0–100).Fail-closed при сбое верификации для чувствительных ресурсов. Сдерживание липкое и append-only. Каждое решение аудируется и объяснимо.
Наступательный навык (только авторизованные цели)
docs/06-MASTER-SECURITY-SKILL-ARCHITECTURE.md + docs/07-OFFENSIVE-SKILL-IMPLEMENTATION-PLAN.md
Страж также мыслит как атакующий. На авторизованной цели (файл вовлечения с
authorized_by, областью действия, бюджетами — всё проверяется в коде) Hachiman запускает:
DISCOVER → MAP → HYPOTHESIZE → ATTACK → ADAPT → CHAIN → VALIDATE → EXPLAIN → FIX → RETESTИзмерено на встроенной лабораторной цели (npm run offense-bench): полный цикл атака → доказательство →
проверка исправления ~0,8 с, 8 запросов, 0 токенов, 3/3 гипотезы подтверждены воспроизводимо,
3/3 исправления VERIFIED путём повторного воспроизведения исходных атак против исправленной сборки.
Цикл также ловит сломанные исправления: исправление, которое всё ещё допускает эксплойт → UNRESOLVED;
исправление, которое ломает легитимное поведение → REGRESSION (оба продемонстрированы
в test/e2e/offensive-loop.test.js).
node bin/hachiman.js pentest examples/engagement.vuln-notes.json
node bin/hachiman.js findings | explain <id> | fix <id> | retest <id> --fixed vuln-notes-fixed
npm run offense-benchОбласть действия сегодня: MCP-серверы / локальные HTTP MCP-эндпоинты, все ОС. Семейства
мобильных/игровых/облачных/k8s — только документированные точки расширения — навык никогда
не имитирует покрытие. Документация оператора: skill/SKILL.md.
Структура репозитория
bin/hachiman.js CLI entry
lib/hachiman.js Root composition: assemble storage+engines+gateway+runtime+SRG
policies/*.hachiman.json Policy packs (default, high-security, strict) — hot-reload by version
packages/
core/ storage (SQLite/WAL, append-only audit), EventBus (bounded, shed ladder), utils
engines/ classifier, injection, identity (Ed25519+HMAC sessions), authorization (grants),
policy, risk, trust, semantic (validated advisory), decision pipeline
gateway/ MCP client (stdio/HTTP), normalize, metrics, the McpGateway itself
runtime/ BehaviorMonitor, ResponseEngine (6-level containment ladder)
srg/ Security Resource Governor (SENTINEL→WATCH→THREAT→INCIDENT→RECOVERY, budgets)
scanner/ surface mapper, test catalog, scoring, Scanner
reporting/ scan / incident / SPO statement renderers
benchmark/ scenario runner + SPO harness
cli/ `hachiman <command>`
dashboard/ local HTTP server + zero-dep SPA (SSE live events)
fixtures/ benign + malicious fixture MCPs, sink, attack corpus, golden decision set
docs/ 00 master plan → 05 feature backlog (the build plan this implements)
test/ unit, golden, corpus, property, e2eМодель безопасности в двух словах
Принцип | Обеспечение |
Авторизация — жёсткий шлюз | Нет разрешения ⇒ |
Модель не является авторитетом | Вывод семантического анализатора ограничен, только как доказательство, и может только ужесточать решение, но не ослаблять его. |
Раздельные риск / уверенность / доверие | Вычисляются отдельно, сообщаются отдельно; ни одно магическое число не решает в одиночку. |
Закрытый отказ | Сбой проверки на чувствительных ресурсах → |
Изоляция липкая | Карантин переопределяет любое последующее решение, пока оператор не снимет его (восстановление = повторное сканирование → повторная авторизация). |
Аудит только на добавление |
|
Политика как данные, горячая перезагрузка | Пакеты правил версионируются; выигрывает самое строгое совпадающее решение; нижние границы доминируют над дельтами. |
Эффективность без ослабления | Кэш решений ключуется по сигналам содержимого (инъекции + классификация следуют за отпечатком), бюджеты SRG, параллелизм семантических слотов. |
CLI
hachiman init
hachiman guard [--port N] [--once] # protect configured MCPs (gateway + runtime + dashboard)
hachiman status
hachiman scan <target> --fixture <name> [--production] [--suite AI,MCP,APP]
hachiman mcp list | allow <mcp> | deny <mcp>
hachiman trust <subject>
hachiman threats | quarantine <mcp:subj> [--reason R] | quarantine release <mcp:subj>
hachiman audit [--tail N] | report scan <id> | report incident <id> | report production <target>
hachiman dashboard [--port N]
hachiman config get|set <dotted.key> [json]scan … --production завершается с ненулевым кодом, если цель не PRODUCTION_READY (шлюз CI).
Тестирование и бенчмарки
npm run test:unit # engines + core + srg
npm run test:golden # locked deterministic decisions (regression guards)
npm run test:corpus # attack corpus + benign baseline: detection ≥95%, FP ≤2%
npm run test:e2e # scanner + guarded gateway end-to-end
npm run test:property # fuzz determinism + structural invariants
npm run spo # Security Protection Overhead statementСообщается для микро-нагрузки SPO (на этой машине): предотвращение угроз 100% (все атаки остановлены, 0 ложных срабатываний), детерминированный быстрый путь 100%, семантические вызовы 0%, накладные расходы по задержке P95 порядка пары миллисекунд поверх loopback MCP. Утверждения SPO измеряются для каждой нагрузки и никогда не рекламируются как универсальные гарантии.
Не-цели
Hachiman не пытается быть универсальным межсетевым экраном для LLM, переписчиком промптов или песочницей для выполнения кода. Он управляет доступом к инструментам и перемещением данных для агентов, говорящих на MCP, с детерминированными, объяснимыми и аудируемыми решениями. См. docs/05-FEATURE-BACKLOG.md для явных не-целей и бэклога MoSCoW.
Документы проектирования
План сборки, который реализует этот репозиторий, находится в docs/:
00-MASTER-PLAN.md— видение, вехи, KPI01-IMPLEMENTATION-ARCHITECTURE.md— спецификации модулей, модель данных, схема SQLite, API-поверхность02-WORKFLOWS.md— последовательности WF-01…WF-10 и таблицы решений03-OPTIMIZATION.md— эффективность токенов, бюджеты SRG, кэширование04-TESTING-AND-BENCHMARKING.md— пирамида тестирования, корпус атак, стенд SPO05-FEATURE-BACKLOG.md— бэклог MoSCoW, не-цели06-MASTER-SECURITY-SKILL-ARCHITECTURE.md— видение наступательного навыка (авторизованные цели)07-OFFENSIVE-SKILL-IMPLEMENTATION-PLAN.md— что строится, карта модулей, фазы, честные не-цели08-HACHIMAN-2.0-ARCHITECTURE.md— аудит репозитория + универсальный план управления (Hachiman 2.0)
Лицензия и авторы
Разработчик: Nidhish Guhan Лицензия: MIT — см. LICENSE. Авторские права © 2026 Nidhish Guhan.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceA transparent proxy and execution firewall that intercepts and audits AI agent tool calls against configurable security policies before forwarding them to downstream MCP servers. It provides safe execution environments with features like data redaction, anti-loop protection, and unified alert dispatching.
- FlicenseNot gradedqualityBmaintenanceRuntime agent firewall for PII redaction, rate limits, and policy enforcement, enabling autonomous agent security via MCP integration.
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enforces runtime governance on AI agent actions — file access, command execution, delegation chains, and permission escalation.MIT

evav-gatewayofficial
AlicenseNot gradedqualityBmaintenanceGoverned MCP gateway that lets AI agents call tools with policy enforcement, prompt-injection screening, a kill-switch, and tamper-evident signed audit logs.Apache 2.0
Related MCP Connectors
Security firewall for AI agents — scans MCP calls for injection, secrets, and risks.
MCP-native Trust Infrastructure for AI Agents. Persistent encrypted memory with Trust Quotient.
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nidhish28guhan-netizen/hachiman-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server