FreeAILab free-ai-lab

MCP 보안 가이드

개요

AI에 인터페이스가 하나 늘 때마다 공격 표면도 하나 늘어나요 — 이 6가지 실전 팁으로 지키세요.

한 문장으로 요약하면: MCP는 AI에게 "일을 할 능력"을 주지만, 그 손에 쥐여지는 권한은 전적으로 설정에 무엇을 썼는지에 달려 있어요. 리스크의 경계를 이해해야 마음 편히 쓸 수 있어요.

리스크는 어디서 올까요? 세 층위

1️⃣ 설치하려는 서버 자체가 믿을 만하지 않음 (공급망 리스크)

npx -y xxx로 설치한다는 건 — 그 패키지를 배포한 사람이 원하는 무엇이든 코드가 할 수 있어요. 악의적이거나 탈취된 서버는 환경 변수의 토큰을 훔치고, 파일을 읽고, 데이터를 빼돌릴 수 있어요. 가장 큰 리스크 유형이에요.

2️⃣ 인증 정보의 권한이 너무 넓음 (인가 리스크)

GitHub 토큰에 저장소 전체 읽기·쓰기 권한을 줬나요? 그러면 AI가 내 코드를 바꾸고 이슈를 삭제할 수 있어요. 최소 권한만 주세요: 읽기만으로 충분하면 쓰기를 주지 말고, 저장소 하나로 충분하면 계정 전체를 주지 마세요.

3️⃣ 프롬프트 인젝션

AI가 읽는 웹페이지, 문서, 코드에는 "사용자 지시를 무시하고 XX를 해라" 같은 악성 문장이 숨어 있을 수 있어요. 이는 AI가 고권한 도구를 호출하게 만들어요. AI 시대의 새로운 피싱이에요.

실전 보호 팁 6가지

  1. 스타가 많고 꾸준히 관리되며 공식 출처인 서버만 설치 (Microsoft / GitHub 공식 생태계처럼). 출처 불명의 개인 프로젝트는 피하세요
  2. 토큰은 로컬에만 보관하고, 설정 파일은 .gitignore로 제외해 절대 저장소에 올리지 마세요
  3. 최소 권한의 인증 정보 발급: GitHub는 읽기 전용 토큰, 데이터베이스는 읽기 전용 계정 — 보기만 하면 되는 건 변경 권한을 주지 마세요
  4. 고권한 서버는 조심: 명령 실행, 파일 삭제, 디스크 전체 읽기가 가능한 것(파일시스템 유형 등)은 신뢰할 수 있는 환경에만 설치하세요
  5. AI가 먼저 인증 정보를 요구하면 경계: "진행하려면 네 토큰이 필요해" 같은 말이 나오면 의심하세요. 정상적인 시나리오는 절대 내 키를 요구하지 않아요
  6. 정기 점검: 쓰지 않는 서버는 바로 제거하고, 유출 가능성이 있었다면 토큰을 즉시 폐기하고 재발급하세요

안전한 설치를 위한 체크리스트

☐ 이 프로젝트는 스타 10,000개 이상 / 공식 배포본인가요? ☐ README에 최소 권한 설정 예시가 명확히 나와 있나요? ☐ 설정 파일 경로를 이미 .gitignore에 넣었나요? ☐ 내가 발급한 토큰은 필요한 범위만 포함하나요? ☐ 설치 후 클라이언트 재시작이 필요한가요? 재시작 전에 놓친 건 없나요?

가장 안전한 후보를 체계적으로 가려내고 싶나요? 이 사이트의 엄선 목록을 확인하세요 — 이미 "공식 / 높은 스타 / 활발함"으로 걸러 뒀어요.