MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

S
Security Scanner MCP

MCP server by ongjin

Created 12/25/2025
Updated about 8 hours ago
Repository documentation and setup instructions

🔒 Security Scanner MCP

AI가 생성한 코드의 보안 취약점을 자동으로 검출하는 MCP 서버입니다.

npm version npm downloads OWASP License Node

왜 필요한가요?

AI가 생성한 코드에는 보안 취약점이 322% 더 많다는 연구 결과가 있습니다. 이 MCP는 코드를 커밋하기 전에 자동으로 보안 검사를 수행합니다.

기능

| Tool | 설명 | |------|------| | scan-security | 종합 보안 스캔 (모든 검사를 한번에) | | scan-secrets | 하드코딩된 API 키, 비밀번호, 토큰 검출 | | scan-injection | SQL Injection, Command Injection 취약점 검사 | | scan-xss | Cross-Site Scripting 취약점 검사 | | scan-crypto | 암호화 취약점 (약한 해시, 안전하지 않은 랜덤 등) | | scan-auth | 인증/세션 취약점 (JWT, 쿠키, CORS 등) | | scan-path | 파일/경로 취약점 (Path Traversal, 업로드 등) | | scan-dependencies | package.json 등에서 취약한 의존성 검사 |

설치

npm에서 설치 (권장)

npm install -g security-scanner-mcp

또는 소스에서 빌드

git clone https://github.com/zerry/security-scanner-mcp.git
cd security-scanner-mcp
npm install && npm run build

Claude Code에 등록

# npm 전역 설치 후
claude mcp add security-scanner -- security-scanner-mcp

# 또는 소스에서 빌드한 경우
claude mcp add security-scanner -- node /path/to/security-scanner-mcp/dist/index.js

빠른 설정 (권장)

매번 도구 사용 허가를 묻는 것이 번거롭다면, 자동 허용 설정을 추가하세요:

# scan-security 하나만 허용 (종합 검사)
claude config add allowedTools "mcp__security-scanner__scan-security"

# 또는 모든 도구 허용
claude config add allowedTools "mcp__security-scanner__*"

💡 Tip: 대부분의 경우 scan-security 하나면 충분합니다. 이 도구가 모든 보안 검사를 한번에 수행합니다.

사용 예시

Claude Code에서:

나: 이 코드 보안 검사해줘

const apiKey = "AIzaSyC1234567890abcdef";
const query = `SELECT * FROM users WHERE id = ${userId}`;
element.innerHTML = userInput;

Claude: [scan-security 호출]

## ⚠️ 보안 취약점 발견!

### 🔴 Critical (1개)
- **Google API Key** (라인 1)
  - Google API Key가 코드에 하드코딩되어 있습니다
  - 💡 해결책: 환경변수로 관리하고, API 키 제한 설정하기

### 🟠 High (2개)
- **Template Literal SQL** (라인 2)
  - 템플릿 리터럴로 SQL 쿼리에 변수를 삽입하고 있습니다
  - 💡 해결책: Prepared Statement를 사용하세요

- **innerHTML Assignment** (라인 3)
  - innerHTML에 동적 값을 할당하고 있습니다
  - 💡 해결책: textContent를 사용하거나 DOMPurify로 sanitize하세요

검출하는 취약점

🔑 하드코딩된 시크릿

  • AWS Access Key / Secret Key
  • Google API Key / OAuth Secret
  • GitHub Token / Slack Token
  • Database Connection String
  • Private Key (RSA, EC 등)
  • JWT Token
  • Kakao / Naver API Key

💉 Injection

  • SQL Injection (문자열 연결, 템플릿 리터럴)
  • NoSQL Injection (MongoDB)
  • Command Injection (exec, spawn)

🌐 XSS

  • dangerouslySetInnerHTML (React)
  • innerHTML / outerHTML
  • jQuery .html() / Vue v-html
  • eval() / new Function()

🔐 암호화

  • 약한 해시 (MD5, SHA1)
  • 안전하지 않은 랜덤 (Math.random)
  • 하드코딩된 암호화 키/IV
  • SSL 인증서 검증 비활성화

🔒 인증/세션

  • JWT 설정 오류 (none 알고리즘, 만료 없음)
  • 안전하지 않은 쿠키 설정
  • CORS 와일드카드
  • 약한 비밀번호 정책

📁 파일/경로

  • Path Traversal
  • 위험한 파일 삭제
  • 안전하지 않은 파일 업로드
  • Zip Slip (Java)
  • Pickle 역직렬화 (Python)

📦 취약한 의존성

  • npm audit 연동
  • Python requirements.txt 검사
  • Go go.mod 검사

지원 언어

  • ✅ JavaScript / TypeScript
  • ✅ Python
  • ✅ Java (Spring Boot 포함!)
  • ✅ Go

데모

# 데모 실행
npm run demo

로드맵

  • [x] OWASP Top 10 기반 검사
  • [x] 다중 언어 지원
  • [ ] 외부 취약점 DB 연동 (NVD, OSV)
  • [ ] 자동 수정 제안 기능
  • [ ] GitHub Actions 연동
  • [ ] VS Code 확장

기여하기

PR 환영합니다! 특히 다음 기여를 기다립니다:

  • 새로운 보안 패턴 추가
  • 다른 언어 지원
  • 문서 개선

라이선스

MIT


Made with ❤️ by zerry

Quick Setup
Installation guide for this server

Install Package (if required)

npx @modelcontextprotocol/server-security-scanner-mcp

Cursor configuration (mcp.json)

{ "mcpServers": { "ongjin-security-scanner-mcp": { "command": "npx", "args": [ "ongjin-security-scanner-mcp" ] } } }