Skip to main content
Glama
README.mdβ€’3.38 kB
# 🚨 μ·¨μ•½ν•œ 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. μ˜μ‘΄μ„± μ„€μΉ˜ ```bash # uv μ‚¬μš© (ꢌμž₯) uv sync # λ˜λŠ” pip μ‚¬μš© pip install -e . ``` ### 2. μ„œλ²„ μ‹€ν–‰ ```bash # 개발 λͺ¨λ“œλ‘œ μ‹€ν–‰ uv run dev # λ˜λŠ” μ‹€ν–‰ 슀크립트 μ‚¬μš© python run_server.py ``` ### 3. λŒ€ν™”ν˜• ν…ŒμŠ€νŠΈ ```bash # λŒ€ν™”ν˜• ν”Œλ ˆμ΄κ·ΈλΌμš΄λ“œ uv run playground ``` ## 취약점 ν…ŒμŠ€νŠΈ 취약점을 μ•ˆμ „ν•˜κ²Œ ν…ŒμŠ€νŠΈν•΄λ³΄λ €λ©΄: ```bash # 취약점 ν…ŒμŠ€νŠΈ 슀크립트 μ‹€ν–‰ python test_vulnerabilities.py ``` ## ꡐ윑 자료 - [`SECURITY_DEMO.md`](SECURITY_DEMO.md) - μƒμ„Έν•œ 취약점 μ„€λͺ…κ³Ό 곡격 μ‹œλ‚˜λ¦¬μ˜€ - [`test_vulnerabilities.py`](test_vulnerabilities.py) - 취약점 ν…ŒμŠ€νŠΈ 슀크립트 - [`src/character_counter/server.py`](src/character_counter/server.py) - μ·¨μ•½ν•œ μ„œλ²„ κ΅¬ν˜„ ## ν•™μŠ΅ λͺ©ν‘œ 이 ν”„λ‘œμ νŠΈλ₯Ό 톡해 λ‹€μŒμ„ ν•™μŠ΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€: 1. 일반적인 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 취약점듀이 MCP μ„œλ²„μ—μ„œ μ–΄λ–»κ²Œ λ‚˜νƒ€λ‚˜λŠ”μ§€ 2. 각 μ·¨μ•½μ μ˜ 곡격 벑터와 영ν–₯도 3. μ•ˆμ „ν•œ μ½”λ”© 방법과 λ°©μ–΄ 기법 4. λ³΄μ•ˆ ν…ŒμŠ€νŠΈ 및 감사 방법 ## μ‹€μŠ΅ 과제 1. **취약점 뢄석**: 각 λ„κ΅¬μ˜ 취약점을 μ‹λ³„ν•˜κ³  곡격 μ‹œλ‚˜λ¦¬μ˜€λ₯Ό μž‘μ„±ν•˜μ„Έμš” 2. **μ•ˆμ „ν•œ κ΅¬ν˜„**: μ·¨μ•½ν•œ κΈ°λŠ₯λ“€μ˜ μ•ˆμ „ν•œ 버전을 κ΅¬ν˜„ν•΄λ³΄μ„Έμš” 3. **λ³΄μ•ˆ ν…ŒμŠ€νŠΈ**: κ΅¬ν˜„ν•œ μ•ˆμ „ν•œ 버전을 ν…ŒμŠ€νŠΈν•΄λ³΄μ„Έμš” 4. **κ°€μ΄λ“œλΌμΈ μž‘μ„±**: 쑰직의 MCP μ„œλ²„ λ³΄μ•ˆ κ°€μ΄λ“œλΌμΈμ„ μž‘μ„±ν•΄λ³΄μ„Έμš” ## λ³΄μ•ˆ 원칙 MCP μ„œλ²„ 개발 μ‹œ λ‹€μŒ 원칙을 λ”°λ₯΄μ„Έμš”: 1. **μ΅œμ†Œ κΆŒν•œ 원칙**: ν•„μš”ν•œ μ΅œμ†Œν•œμ˜ κΆŒν•œλ§Œ λΆ€μ—¬ 2. **μž…λ ₯ 검증**: λͺ¨λ“  μ‚¬μš©μž μž…λ ₯을 κ²€μ¦ν•˜κ³  μƒˆλ‹ˆνƒ€μ΄μ¦ˆ 3. **μƒŒλ“œλ°•μŠ€ μ‚¬μš©**: 격리된 ν™˜κ²½μ—μ„œ μ‹€ν–‰ 4. **정기적인 λ³΄μ•ˆ 감사**: μ½”λ“œμ™€ 섀정을 μ •κΈ°μ μœΌλ‘œ κ²€ν†  5. **λ³΄μ•ˆ μ—…λ°μ΄νŠΈ**: μ˜μ‘΄μ„±μ„ μ΅œμ‹  μƒνƒœλ‘œ μœ μ§€ ## κ²½κ³  및 λ©΄μ±… μ‘°ν•­ ⚠️ **이 ν”„λ‘œμ νŠΈλŠ” 였직 ꡐ윑 λͺ©μ μœΌλ‘œλ§Œ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.** - μ‹€μ œ 운영 ν™˜κ²½μ—μ„œλŠ” μ ˆλŒ€ μ‚¬μš©ν•˜μ§€ λ§ˆμ„Έμš” - λ¬΄λ‹¨μœΌλ‘œ νƒ€μΈμ˜ μ‹œμŠ€ν…œμ— λŒ€ν•΄ ν…ŒμŠ€νŠΈν•˜μ§€ λ§ˆμ„Έμš” - 취약점을 μ•…μš©ν•˜μ—¬ λΆˆλ²•μ μΈ ν–‰μœ„λ₯Ό ν•˜μ§€ λ§ˆμ„Έμš” - μ‚¬μš©μžλŠ” 이 μ½”λ“œμ˜ μ‚¬μš©μ— λŒ€ν•œ λͺ¨λ“  μ±…μž„μ„ μ§‘λ‹ˆλ‹€ ## λΌμ΄μ„ΌμŠ€ 이 ν”„λ‘œμ νŠΈλŠ” ꡐ윑 λͺ©μ μœΌλ‘œλ§Œ μ œκ³΅λ©λ‹ˆλ‹€. 상업적 μ‚¬μš©μ„ κΈˆμ§€ν•©λ‹ˆλ‹€.

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