mcp-sentinel 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -40
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
</p>
|
|
13
13
|
</p>
|
|
14
14
|
|
|
15
|
-
>
|
|
15
|
+
> Part of the [Aguara](https://github.com/garagon/aguara) security ecosystem by [Oktsec](https://github.com/oktsec)
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
@@ -24,20 +24,6 @@ You add an MCP server to Claude Desktop, Cursor, or your agent framework. Now th
|
|
|
24
24
|
|
|
25
25
|
MCP Sentinel connects to any MCP server, shows you every tool it exposes, assigns a risk score, and lets you define security policies that block dangerous ones automatically.
|
|
26
26
|
|
|
27
|
-
### Features
|
|
28
|
-
|
|
29
|
-
- **Risk Scoring** -- A-F grade for every server based on tool risk, security findings, and attack surface
|
|
30
|
-
- **Policy Engine** -- YAML-based deny/require/allow rules with glob patterns and auto-detection
|
|
31
|
-
- **Deep Security Analysis** -- Per-tool scanning with [Aguara](https://github.com/garagon/aguara) (177 rules: prompt injection, exfiltration, credential leaks)
|
|
32
|
-
- **Smart Categorization** -- Analyzes tool names, descriptions, and parameters; auto-escalates when critical findings are detected
|
|
33
|
-
- **Multi-Transport** -- stdio, SSE, and Streamable HTTP with custom header support
|
|
34
|
-
- **Config Discovery** -- Auto-scan servers from Claude Desktop, Cursor, Windsurf, VS Code, Zed
|
|
35
|
-
- **CI/CD Ready** -- SARIF output for GitHub Code Scanning, exit codes for policy violations
|
|
36
|
-
- **Drift Detection** -- Save baselines and detect added/removed/changed tools over time
|
|
37
|
-
- **Multiple Exports** -- Terminal, JSON, Markdown, SARIF
|
|
38
|
-
- **Unicode Evasion Defense** -- NFKC normalization prevents homoglyph and fullwidth character bypasses
|
|
39
|
-
- **Hardened Inputs** -- Path traversal prevention, header injection blocking, ReDoS-safe policy patterns
|
|
40
|
-
|
|
41
27
|
## Quick Start
|
|
42
28
|
|
|
43
29
|
```bash
|
|
@@ -49,7 +35,7 @@ That's it. You'll see every tool the server exposes, categorized by risk:
|
|
|
49
35
|
|
|
50
36
|
```
|
|
51
37
|
┌──────────────────────────────┐
|
|
52
|
-
│ MCP Sentinel v0.2.
|
|
38
|
+
│ MCP Sentinel v0.2.3 │
|
|
53
39
|
└──────────────────────────────┘
|
|
54
40
|
|
|
55
41
|
Server secure-filesystem-server v0.2.0
|
|
@@ -87,6 +73,42 @@ That's it. You'll see every tool the server exposes, categorized by risk:
|
|
|
87
73
|
Scanned in 1706ms · Deep scan: https://aguarascan.com
|
|
88
74
|
```
|
|
89
75
|
|
|
76
|
+
## Features
|
|
77
|
+
|
|
78
|
+
- **Risk Scoring** -- A-F grade for every server based on tool risk, security findings, and attack surface
|
|
79
|
+
- **Policy Engine** -- YAML-based deny/require/allow rules with glob patterns and auto-detection
|
|
80
|
+
- **Deep Security Analysis** -- Per-tool scanning with [Aguara](https://github.com/garagon/aguara) (177 rules: prompt injection, exfiltration, credential leaks)
|
|
81
|
+
- **Smart Categorization** -- Analyzes tool names, descriptions, and parameters; auto-escalates when critical findings are detected
|
|
82
|
+
- **Multi-Transport** -- stdio, SSE, and Streamable HTTP with custom header support
|
|
83
|
+
- **Config Discovery** -- Auto-scan servers from Claude Desktop, Cursor, Windsurf, VS Code, Zed
|
|
84
|
+
- **CI/CD Ready** -- SARIF output for GitHub Code Scanning, exit codes for policy violations
|
|
85
|
+
- **Drift Detection** -- Save baselines and detect added/removed/changed tools over time
|
|
86
|
+
- **Multiple Exports** -- Terminal, JSON, Markdown, SARIF
|
|
87
|
+
- **Unicode Evasion Defense** -- NFKC normalization prevents homoglyph and fullwidth character bypasses
|
|
88
|
+
- **Hardened Inputs** -- Path traversal prevention, header injection blocking, ReDoS-safe policy patterns
|
|
89
|
+
|
|
90
|
+
## Deep Security Analysis with Aguara
|
|
91
|
+
|
|
92
|
+
MCP Sentinel handles runtime introspection: connecting to servers, listing tools, categorizing risk, and enforcing policies. For deep security analysis, it integrates with [Aguara](https://github.com/garagon/aguara) -- an open source security scanner with 177 rules that detects prompt injection, data exfiltration, credential leaks, and more.
|
|
93
|
+
|
|
94
|
+
When Aguara is installed, MCP Sentinel automatically:
|
|
95
|
+
- Scans each tool individually and attributes findings to specific tools
|
|
96
|
+
- Escalates tool categories based on findings (a "read" tool with a critical injection finding becomes "admin")
|
|
97
|
+
- Reports severity, category, description, and remediation for each finding
|
|
98
|
+
- Factors findings into the risk score
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
# Install Aguara (optional, recommended)
|
|
102
|
+
curl -fsSL https://raw.githubusercontent.com/garagon/aguara/main/install.sh | bash
|
|
103
|
+
|
|
104
|
+
# MCP Sentinel auto-detects it -- just scan as usual
|
|
105
|
+
npx mcp-sentinel npx @modelcontextprotocol/server-filesystem /tmp
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Add `require.aguara: clean` to your policy to enforce zero findings in CI.
|
|
109
|
+
|
|
110
|
+
Without Aguara, MCP Sentinel still provides tool categorization, risk scoring, and policy enforcement based on built-in heuristics. With Aguara, you get full coverage of OWASP LLM Top 10 attack vectors.
|
|
111
|
+
|
|
90
112
|
## Risk Score
|
|
91
113
|
|
|
92
114
|
Every server gets an **A-F grade** (0-100 scale) based on three factors:
|
|
@@ -243,23 +265,6 @@ Pick one from [`examples/policies/`](examples/policies/) and customize:
|
|
|
243
265
|
| [`strict.yml`](examples/policies/strict.yml) | Production -- blocks admin + write, requires security scan |
|
|
244
266
|
| [`ci-pipeline.yml`](examples/policies/ci-pipeline.yml) | CI/CD -- blocks admin + deploy + push |
|
|
245
267
|
|
|
246
|
-
## Deep Security Analysis with Aguara
|
|
247
|
-
|
|
248
|
-
MCP Sentinel integrates with [Aguara](https://github.com/garagon/aguara), a security scanner with 177 rules that detects prompt injection, data exfiltration, credential leaks, and more.
|
|
249
|
-
|
|
250
|
-
When Aguara is installed, MCP Sentinel:
|
|
251
|
-
- Scans each tool individually and attributes findings to specific tools
|
|
252
|
-
- Escalates tool categories based on findings (a "read" tool with a critical injection finding becomes "admin")
|
|
253
|
-
- Reports severity, category, description, and remediation for each finding
|
|
254
|
-
- Factors findings into the risk score
|
|
255
|
-
|
|
256
|
-
```bash
|
|
257
|
-
# Install Aguara (optional)
|
|
258
|
-
curl -fsSL https://raw.githubusercontent.com/garagon/aguara/main/install.sh | bash
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
Once installed, MCP Sentinel auto-detects it. Add `require.aguara: clean` to your policy to enforce zero findings.
|
|
262
|
-
|
|
263
268
|
## All Options
|
|
264
269
|
|
|
265
270
|
| Flag | Description |
|
|
@@ -300,16 +305,24 @@ Once installed, MCP Sentinel auto-detects it. Add `require.aguara: clean` to you
|
|
|
300
305
|
(deny / require / allow)
|
|
301
306
|
```
|
|
302
307
|
|
|
303
|
-
## Ecosystem
|
|
308
|
+
## The Aguara Ecosystem
|
|
304
309
|
|
|
305
|
-
MCP Sentinel is part of the [Aguara](https://github.com/garagon/aguara) security ecosystem
|
|
310
|
+
MCP Sentinel is built by [Oktsec](https://github.com/oktsec) as part of the [Aguara](https://github.com/garagon/aguara) security ecosystem -- a suite of open source tools designed to secure MCP servers and AI agent infrastructure.
|
|
306
311
|
|
|
307
312
|
| Tool | What it does |
|
|
308
313
|
|------|-------------|
|
|
309
|
-
| **[Aguara](https://github.com/garagon/aguara)** | Security scanner -- 177 rules,
|
|
310
|
-
| **[MCP
|
|
311
|
-
| **MCP
|
|
312
|
-
| **[Aguara Watch](https://aguarascan.com)** | Cloud platform -- continuous monitoring of MCP registries |
|
|
314
|
+
| **[Aguara](https://github.com/garagon/aguara)** | Security scanner -- 177 rules for prompt injection, exfiltration, credential leaks, supply chain attacks. The detection engine behind the ecosystem. |
|
|
315
|
+
| **[MCP Sentinel](https://github.com/oktsec/mcp-sentinel)** | Runtime audit -- connect to live MCP servers, score risk, enforce policies, detect drift. Uses Aguara for deep analysis. |
|
|
316
|
+
| **[MCP Aguara](https://github.com/garagon/mcp-aguara)** | MCP server -- gives AI agents security scanning as a tool. Wrap Aguara's 177 rules as an MCP tool your agent can call. |
|
|
317
|
+
| **[Aguara Watch](https://aguarascan.com)** | Cloud platform -- continuous monitoring and security scanning of MCP servers across public registries. |
|
|
318
|
+
|
|
319
|
+
### How they fit together
|
|
320
|
+
|
|
321
|
+
- **Developing an MCP server?** Use `aguara` to scan your tool descriptions for security issues during development.
|
|
322
|
+
- **Deploying MCP servers?** Use `mcp-sentinel` with a policy file in CI to gate deployments.
|
|
323
|
+
- **Running AI agents?** Use `mcp-sentinel --config` to audit all servers your agent can access.
|
|
324
|
+
- **Building AI agents?** Add `mcp-aguara` so your agent can self-audit the servers it connects to.
|
|
325
|
+
- **Managing a fleet?** Use [Aguara Watch](https://aguarascan.com) for continuous monitoring across your organization.
|
|
313
326
|
|
|
314
327
|
## Contributing
|
|
315
328
|
|
|
@@ -317,4 +330,4 @@ Contributions welcome. Please open an issue first to discuss what you'd like to
|
|
|
317
330
|
|
|
318
331
|
## License
|
|
319
332
|
|
|
320
|
-
[Apache 2.0](LICENSE) --
|
|
333
|
+
[Apache 2.0](LICENSE) -- [Oktsec](https://github.com/oktsec) / Gustavo Aragon
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.2.
|
|
1
|
+
export declare const VERSION = "0.2.3";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = "0.2.
|
|
1
|
+
export const VERSION = "0.2.3";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-sentinel",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "Scan, score, and enforce security policies on MCP servers. Risk scoring (A-F), SARIF output, policy engine, drift detection, aguara integration, CI/CD gate.",
|
|
5
5
|
"author": "Gustavo Aragon (@oktsec)",
|
|
6
6
|
"license": "Apache-2.0",
|