Project Sentinel
БесплатноНе проверенnpm audit for AI agents — scan, certify, and enforce trust for MCP servers. Security scanner, trust certificates, YAML-configured gateway.
Описание
npm audit for AI agents — scan, certify, and enforce trust for MCP servers. Security scanner, trust certificates, YAML-configured gateway.
README
Trust scores and signed certificates for MCP servers.
Every MCP server gets a trust score (0–100), a signed trust certificate, and a gateway that won't route traffic unless the certificate passes. Like SSL certificates created trust on the web — Sentinel creates trust for AI agent packages.
npx @sentinel-atl/scanner scan @modelcontextprotocol/server-filesystem
�️ Trust Score: 82/100 (Grade: B)
Dependencies: ✅ No known vulnerabilities
Code Patterns: ⚠️ 1 high (child_process usage)
AST Analysis: ✅ No obfuscation detected
Permissions: ✅ filesystem, network
Publisher: ✅ Verified on npm (2 years, 50K downloads/week)
Poisoning: ✅ No injection in tool descriptions
Shadowing: ✅ No tool name conflicts
Toxic Flows: ✅ No dangerous data paths
npm Tests License TypeScript Python
How it works: scan → certify → enforce
1. Scan — one command, 11 layers of analysis:
| Layer | What it catches |
|---|---|
| Dependencies | Known CVEs via npm audit |
| Code patterns | eval(), child_process, dynamic require(), fs writes |
| AST analysis | Deep structural detection — catches aliased imports, computed access, obfuscation that regex misses |
| Permissions | Filesystem, network, shell access — flagged by risk level |
| Publisher identity | npm account age, weekly downloads, provenance signatures |
| Typosquatting | Name similarity to popular packages (Levenshtein + homoglyphs + scope confusion) |
| Tool poisoning | Hidden Unicode, prompt injection in tool descriptions, exfiltration instructions |
| Tool shadowing | Tools that mimic built-in names to intercept legitimate calls |
| Toxic flows | Cross-tool data paths: secrets→network, files→execute, db→webhook |
| Semantic analysis | Optional LLM-based code review for subtle issues |
| Trust score | Weighted composite: 0–100, grade A–F |
Auto-discover — scan every MCP server on your machine in one shot:
npx @sentinel-atl/cli discover --scan
🔍 Found 5 MCP server(s) across 3 configs
🟤 Claude Desktop (2)
filesystem: npx -y @modelcontextprotocol/server-filesystem /Users/me/Desktop
github: npx -y @modelcontextprotocol/server-github
🔵 Cursor (2)
postgres: npx -y @modelcontextprotocol/server-postgres
brave-search: npx -y @modelcontextprotocol/server-brave-search
🟣 VS Code (1)
everything: npx -y @modelcontextprotocol/server-everything
🛡️ Probing discovered servers...
✓ filesystem: 11 tools, no issues
⚠ postgres: 3 tool(s) with toxic data flows (query → send_webhook)
2. Certify — sign the scan results into a portable, Ed25519-signed trust certificate:
import { scan, issueSTC } from '@sentinel-atl/scanner';
const report = await scan({ packageName: 'some-mcp-server' });
const stc = await issueSTC({ issuer, subject, findings: report.findings });
// STC = Sentinel Trust Certificate — signed, verifiable, publishable
Publish certificates to a trust registry. Add badges to your README:

3. Enforce — the gateway only routes to certified, high-score servers:
# sentinel.yaml
gateway:
mode: strict
minTrustScore: 70
servers:
- name: filesystem
upstream: stdio://node ./fs-server.js
trust:
requireCertificate: true
maxFindingsCritical: 0
blockedTools: [delete_file]
npx sentinel-gateway --config sentinel.yaml
No certificate? Gateway rejects it. Score below threshold? Rejected. Critical findings? Rejected. This isn't scanning and hoping — it's enforcement.
Under the hood: agent identity layer
The scanner and gateway are the entry point. Underneath, Sentinel has a full cryptographic identity system for AI agents — for when you need to go beyond scanning:
Cryptographic identity & credentials
Every agent gets a DID (did:key, Ed25519), W3C Verifiable Credentials with scoped permissions, and a signed Proof of Intent that traces every action back to the human who authorized it.
import { createTrustedAgent } from '@sentinel-atl/sdk';
const agent = await createTrustedAgent({
name: 'my-agent',
capabilities: ['search', 'book'],
enableSafety: true,
});
console.log(agent.did); // did:key:z6Mk...
Zero-trust handshake
Two agents that have never met can mutually verify in 5 cryptographic steps — no central authority needed:
1️⃣ Alice → Init (nonce + DID + passport)
2️⃣ Bob → Response (nonce + DID)
3️⃣ Alice → VC Exchange → Bob verifies: ✅
4️⃣ Bob → VC Exchange → Alice verifies: ✅
🔐 Session established.
npx create-sentinel-app demo --template two-agent-handshake
Proof of Intent
Every action carries a signed envelope tying it to a human authorization through the full delegation chain. Scope can only narrow, never widen:
Human → credential (scope: travel:search, travel:book)
└─→ Agent A → delegates to Agent B (scope narrows: travel:search only)
└─→ Agent B → calls search_flights()
└─→ Intent Envelope: signed chain proves Human → A → B, scope ✅
Emergency kill switch
Revoke a compromised agent + cascade to all its delegates in <5 seconds:
await revMgr.killSwitch(principalKey, keyId, principalDid, compromisedDid, 'breach', { cascade: true });
Content safety
Blocks prompt injection, jailbreak attempts, and PII leaks — on both inputs and outputs:
const check = await agent.checkSafety('Ignore previous instructions...');
// { safe: false, blocked: true, violations: [{ category: 'prompt_injection' }] }
Packages
Scanning & enforcement (start here):
| Package | Purpose |
|---|---|
| @sentinel-atl/scanner | 11-layer MCP security scanner: code, deps, AST, permissions, poisoning, shadowing, toxic flows |
| @sentinel-atl/trust-gateway | YAML-configured trust enforcement gateway |
| @sentinel-atl/registry | Trust certificate registry API + SVG badges |
| @sentinel-atl/crawler | MCP server discovery across Glama, npm, PyPI |
| @sentinel-atl/pipeline | Large-scale scanning workers |
Identity & credentials (deeper integration)
| Package | Purpose |
|---|---|
| @sentinel-atl/core | DID identity, W3C Verifiable Credentials, Proof of Intent, Ed25519 crypto |
| @sentinel-atl/sdk | High-level SDK — 5-line integration |
| @sentinel-atl/handshake | Zero-trust mutual agent verification (5-step protocol) |
| @sentinel-atl/attestation | Code attestation — cryptographic bind of DID → code hash |
| @sentinel-atl/reputation | Weighted scoring, Sybil resistance, time decay, quarantine |
| @sentinel-atl/revocation | VC/DID revocation, key rotation, emergency kill switch |
| @sentinel-atl/safety | Content safety — prompt injection, jailbreak, PII detection |
| @sentinel-atl/audit | Tamper-evident hash-chain audit log |
Gateways & MCP integration
| Package | Purpose |
|---|---|
| @sentinel-atl/gateway | Full MCP security gateway with policies & rate limiting |
| @sentinel-atl/mcp-plugin | Drop-in MCP middleware (10-step verification) |
| @sentinel-atl/mcp-proxy | Transport-level proxy (stdio/SSE) |
| @sentinel-atl/adapters | LangChain.js, CrewAI, AutoGen, Vercel AI SDK, MCP SDK |
Production & operations
| Package | Purpose |
|---|---|
| @sentinel-atl/hardening | Auth, CORS, TLS, rate limiting, security headers |
| @sentinel-atl/store | Redis, PostgreSQL, SQLite, in-memory persistence |
| @sentinel-atl/telemetry | OpenTelemetry traces, metrics, spans |
| @sentinel-atl/budget | Token/cost control, circuit breakers |
| @sentinel-atl/approval | Human approval workflows (Slack, Webhook, Web UI) |
| @sentinel-atl/stepup | Step-up auth — re-prompt humans for sensitive actions |
| @sentinel-atl/offline | Cached trust decisions, CRDT merge, degraded mode |
| @sentinel-atl/recovery | Shamir's Secret Sharing (3-of-5 key backup) |
| @sentinel-atl/hsm | HSM backends (AWS CloudHSM, Azure Managed HSM, PKCS#11) |
| @sentinel-atl/server | HTTP REST API server (STP-compliant) |
| @sentinel-atl/conformance | STP protocol conformance test suite |
Tools & SDKs
| Package | Purpose |
|---|---|
| @sentinel-atl/cli | Command-line tool |
| @sentinel-atl/dashboard | Web trust visualization dashboard |
| create-sentinel-app | Project scaffolder |
| sentinel-atl | Full Python SDK |
Install
# Scanner (zero config, works immediately)
npx @sentinel-atl/scanner scan <package-name>
# Full SDK
npm install @sentinel-atl/scanner @sentinel-atl/trust-gateway # scanning + enforcement
npm install @sentinel-atl/core @sentinel-atl/sdk # identity layer
pip install sentinel-atl # Python
Production deployment
docker compose up -d # Server + MCP Proxy + Approval UI + Redis
See the Operations Guide for scaling, monitoring, and hardening details.
Open protocol
Sentinel implements the Sentinel Trust Protocol (STP) v1.0 — an open specification, not a product. Test any implementation:
STP_SERVER_URL=http://localhost:3000 npx @sentinel-atl/conformance
Contributing
git clone https://github.com/sentinel-atl/project-sentinel.git
cd project-sentinel && npm install && npm run build && npm test
# 592 tests across 33 packages
See CONTRIBUTING.md.
License
Установка Project Sentinel
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/sentinel-atl/project-sentinelFAQ
Project Sentinel MCP бесплатный?
Да, Project Sentinel MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Project Sentinel?
Нет, Project Sentinel работает без API-ключей и переменных окружения.
Project Sentinel — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Project Sentinel в Claude Desktop, Claude Code или Cursor?
Открой Project Sentinel на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Project Sentinel with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
