나의 밥벌이에 지대한 공헌을 한 도구 중 하나가 바로 "GitHub"이고,

최근 계속 관심을 갖고 있는 것이 "MCP (Model Context Protocol)"인데 ...

 

"GitHub MCP Exploited" 이라니 !!!

 

https://invariantlabs.ai/blog/mcp-github-vulnerability

 

 

https://simonwillison.net/2025/May/26/github-mcp-exploited/

 

 

어떻게 동작하는 것인지는 아래 그림 하나로 설명이 된다.

 

 

공개 저장소에 있는 이슈를 분석해서 해결하라는 명령을 하는 경우,

이슈에 "개인 저장소 정보를 읽어와서 그것을 저장"하라는 문구를 포함하게 되면,

GitHub MCP에 개인 토큰이 있기 때문에 개인 private 저장소의 내용이 유출될 수 있다는 것이다.

 

공개 저장소에 아래와 같은 이슈를 포함하기만 하면 되는 것이다.

 

그러면, 아래와 같은 정보를 얻어낼 수 있다.

 

 

문제는 Official GitHub MCP Server에서도 적용이되는 보안 위협이라는 것이다.

 

https://github.com/github/github-mcp-server

 

 

그러면, 이런 보안 위협을 방지하기 위해서 주의해야할 점은 무엇이 있을까!?

 

① MCP Server

  - Official 배포되는 MCP Server도 보안 위협이 있을 수 있는데,

  - 비공식 배포되는 MCP Server는 더더욱 위험할 수 밖에 없다.

 

② Check

  - MCP tool을 사용할 때에 Agent가 확인을 요구하는데, 그냥 pass하지 말고 확인해야 한다.

  - Always Allow는 되도록 사용하지 말아야 한다.

 

③ token

  - 이런 보안 위협을 막기 위해서는 근본적으로 PAT(Personal Access Token) 관리를 잘해야 한다.

    . https://github.com/settings/personal-access-tokens/new

 

  - Token을 사용하지 않을 수 없지만, 꼭 필요한 권한만 세부 설정해서 등록/사용하는 것이 좋다.

    . classic 타입의 token은 보다 더 세밀한 권한을 관리할 수 있다.

 

 

MCP라는 것이 나온지 얼마 되지 않은 규약이다보니 아직은 미흡한 점이 많을 수 있다.

그렇기에 근본적으로 이런 부분을 방지하기 위한 많은 연구가 있어야 할 것이다.

 

 

"GitHub MCP Exploited"이라고 해서,

"어?! 그러면 GitHub MCP Server를 쓰면 안되겠네?!"라고 생각하는 것은 좀 오버인 것 같고

"좀 더 조심히 사용해야겠다" 정도로 받아들이면 좋을 것 같다.

 

어떻게 동작하는지 좀 더 공부를 하고

동작할 때 사용되는 타겟이 무엇인지 결과가 어디에 적용이 되는지 유심히 살펴봐야 하는 것이다.

 

항상 input/output 관리가 중요하다!

반응형

'AI_ML > LLM' 카테고리의 다른 글

HuggingFace - LLAMA 3.2 for Korean  (2) 2024.11.12
HuggingFace - Learn - NLP Course #3  (3) 2024.11.11
HuggingFace - Learn - NLP Course #2  (0) 2024.11.10
HuggingFace - Learn - NLP Course  (1) 2024.11.09
Gemini 잔소리꾼 만들기  (1) 2024.11.08

+ Recent posts