How ishamishra0408/noleakmcp works
No-Leak-MCP protects an agent’s message-ingest and tool-egress boundaries, then records security events for live monitoring. Its public arena demonstrates attacks and can investigate where an exposed credential may lead. The durable collector and Convex projection support event processing and real-time viewing. The graph follows README-described behavior and the supplied source excerpts; some arena, bridge, dashboard, and runtime wiring is documented but not shown in sampled source, so uncertain call links are omitted.
Main entry points: ingest.ts Convex projection · worker.mjs Detection worker · investigate.mjs Exposure investigation · index.js Injection scorer
Components 16
Agent controls
- Injection scorer
plugins/injection-scorer/index.js - Canary guard
plugins/mcp-guard/index.js - Chain invariant
plugins/chain-invariant/index.js
Arena investigation
- Public arena
render/arena/server.mjs - Exposure investigation
render/arena/investigate.mjs
Event pipeline
- Durable collector
render/collector/server.mjs - Detection worker
render/worker/worker.mjs - Log bridge
realtime/bridge/tail-to-convex.mjs
Live monitoring
- Convex projection
realtime/convex/ingest.ts - Live dashboard
realtime/dashboard/index.html
Other components
- Agent operator
- dsh harness
- Slack content
- Nebius inference
- Linkup search
- Dashboard viewer
Connections 15
- Slack content → dsh harness: supplies messages
- dsh harness → Injection scorer: scores ingested content
- Injection scorer → Nebius inference: requests scoring
- dsh harness → Canary guard: checks tool calls
- dsh harness → Chain invariant: tracks read-to-egress
- Agent operator → Public arena: runs demonstration
- Public arena → Exposure investigation: starts investigation
- Exposure investigation → Linkup search: searches destinations
- Exposure investigation → Convex projection: stores findings
- Detection worker → Durable collector: reads events
- Detection worker → Durable collector: updates checkpoint
- Detection worker → Convex projection: ingests events
- Log bridge → Convex projection: ingests harness logs
- Dashboard viewer → Live dashboard: opens feed
- Live dashboard → Convex projection: subscribes to projection