Skip to main content
Glama

🚨 μ·¨μ•½ν•œ MCP μ„œλ²„ - λ³΄μ•ˆ ꡐ윑용 데λͺ¨

⚠️ κ²½κ³ : 이 μ„œλ²„λŠ” ꡐ윑 λͺ©μ μœΌλ‘œλ§Œ μ„€κ³„λ˜μ—ˆμœΌλ©°, μ‹€μ œ 운영 ν™˜κ²½μ—μ„œλŠ” μ ˆλŒ€ μ‚¬μš©ν•˜μ§€ λ§ˆμ„Έμš”!

κ°œμš”

이 ν”„λ‘œμ νŠΈλŠ” MCP (Model Context Protocol) μ„œλ²„μ˜ 일반적인 λ³΄μ•ˆ 취약점듀을 μ‹œμ—°ν•˜κ³ , μ•ˆμ „ν•œ 개발 방법을 κ΅μœ‘ν•˜κΈ° μœ„ν•΄ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

ν¬ν•¨λœ 취약점듀

  1. λͺ…λ Ήμ–΄ μ£Όμž… (Command Injection) - execute_system_command

  2. 경둜 순회 곡격 (Path Traversal) - read_file_content, write_file_content

  3. 비직렬화 곡격 (Deserialization) - process_pickled_data

  4. SQL μΈμ μ…˜ - search_user_database

  5. λ―Όκ°ν•œ 정보 λ…ΈμΆœ - get_system_info

  6. μ„œλΉ„μŠ€ κ±°λΆ€ 곡격 (DoS) - generate_large_data

  7. μž„μ‹œ 파일 λ³΄μ•ˆ - create_temp_file

  8. LDAP μΈμ μ…˜ - ldap_search_simulation

  9. XML μ™ΈλΆ€ μ—”ν‹°ν‹° (XXE) - parse_xml_unsafe

μ„€μΉ˜ 및 μ‹€ν–‰

1. μ˜μ‘΄μ„± μ„€μΉ˜

# uv μ‚¬μš© (ꢌμž₯) uv sync # λ˜λŠ” pip μ‚¬μš© pip install -e .

2. μ„œλ²„ μ‹€ν–‰

# 개발 λͺ¨λ“œλ‘œ μ‹€ν–‰ uv run dev # λ˜λŠ” μ‹€ν–‰ 슀크립트 μ‚¬μš© python run_server.py

3. λŒ€ν™”ν˜• ν…ŒμŠ€νŠΈ

# λŒ€ν™”ν˜• ν”Œλ ˆμ΄κ·ΈλΌμš΄λ“œ uv run playground

취약점 ν…ŒμŠ€νŠΈ

취약점을 μ•ˆμ „ν•˜κ²Œ ν…ŒμŠ€νŠΈν•΄λ³΄λ €λ©΄:

# 취약점 ν…ŒμŠ€νŠΈ 슀크립트 μ‹€ν–‰ python test_vulnerabilities.py

ꡐ윑 자료

ν•™μŠ΅ λͺ©ν‘œ

이 ν”„λ‘œμ νŠΈλ₯Ό 톡해 λ‹€μŒμ„ ν•™μŠ΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

  1. 일반적인 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 취약점듀이 MCP μ„œλ²„μ—μ„œ μ–΄λ–»κ²Œ λ‚˜νƒ€λ‚˜λŠ”μ§€

  2. 각 μ·¨μ•½μ μ˜ 곡격 벑터와 영ν–₯도

  3. μ•ˆμ „ν•œ μ½”λ”© 방법과 λ°©μ–΄ 기법

  4. λ³΄μ•ˆ ν…ŒμŠ€νŠΈ 및 감사 방법

μ‹€μŠ΅ 과제

  1. 취약점 뢄석: 각 λ„κ΅¬μ˜ 취약점을 μ‹λ³„ν•˜κ³  곡격 μ‹œλ‚˜λ¦¬μ˜€λ₯Ό μž‘μ„±ν•˜μ„Έμš”

  2. μ•ˆμ „ν•œ κ΅¬ν˜„: μ·¨μ•½ν•œ κΈ°λŠ₯λ“€μ˜ μ•ˆμ „ν•œ 버전을 κ΅¬ν˜„ν•΄λ³΄μ„Έμš”

  3. λ³΄μ•ˆ ν…ŒμŠ€νŠΈ: κ΅¬ν˜„ν•œ μ•ˆμ „ν•œ 버전을 ν…ŒμŠ€νŠΈν•΄λ³΄μ„Έμš”

  4. κ°€μ΄λ“œλΌμΈ μž‘μ„±: 쑰직의 MCP μ„œλ²„ λ³΄μ•ˆ κ°€μ΄λ“œλΌμΈμ„ μž‘μ„±ν•΄λ³΄μ„Έμš”

λ³΄μ•ˆ 원칙

MCP μ„œλ²„ 개발 μ‹œ λ‹€μŒ 원칙을 λ”°λ₯΄μ„Έμš”:

  1. μ΅œμ†Œ κΆŒν•œ 원칙: ν•„μš”ν•œ μ΅œμ†Œν•œμ˜ κΆŒν•œλ§Œ λΆ€μ—¬

  2. μž…λ ₯ 검증: λͺ¨λ“  μ‚¬μš©μž μž…λ ₯을 κ²€μ¦ν•˜κ³  μƒˆλ‹ˆνƒ€μ΄μ¦ˆ

  3. μƒŒλ“œλ°•μŠ€ μ‚¬μš©: 격리된 ν™˜κ²½μ—μ„œ μ‹€ν–‰

  4. 정기적인 λ³΄μ•ˆ 감사: μ½”λ“œμ™€ 섀정을 μ •κΈ°μ μœΌλ‘œ κ²€ν† 

  5. λ³΄μ•ˆ μ—…λ°μ΄νŠΈ: μ˜μ‘΄μ„±μ„ μ΅œμ‹  μƒνƒœλ‘œ μœ μ§€

κ²½κ³  및 λ©΄μ±… μ‘°ν•­

⚠️ 이 ν”„λ‘œμ νŠΈλŠ” 였직 ꡐ윑 λͺ©μ μœΌλ‘œλ§Œ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  • μ‹€μ œ 운영 ν™˜κ²½μ—μ„œλŠ” μ ˆλŒ€ μ‚¬μš©ν•˜μ§€ λ§ˆμ„Έμš”

  • λ¬΄λ‹¨μœΌλ‘œ νƒ€μΈμ˜ μ‹œμŠ€ν…œμ— λŒ€ν•΄ ν…ŒμŠ€νŠΈν•˜μ§€ λ§ˆμ„Έμš”

  • 취약점을 μ•…μš©ν•˜μ—¬ λΆˆλ²•μ μΈ ν–‰μœ„λ₯Ό ν•˜μ§€ λ§ˆμ„Έμš”

  • μ‚¬μš©μžλŠ” 이 μ½”λ“œμ˜ μ‚¬μš©μ— λŒ€ν•œ λͺ¨λ“  μ±…μž„μ„ μ§‘λ‹ˆλ‹€

λΌμ΄μ„ΌμŠ€

이 ν”„λ‘œμ νŠΈλŠ” ꡐ윑 λͺ©μ μœΌλ‘œλ§Œ μ œκ³΅λ©λ‹ˆλ‹€. 상업적 μ‚¬μš©μ„ κΈˆμ§€ν•©λ‹ˆλ‹€.

-
security - not tested
-
license - not tested
-
quality - not tested

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/Isaac-theori/Vulnerable-MCP-server'

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