Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Project Sentinel

БесплатноНе проверен

npm audit for AI agents — scan, certify, and enforce trust for MCP servers. Security scanner, trust certificates, YAML-configured gateway.

GitHubEmbed

Описание

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:

![Trust Score](http://registry.example.com/api/v1/packages/my-server/badge)

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

Apache License 2.0

from github.com/sentinel-atl/project-sentinel

Установка Project Sentinel

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/sentinel-atl/project-sentinel

FAQ

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

Compare Project Sentinel with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development