anti-patterns
안티패턴 — MCP 보안·운영
섹션 제목: “안티패턴 — MCP 보안·운영”1. 토큰 패스스루(Token Passthrough)
섹션 제목: “1. 토큰 패스스루(Token Passthrough)”사양이 명시한 금지사항. MCP 서버는 자신에게 발급되지 않은 토큰을 받아서는 안 된다. JWT면 aud 검증, 불투명 토큰이면 introspection. — mcp-security-best-practices
2. 와일드카드/omnibus 스코프
섹션 제목: “2. 와일드카드/omnibus 스코프”*, all, full-access 같은 스코프. 토큰 하나가 침해되면 끝장난다. 점진적 권한 상승 모델로.
3. 사용자 동의 우회 자동화
섹션 제목: “3. 사용자 동의 우회 자동화”호스트가 묻는 동의를 자동 통과시키는 hook/스크립트. 버그가 아니라 기능을 끄는 짓.
4. SSRF 가드 없이 외부 URL fetch
섹션 제목: “4. SSRF 가드 없이 외부 URL fetch”도구가 사용자(=LLM) 입력으로 받은 URL을 그대로 fetch. 클라우드 메타데이터(169.254.169.254)로 인스턴스 자격 증명 유출.
5. 예측 가능한 세션 ID
섹션 제목: “5. 예측 가능한 세션 ID”순차 ID, 짧은 난수, MD5 해시. 암호학적 UUID만.
6. HTTP 서버를 0.0.0.0에 바인딩
섹션 제목: “6. HTTP 서버를 0.0.0.0에 바인딩”DNS 리바인딩 공격 통로. 로컬은 127.0.0.1만.
7. Redirect URI를 와일드카드로 검증
섹션 제목: “7. Redirect URI를 와일드카드로 검증”정확 문자열 일치만 안전. 패턴 매칭은 우회된다.
8. 첫 릴리스에 쓰기 도구
섹션 제목: “8. 첫 릴리스에 쓰기 도구”DataTalksClub처럼 운영 DB를 날린다. read-only로 시작, 쓰기는 별도 보안 리뷰. — datatalksclub case
9. 토큰을 코드/.mcp.json/Git에 커밋
섹션 제목: “9. 토큰을 코드/.mcp.json/Git에 커밋”project 스코프 .mcp.json은 Git에 들어간다. 환경변수만 사용.
10. “MCP면 안전하다”는 메일을 임원에게 보내기
섹션 제목: “10. “MCP면 안전하다”는 메일을 임원에게 보내기”MCP는 보안 원칙을 정의할 뿐이다. 모든 방어는 직접 구현. 임원에게 “표준이라 안전”이라고 말하지 말 것.