
MCP 서버용 보안 스캐너. 인증, 권한, 인젝션 위험 및 도구 안전성을 평가합니다. 에이전트 보안의 등대.
에이전트 보안의 등대
모든 MCP 서버를 스캔하고 보안 성적표를 받으세요.
MCP 서버가 AI 에이전트에 도구를 노출합니다. 얼마나 안전할까요?
대부분의 MCP 서버는 인증, 도구별 권한, 입력 검증, 프롬프트 인젝션에 취약한 도구 설명 없이 제공됩니다. 하지만 아직 모르고 있을 뿐입니다.
AgentsID Scanner가 알려드립니다.
npx @agentsid/scanner -- npx @some/mcp-server
끝입니다. 등급과 상세한 결과를 받아보세요.
| 범주 | 검사 항목 | 중요성 |
|---|---|---|
| 인젝션 | 11가지 프롬프트 인젝션 패턴에 대한 도구 설명 | 악의적인 도구 설명이 에이전트 동작을 탈취할 수 있음 |
| 권한 | 위험도별 도구 이름 분류 (파괴적, 실행, 금융, 자격 증명) | 접근 제어 없는 50개 도구는 50개의 공격 표면 |
| 검증 | 제약 조건 누락, 무제한 문자열, 선택적 매개변수만 있는 입력 스키마 | 검증 없음 = 도구 핸들러에 임의 입력 가능 |
| 인증 | 도구 표면의 인증 표시 | 인증 없는 도구 = 인증되지 않은 에이전트가 도구 호출 |
| 비밀 | 출력에 자격 증명을 노출할 수 있는 도구 | 응답에 유출된 API 키, 토큰, 비밀번호 |
| 출력 | 필터링되지 않은 파일/데이터 출력 | 민감한 파일 내용이 수정 없이 반환됨 |
╔══════════════════════════════════════════════════════════════╗
║ AgentsID Security Scanner — 보고서 ║
╚══════════════════════════════════════════════════════════════╝
서버: my-mcp-server v1.0.0
도구: 23
스캔 일시: 2026-03-29T12:00:00.000Z
전체 등급: D (42/100)
범주별 등급:
injection A
permissions F
validation D
auth F
output B
도구 위험 프로필:
destructive ████ 4
execution ██ 2
credential_access █ 1
발견: 31
CRITICAL: 2
HIGH: 8
MEDIUM: 15
LOW: 6
권장 사항:
1. CRITICAL 및 HIGH 발견 사항을 즉시 해결하세요
2. 도구별 권한 제어 추가 (agentsid.dev/docs)
3. 모든 도구 매개변수에 입력 검증 구현
4. 서버 엔드포인트에 인증 추가
# npx로 설치 가능한 MCP 서버 스캔
agentsid-scan -- npx @modelcontextprotocol/server-filesystem ./
# 로컬 서버 파일 스캔
agentsid-scan -- node my-server.mjs
# Python MCP 서버 스캔
agentsid-scan -- python -m my_mcp_server
agentsid-scan --url https://mcp.example.com/mcp
agentsid-scan --json -- npx @some/mcp-server > report.json
agentsid-scan --env API_KEY=xxx --env DB_URL=postgres://... -- node server.mjs
100점에서 시작. 발견 사항별 차감:
MEDIUM 및 LOW 발견은 도구 개수로 정규화되어, 도구당 문제(예: 모든 입력에 maxLength 누락)가 서버 크기에 따라 선형적으로 누적되지 않습니다. 50개 도구 서버에 50개의 LOW가 있는 경우 5개 도구 서버에 5개의 LOW가 있는 경우와 동일한 점수를 받습니다. CRITICAL과 HIGH는 절대값을 유지합니다 — 실제 취약점은 서버 크기와 관계없이 피해가 큽니다.
스캐너는 도구 설명에서 11가지 프롬프트 인젝션 패턴을 확인합니다:
모든 도구는 이름 패턴에 따라 분류됩니다:
스캐너가 무엇이 잘못되었는지 알려줍니다. 해결 방법은 다음과 같습니다:
npm install @agentsid/guard
AgentsID Guard는 실행 전에 모든 도구 호출을 권한 규칙에 대해 검증합니다. 50개 도구, 16개 범주, 모두 보호됩니다.
npm install @agentsid/sdk
MCP 서버에 미들웨어 세 줄만 추가하면 됩니다. 전체 문서는 agentsid.dev/docs에서 확인하세요.
import { scanStdio, scanHttp, scanToolDefinitions } from "@agentsid/scanner";
// 로컬 서버 스캔
const report = await scanStdio("npx @some/server", { json: true });
// 원격 서버 스캔
const report = await scanHttp("https://mcp.example.com", { json: true });
// 도구 정의 직접 스캔 (서버 불필요)
const report = scanToolDefinitions(myToolArray, { json: true });
저희가 탐지하지 못하는 패턴을 발견하셨나요? 이슈 또는 PR을 열어주세요. 규칙 엔진은 src/rules.mjs에 있습니다 — 새 패턴 추가는 정규식 하나면 됩니다.
15,982개 서버 모두 점수화 및 검색 가능: agentsid.dev/registry
MIT
| 심각도 | 차감 | 정규화 | 상한 |
|---|
| CRITICAL | 각 -25 | 절대 — 항상 전액 적용 | 상한 없음 |
| HIGH | 각 -15 | 절대 — 항상 전액 적용 | 최대 -45 |
| MEDIUM | 각 -8 | √(도구 개수)로 나눔 | 최대 -25 |
| LOW | 각 -3 | √(도구 개수)로 나눔 | 최대 -15 |
| INFO | 0 | — | — |
| 등급 | 점수 | 의미 |
|---|
| A | 90-100 | 우수한 보안 태세 |
| B | 75-89 | 양호 — 사소한 문제 |
| C | 60-74 | 수용 가능 — 개선 필요 |
| D | 40-59 | 취약 — 상당한 위험 |
| F | 0-39 | 불합격 — 치명적 취약점 |
| 위험 수준 | 패턴 | 도구 예시 |
|---|
| 치명적 | execute, shell, admin, sudo, payment | shell_run, admin_reset, process_payment |
| 높음 | delete, remove, drop, deploy, credential | delete_user, deploy_prod, get_api_key |
| 중간 | create, update, send, write | create_issue, send_email, write_file |
| 정보 | read, get, list, search, describe | get_status, list_users, search_docs |