Security Scanner MCP
Automatically detects security vulnerabilities in AI-generated code, scanning for hardcoded secrets, injection flaws, XSS, weak cryptography, authentication issues, path traversal, and vulnerable dependencies across JavaScript, Python, Java, and Go.
README
🔒 Security Scanner MCP
AI가 생성한 코드의 보안 취약점을 자동으로 검출하는 MCP 서버입니다.
왜 필요한가요?
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
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。