Skip to main content
Glama
ongjin

Security Scanner MCP

πŸ”’ Security Scanner MCP

AIκ°€ μƒμ„±ν•œ μ½”λ“œμ˜ λ³΄μ•ˆ 취약점을 μžλ™μœΌλ‘œ κ²€μΆœν•˜κ³ , μˆ˜μ •κΉŒμ§€ μ œμ•ˆν•˜λŠ” μ§€λŠ₯ν˜• λ³΄μ•ˆ νŒŒνŠΈλ„ˆ MCP μ„œλ²„μž…λ‹ˆλ‹€.

npm version npm downloads Documentation OWASP License Node

ν•œκ΅­μ–΄ | English | πŸ“š Documentation

Demo

Security Scanner Demo

μ™œ ν•„μš”ν•œκ°€μš”?

AIκ°€ μƒμ„±ν•œ μ½”λ“œμ—λŠ” λ³΄μ•ˆ 취약점이 322% 더 λ§Žλ‹€λŠ” 연ꡬ κ²°κ³Όκ°€ μžˆμŠ΅λ‹ˆλ‹€.

이 MCPλŠ” λ‹¨μˆœ 검사λ₯Ό λ„˜μ–΄μ„œ:

  • πŸ’‘ μžλ™μœΌλ‘œ μˆ˜μ • μ½”λ“œλ₯Ό μ œμ•ˆν•˜κ³ 

  • πŸ—οΈ IaC (Dockerfile, Kubernetes, Terraform)κΉŒμ§€ κ²€μ‚¬ν•˜λ©°

  • πŸ“Š Mermaid λ‹€μ΄μ–΄κ·Έλž¨κ³Ό SARIF 리포트λ₯Ό μƒμ„±ν•˜κ³ 

  • 🐳 Docker μƒŒλ“œλ°•μŠ€μ—μ„œ μ•ˆμ „ν•˜κ²Œ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ½”λ“œλ₯Ό μ»€λ°‹ν•˜κΈ° μ „, ν΄λΌμš°λ“œμ— λ°°ν¬ν•˜κΈ° μ „, ν•œ 번만 κ²€μ‚¬ν•˜λ©΄ λ©λ‹ˆλ‹€.

✨ μ£Όμš” κΈ°λŠ₯

🎯 μ½”λ“œ λ³΄μ•ˆ μŠ€μΊ”

Tool

μ„€λͺ…

scan-security

μ’…ν•© λ³΄μ•ˆ μŠ€μΊ” - λͺ¨λ“  검사λ₯Ό ν•œλ²ˆμ— μˆ˜ν–‰

scan-secrets

ν•˜λ“œμ½”λ”©λœ API ν‚€, λΉ„λ°€λ²ˆν˜Έ, 토큰 κ²€μΆœ

scan-injection

SQL/NoSQL/Command Injection 취약점 검사

scan-xss

Cross-Site Scripting 취약점 검사

scan-crypto

μ•”ν˜Έν™” 취약점 (μ•½ν•œ ν•΄μ‹œ, λΆˆμ•ˆμ „ν•œ 랜덀 λ“±)

scan-auth

인증/μ„Έμ…˜ 취약점 (JWT, μΏ ν‚€, CORS λ“±)

scan-path

파일/경둜 취약점 (Path Traversal, μ—…λ‘œλ“œ λ“±)

scan-dependencies

package.json λ“±μ—μ„œ μ·¨μ•½ν•œ μ˜μ‘΄μ„± 검사

πŸ—οΈ Infrastructure as Code (IaC) μŠ€μΊ”

Tool

μ„€λͺ…

scan-iac

Dockerfile, Kubernetes, Terraform λ³΄μ•ˆ 검사

  • Dockerfile: CIS Docker Benchmark 기반 15개 κ·œμΉ™

  • Kubernetes: Pod Security Standards (PSS) 기반 13개 κ·œμΉ™

  • Terraform: AWS/GCP/Azure λ³΄μ•ˆ μ„€μ • 15개 κ·œμΉ™

πŸ› οΈ μžλ™ μˆ˜μ • & κ³ κΈ‰ κΈ°λŠ₯

Tool

μ„€λͺ…

get-fix-suggestion

취약점에 λŒ€ν•œ μˆ˜μ •λœ μ½”λ“œ μžλ™ 생성

generate-security-report

Mermaid λ‹€μ΄μ–΄κ·Έλž¨ + SARIF + CVE 정보 μ’…ν•© 리포트

scan-in-sandbox

Docker 격리 ν™˜κ²½μ—μ„œ μ•ˆμ „ν•˜κ²Œ μŠ€μΊ” μ‹€ν–‰

μ„€μΉ˜

npmμ—μ„œ μ„€μΉ˜ (ꢌμž₯)

npm install -g security-scanner-mcp

λ˜λŠ” μ†ŒμŠ€μ—μ„œ λΉŒλ“œ

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

Claude Code에 등둝

# npm μ „μ—­ μ„€μΉ˜ ν›„
claude mcp add --scope project security-scanner -- security-scanner-mcp

# λ˜λŠ” μ†ŒμŠ€μ—μ„œ λΉŒλ“œν•œ 경우
claude mcp add --scope project security-scanner -- node /path/to/security-scanner-mcp/dist/index.js

λΉ λ₯Έ μ„€μ • (도ꡬ μžλ™ ν—ˆμš©)

맀번 도ꡬ μ‚¬μš© μŠΉμΈμ„ λˆ„λ₯΄λŠ” 것이 λ²ˆκ±°λ‘­λ‹€λ©΄, μ•„λž˜ λ°©λ²•μœΌλ‘œ μžλ™ ν—ˆμš©μ„ μ„€μ •ν•˜μ„Έμš”.

πŸ–₯️ Claude Desktop App μ‚¬μš©μž

  1. Claude 앱을 μž¬μ‹œμž‘ν•©λ‹ˆλ‹€.

  2. security-scanner 도ꡬλ₯Ό μ‚¬μš©ν•˜λŠ” 첫 번째 μ§ˆλ¬Έμ„ λ˜μ§‘λ‹ˆλ‹€.

  3. μ•Œλ¦Όμ°½μ΄ 뜨면 "Always allow requests from this server" μ²΄ν¬λ°•μŠ€λ₯Ό ν΄λ¦­ν•˜κ³  Allowλ₯Ό λˆ„λ₯΄μ„Έμš”. (μ΄ν›„μ—λŠ” 묻지 μ•Šκ³  μ‹€ν–‰λ©λ‹ˆλ‹€.)

⌨️ Claude Code (CLI) μ‚¬μš©μž

터미널 ν™˜κ²½(claude λͺ…λ Ήμ–΄)을 μ‚¬μš© 쀑이라면 κΆŒν•œ 관리 λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ„Έμš”.

  1. ν„°λ―Έλ„μ—μ„œ claudeλ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

  2. ν”„λ‘¬ν”„νŠΈ μž…λ ₯창에 /permissionsλ₯Ό μž…λ ₯ν•˜κ³  μ—”ν„°λ₯Ό μΉ©λ‹ˆλ‹€.

  3. Global Permissions (λ˜λŠ” Project Permissions) > Allowed Toolsλ₯Ό μ„ νƒν•©λ‹ˆλ‹€.

  4. mcp__security-scanner__scan-security만 μž…λ ₯ν•˜κ±°λ‚˜, λͺ¨λ“  도ꡬλ₯Ό ν—ˆμš©ν•˜λ €λ©΄ mcp__security-scanner__*λ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€.

πŸ’‘ Tip: λŒ€λΆ€λΆ„μ˜ 경우 scan-security ν•˜λ‚˜λ§Œ ν—ˆμš©ν•΄λ„ μΆ©λΆ„ν•©λ‹ˆλ‹€. 이 도ꡬ가 λͺ¨λ“  λ³΄μ•ˆ 검사λ₯Ό ν†΅ν•©ν•΄μ„œ μˆ˜ν–‰ν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

μ‚¬μš© μ˜ˆμ‹œ

πŸ“ κΈ°λ³Έ μ½”λ“œ μŠ€μΊ”

λ‚˜: 이 μ½”λ“œ λ³΄μ•ˆ κ²€μ‚¬ν•΄μ€˜

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ν•˜μ„Έμš”

πŸ› οΈ μžλ™ μˆ˜μ • λ°›κΈ°

λ‚˜: innerHTML 취약점 μˆ˜μ • μ½”λ“œ λ³΄μ—¬μ€˜

Claude: [get-fix-suggestion 호좜]

## βœ… μˆ˜μ •λœ μ½”λ“œ

// ❌ Before (μ·¨μ•½)
element.innerHTML = userInput;

// βœ… After (μ•ˆμ „)
element.textContent = userInput;
// λ˜λŠ” HTML이 ν•„μš”ν•œ 경우:
import DOMPurify from 'dompurify';
element.innerHTML = DOMPurify.sanitize(userInput);

πŸ—οΈ IaC 파일 검사

λ‚˜: Dockerfile λ³΄μ•ˆ κ²€μ‚¬ν•΄μ€˜

Claude: [scan-iac 호좜]

## 🐳 Dockerfile λ³΄μ•ˆ 취약점 발견!

### πŸ”΄ Critical (2개)
- **DOC001**: root μ‚¬μš©μžλ‘œ μ‹€ν–‰
  - πŸ’‘ ν•΄κ²°μ±…: USER λͺ…λ ΉμœΌλ‘œ non-root μ‚¬μš©μž μ„€μ •

- **DOC005**: ν•˜λ“œμ½”λ”©λœ μ‹œν¬λ¦Ώ
  - πŸ’‘ ν•΄κ²°μ±…: ARG와 λΉŒλ“œ μ‹œν¬λ¦Ώ μ‚¬μš©

### 🟠 High (3개)
- **DOC002**: latest νƒœκ·Έ μ‚¬μš©
  - πŸ’‘ ν•΄κ²°μ±…: λͺ…μ‹œμ  버전 νƒœκ·Έ μ‚¬μš© (예: node:20-alpine)
...

πŸ“Š μ’…ν•© 리포트 생성

λ‚˜: 전체 λ³΄μ•ˆ 리포트λ₯Ό Mermaid λ‹€μ΄μ–΄κ·Έλž¨μœΌλ‘œ λ³΄μ—¬μ€˜

Claude: [generate-security-report 호좜]

# πŸ›‘οΈ λ³΄μ•ˆ μŠ€μΊ” λŒ€μ‹œλ³΄λ“œ

## πŸ“Š 전체 μš”μ•½
총 **8개**의 취약점이 λ°œκ²¬λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

## 🎯 심각도별 뢄포
```mermaid
pie title 심각도별 취약점 뢄포
    "πŸ”΄ Critical" : 2
    "🟠 High" : 3
    "🟑 Medium" : 2
    "🟒 Low" : 1
\```

## βš”οΈ κ°€λŠ₯ν•œ 곡격 μ‹œλ‚˜λ¦¬μ˜€
```mermaid
flowchart TD
    Start([곡격자]) --> Recon[μ •μ°°]
    Recon --> Secrets[ν•˜λ“œμ½”λ”©λœ<br/>μ‹œν¬λ¦Ώ 발견]
    Secrets --> Access[인증 우회]
    ...
\```

+ SARIF 리포트 (GitHub Code Scanning ν˜Έν™˜)
+ CVE/OWASP 상세 정보

🐳 μƒŒλ“œλ°•μŠ€μ—μ„œ μ•ˆμ „ν•˜κ²Œ μ‹€ν–‰

λ‚˜: 이 μ½”λ“œλ₯Ό μƒŒλ“œλ°•μŠ€μ—μ„œ μ•ˆμ „ν•˜κ²Œ κ²€μ‚¬ν•΄μ€˜

Claude: [scan-in-sandbox 호좜]

## 🐳 μƒŒλ“œλ°•μŠ€ μŠ€μΊ” κ²°κ³Ό

βœ… **μŠ€μΊ” μ™„λ£Œ**

### πŸ”’ μƒŒλ“œλ°•μŠ€ μ„€μ •
- **λ©”λͺ¨λ¦¬ μ œν•œ**: 512MB
- **CPU μ œν•œ**: 0.5 μ½”μ–΄
- **νƒ€μž„μ•„μ›ƒ**: 30000ms
- **λ„€νŠΈμ›Œν¬**: λΉ„ν™œμ„±ν™”
- **κΆŒν•œ**: μ΅œμ†Œ κΆŒν•œ

κ²€μΆœν•˜λŠ” 취약점

πŸ”‘ ν•˜λ“œμ½”λ”©λœ μ‹œν¬λ¦Ώ

  • 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

  • Stripe / Twilio API Key

πŸ’‰ Injection

  • SQL Injection (λ¬Έμžμ—΄ μ—°κ²°, ν…œν”Œλ¦Ώ λ¦¬ν„°λŸ΄)

  • NoSQL Injection (MongoDB)

  • Command Injection (exec, spawn)

  • LDAP Injection

🌐 XSS

  • dangerouslySetInnerHTML (React)

  • innerHTML / outerHTML

  • jQuery .html() / Vue v-html

  • eval() / new Function()

  • document.write()

πŸ” μ•”ν˜Έν™”

  • μ•½ν•œ ν•΄μ‹œ (MD5, SHA1)

  • μ•ˆμ „ν•˜μ§€ μ•Šμ€ 랜덀 (Math.random)

  • ν•˜λ“œμ½”λ”©λœ μ•”ν˜Έν™” ν‚€/IV

  • SSL μΈμ¦μ„œ 검증 λΉ„ν™œμ„±ν™”

  • μ·¨μ•½ν•œ TLS 버전 (1.0, 1.1)

πŸ”’ 인증/μ„Έμ…˜

  • JWT μ„€μ • 였λ₯˜ (none μ•Œκ³ λ¦¬μ¦˜, 만료 μ—†μŒ)

  • μ•ˆμ „ν•˜μ§€ μ•Šμ€ μΏ ν‚€ μ„€μ •

  • CORS μ™€μΌλ“œμΉ΄λ“œ

  • μ•½ν•œ λΉ„λ°€λ²ˆν˜Έ μ •μ±…

πŸ“ 파일/경둜

  • Path Traversal

  • μœ„ν—˜ν•œ 파일 μ‚­μ œ

  • μ•ˆμ „ν•˜μ§€ μ•Šμ€ 파일 μ—…λ‘œλ“œ

  • Zip Slip (Java)

  • Pickle 역직렬화 (Python)

πŸ—οΈ Infrastructure as Code

Dockerfile (CIS Docker Benchmark):

  • root μ‚¬μš©μžλ‘œ μ‹€ν–‰

  • ν•˜λ“œμ½”λ”©λœ μ‹œν¬λ¦Ώ

  • latest νƒœκ·Έ μ‚¬μš©

  • λΆˆν•„μš”ν•œ 포트 λ…ΈμΆœ

  • ν—¬μŠ€μ²΄ν¬ λˆ„λ½

Kubernetes (Pod Security Standards):

  • Privileged μ»¨ν…Œμ΄λ„ˆ

  • Root μ‹€ν–‰

  • Host λ„€νŠΈμ›Œν¬/PID/IPC μ‚¬μš©

  • μœ„ν—˜ν•œ Capability μΆ”κ°€

  • Resource limit λ―Έμ„€μ •

Terraform (Multi-Cloud):

  • 곡개 IP ν• λ‹Ή

  • μ•”ν˜Έν™” λ―Έμ„€μ •

  • λ°©ν™”λ²½ 전체 μ˜€ν”ˆ (0.0.0.0/0)

  • Public μ ‘κ·Ό κ°€λŠ₯ λ¦¬μ†ŒμŠ€

πŸ“¦ μ·¨μ•½ν•œ μ˜μ‘΄μ„±

  • npm audit 연동

  • Python requirements.txt 검사

  • Go go.mod 검사

지원 μ–Έμ–΄

  • βœ… JavaScript / TypeScript

  • βœ… Python

  • βœ… Java

  • βœ… Go

  • βœ… Dockerfile

  • βœ… Kubernetes YAML

  • βœ… Terraform HCL

🎨 리포트 포맷

  • Markdown: 읽기 μ‰¬μš΄ ν…μŠ€νŠΈ 리포트

  • Mermaid: μ‹œκ°ν™” λ‹€μ΄μ–΄κ·Έλž¨ (Pie, Bar, Flowchart)

  • SARIF: GitHub Code Scanning / VS Code ν˜Έν™˜ 포맷

  • CVE Enrichment: NVD λ°μ΄ν„°λ² μ΄μŠ€ 연동

  • OWASP Mapping: OWASP Top 10:2021 + CWE λ§€ν•‘

🐳 Docker μƒŒλ“œλ°•μŠ€

μ•…μ˜μ μΈ μ½”λ“œλ‘œλΆ€ν„° 호슀트λ₯Ό λ³΄ν˜Έν•˜κΈ° μœ„ν•΄ Docker 격리 ν™˜κ²½μ—μ„œ μŠ€μΊ”μ„ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Docker 이미지 μ€€λΉ„

Docker Hubμ—μ„œ pull (ꢌμž₯)

# 미리 λΉŒλ“œλœ 이미지 λ‹€μš΄λ‘œλ“œ (Trivy, GitLeaks, Checkov 포함)
docker pull ongjin/security-scanner-mcp:latest
docker tag ongjin/security-scanner-mcp:latest security-scanner-mcp:latest

ν¬ν•¨λœ μ™ΈλΆ€ λ³΄μ•ˆ 도ꡬ:

  • Trivy v0.50.4 - μ»¨ν…Œμ΄λ„ˆ/IaC 취약점 μŠ€μΊλ„ˆ

  • GitLeaks v8.18.4 - μ‹œν¬λ¦Ώ 탐지

  • Checkov - Infrastructure as Code λ³΄μ•ˆ μŠ€μΊλ„ˆ

μ†ŒμŠ€μ—μ„œ 직접 λΉŒλ“œ (선택사항)

npm run docker:build

μ°Έκ³ : λΉŒλ“œμ—λŠ” 5-10λΆ„ 정도 μ†Œμš”λ˜λ©°, 이미지 ν¬κΈ°λŠ” μ•½ 500MBμž…λ‹ˆλ‹€.

μƒŒλ“œλ°•μŠ€μ—μ„œ μŠ€μΊ” μ‹€ν–‰

Claude Codeμ—μ„œ:

scan-in-sandbox 호좜

λ³΄μ•ˆ μ„€μ •:

  • λ©”λͺ¨λ¦¬ μ œν•œ: 128MB ~ 2GB

  • CPU μ œν•œ: 0.1 ~ 2.0 μ½”μ–΄

  • νƒ€μž„μ•„μ›ƒ: 5초 ~ 5λΆ„

  • λ„€νŠΈμ›Œν¬: κΈ°λ³Έ λΉ„ν™œμ„±ν™”

  • νŒŒμΌμ‹œμŠ€ν…œ: 읽기 μ „μš©

  • κΆŒν•œ: μ΅œμ†Œ κΆŒν•œ (no-new-privileges, drop all capabilities)

데λͺ¨

# 데λͺ¨ μ‹€ν–‰
npm run demo

μ•„ν‚€ν…μ²˜

src/
β”œβ”€β”€ index.ts                    # MCP μ„œλ²„ (12개 도ꡬ)
β”œβ”€β”€ scanners/                   # μ½”λ“œ μŠ€μΊλ„ˆ (8개)
β”‚   β”œβ”€β”€ secrets.ts
β”‚   β”œβ”€β”€ injection.ts
β”‚   β”œβ”€β”€ xss.ts
β”‚   └── ...
β”œβ”€β”€ iac-scanners/              # IaC μŠ€μΊλ„ˆ (3개)
β”‚   β”œβ”€β”€ dockerfile.ts          # 15개 κ·œμΉ™
β”‚   β”œβ”€β”€ kubernetes.ts          # 13개 κ·œμΉ™
β”‚   └── terraform.ts           # 15개 κ·œμΉ™
β”œβ”€β”€ remediation/               # μžλ™ μˆ˜μ •
β”‚   β”œβ”€β”€ code-fixer.ts          # AST 기반 μ½”λ“œ λ³€ν™˜
β”‚   └── templates/             # μˆ˜μ • ν…œν”Œλ¦Ώ
β”œβ”€β”€ reporting/                 # λ¦¬ν¬νŒ…
β”‚   β”œβ”€β”€ mermaid-generator.ts   # λ‹€μ΄μ–΄κ·Έλž¨ 생성
β”‚   β”œβ”€β”€ sarif-generator.ts     # SARIF 포맷
β”‚   └── markdown-formatter.ts
β”œβ”€β”€ external/                  # μ™ΈλΆ€ API
β”‚   β”œβ”€β”€ cve-lookup.ts          # NVD API 연동
β”‚   └── owasp-database.ts      # OWASP Top 10 DB
└── sandbox/                   # μƒŒλ“œλ°•μŠ€
    └── docker-manager.ts      # Docker μ‹€ν–‰ 관리

πŸ–₯️ CLI λͺ¨λ“œ (CI/CD 톡합)

Claude 없이 λ…λ¦½μ μœΌλ‘œ μ‹€ν–‰ν•  수 μžˆλŠ” CLI λͺ¨λ“œλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. Jenkins, GitHub Actions, GitLab CI λ“± μ–΄λ””μ„œλ“  μ‚¬μš© κ°€λŠ₯ν•©λ‹ˆλ‹€.

κΈ°λ³Έ μ‚¬μš©λ²•

# 파일 μŠ€μΊ”
npx security-scanner-mcp scan ./src/app.js

# 디렉토리 μŠ€μΊ”
npx security-scanner-mcp scan ./src

# κ²°κ³Όλ₯Ό 파일둜 μ €μž₯
npx security-scanner-mcp scan ./src --output report.txt

좜λ ₯ 포맷

# JSON 포맷 (νŒŒμ‹±μš©)
npx security-scanner-mcp scan ./src --format json

# SARIF 포맷 (GitHub Code Scanning ν˜Έν™˜)
npx security-scanner-mcp scan ./src --format sarif --output report.sarif

CI/CD μ˜΅μ…˜

# Critical 취약점 발견 μ‹œ λΉŒλ“œ μ‹€νŒ¨ (exit code 1)
npx security-scanner-mcp scan ./src --fail-on critical

# High 이상 취약점 발견 μ‹œ λΉŒλ“œ μ‹€νŒ¨
npx security-scanner-mcp scan ./src --fail-on high

# νŠΉμ • 파일만 포함
npx security-scanner-mcp scan ./src --include "*.ts,*.js"

# νŠΉμ • 폴더 μ œμ™Έ
npx security-scanner-mcp scan ./src --exclude "node_modules,dist,test"

Jenkins μ˜ˆμ‹œ

pipeline {
    agent any
    stages {
        stage('Security Scan') {
            steps {
                sh 'npx security-scanner-mcp scan ./src --format json --output security-report.json --fail-on high'
            }
        }
    }
    post {
        always {
            archiveArtifacts artifacts: 'security-report.json', fingerprint: true
        }
    }
}

GitHub Actions μ˜ˆμ‹œ

name: Security Scan
on: [push, pull_request]

jobs:
  security:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Run Security Scan
        run: npx security-scanner-mcp scan ./src --format sarif --output results.sarif --fail-on critical

      - name: Upload SARIF to GitHub
        uses: github/codeql-action/upload-sarif@v2
        with:
          sarif_file: results.sarif

GitLab CI μ˜ˆμ‹œ

security_scan:
  stage: test
  script:
    - npx security-scanner-mcp scan ./src --format json --output gl-security-report.json --fail-on high
  artifacts:
    reports:
      security: gl-security-report.json

λ‘œλ“œλ§΅

  • OWASP Top 10 기반 검사

  • 닀쀑 μ–Έμ–΄ 지원 (JS/TS/Python/Java/Go)

  • IaC μŠ€μΊ” (Dockerfile, Kubernetes, Terraform)

  • μžλ™ μˆ˜μ • μ œμ•ˆ κΈ°λŠ₯ (AST 기반)

  • κ³ κΈ‰ λ¦¬ν¬νŒ… (Mermaid, SARIF)

  • μ™ΈλΆ€ 취약점 DB 연동 (NVD, OWASP)

  • Docker μƒŒλ“œλ°•μŠ€ μ‹€ν–‰

  • CLI λͺ¨λ“œ (CI/CD νŒŒμ΄ν”„λΌμΈ 톡합)

  • GitHub Actions Marketplace 등둝

  • VS Code ν™•μž₯

κΈ°μ—¬ν•˜κΈ°

PR ν™˜μ˜ν•©λ‹ˆλ‹€! 특히 λ‹€μŒ κΈ°μ—¬λ₯Ό κΈ°λ‹€λ¦½λ‹ˆλ‹€:

  • μƒˆλ‘œμš΄ λ³΄μ•ˆ νŒ¨ν„΄ μΆ”κ°€

  • λ‹€λ₯Έ μ–Έμ–΄ 지원 (Rust, C#, PHP λ“±)

  • IaC κ·œμΉ™ ν™•μž₯ (Ansible, CloudFormation λ“±)

  • λ¬Έμ„œ κ°œμ„ 

λΌμ΄μ„ μŠ€

MIT


Made with ❀️ by zerry

λ‹¨μˆœ μŠ€μΊλ„ˆλ₯Ό λ„˜μ–΄, μ§€λŠ₯ν˜• λ³΄μ•ˆ νŒŒνŠΈλ„ˆλ‘œ.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ongjin/security-scanner-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server