MCP 설정의 보안 구멍, 배포 전에 잡는다
하드코딩 비밀키·과도한 파일 접근 점검하는 오픈소스 스캐너 에이전트린트
AI 에이전트에 외부 도구를 붙이는 표준인 MCP(Model Context Protocol)가 퍼지면서, 그 설정 파일에 숨은 보안 구멍이 새 위험으로 떠올랐다. 이를 배포 전에 자동으로 걸러내는 오픈소스 스캐너 에이전트린트(agentlint)가 공개됐다. 하드코딩된 비밀키, 과도한 파일 접근 권한, 빠진 승인 절차를 점검해 위험 점수를 매겨준다.
무슨 일인가
MCP 서버는 에이전트가 깃허브·데이터베이스·파일시스템 같은 외부 자원에 접근하게 해주는 통로다. 편리한 만큼, 설정을 잘못하면 토큰이 그대로 노출되거나 에이전트가 너무 넓은 권한을 갖게 된다. 에이전트린트는 'pip install leporis-agentlint'로 설치한 뒤 'agentlint scan mcp.json' 한 줄로 설정 파일을 검사한다. 결과는 서버별 위험 점수(1~10점)로 나오고, 초록(3 이하)·노랑(4~6)·빨강(7 이상)으로 구분된다.
핵심 짚어보기
점검 항목은 네 가지다. 첫째, API 키·토큰·비밀번호·JWT가 환경변수 값에 그대로 박혀 있는 '하드코딩 비밀키'(치명). 둘째, 인자에 /home·/etc·/var·홈 디렉터리·루트·윈도우 드라이브 등이 노출되는 '과도한 파일 접근'(치명). 셋째, 이름상 인증이 필요한 서버(github·postgres·stripe 등)인데 환경변수가 비어 있는 경우(경고). 넷째, requireApproval이나 humanInLoop 같은 사람 승인 단계가 빠진 경우(경고)다. 기계가 읽을 수 있는 JSON 출력도 지원해 다른 도구와 엮기 쉽다.
1인기업 실전 적용 포인트
- MCP를 쓰는 프로젝트라면 커밋 전에 'agentlint scan'을 습관화해 비밀키가 코드에 섞여 들어가는 사고를 막아라.
- 깃허브 액션(GitHub Actions)에 'agentlint ci'를 넣으면, 서버 한 곳이라도 7점 이상이면 빌드를 자동 실패시킨다. 위험한 설정의 배포를 원천 차단할 수 있다.
- 설정 파일은 claude_desktop_config.json·.mcp.json·mcp.json을 자동 탐지하므로, 별도 경로 지정 없이 바로 돌려볼 수 있다.
- 점검 결과 빨강이 뜨면 토큰은 환경변수로 분리하고, 파일 접근 경로는 꼭 필요한 폴더로 좁혀라.
전망 / 주의점
에이전트린트가 잡는 건 정적 설정의 명백한 위험이지, 실행 중 동작이나 프롬프트 인젝션까지 막아주진 않는다. 보안의 1차 관문일 뿐 만능 방패는 아니라는 점을 기억해야 한다. 그래도 1인 개발자처럼 보안 검토 인력이 따로 없는 환경에선, 무료로 기본기를 자동 점검해주는 도구의 값어치가 크다.
출처: 에이전트린트(GitHub) (https://github.com/Leporis14/agentlint)