피드로 돌아가기
I got nervous about installing MCP servers, so I built a scanner for them
Dev.toDev.to
Security

로컬 정적 분석 기반 MCP 서버 보안 스캐너 frisk 설계

I got nervous about installing MCP servers, so I built a scanner for them

Thandv2026년 6월 24일4intermediate

Context

README의 설치 명령어를 무분별하게 실행하는 관행으로 인한 SSH 키 및 Cloud Credentials 유출 위험 증대. 기존 분석 도구의 외부 API 의존성으로 인해 신뢰할 수 없는 코드 분석 과정에서 발생하는 데이터 외부 유출 가능성 존재.

Technical Solution

  • Python stdlib 기반의 Zero-dependency 설계를 통한 분석 도구 자체의 신뢰성 확보 및 코드 가독성 극대화
  • 정규표현식 기반 Static Analysis 방식을 채택하여 런타임 실행 없이 잠재적 위협 패턴을 식별하는 안전한 검사 구조 설계
  • Shell Pipe(| bash), Secret 접근, Destructive Command 등 고위험 패턴 매칭을 통한 위험 요소 탐지 로직 구현
  • LLM-specific 위협인 Prompt Injection 및 Zero-width Unicode를 이용한 Tool Poisoning 탐지 기능 통합
  • frisk lockverify 기능을 통한 구성 정보 Pinning 및 Drift Detection 메커니즘 구축
  • SARIF 포맷 출력 지원을 통한 GitHub Security 탭과의 통합 및 OWASP LLM Top 10 표준 매핑으로 분석 객관성 확보

- 신뢰할 수 없는 외부 스크립트 실행 전 Static Analysis 단계 도입 검토 - LLM Tool의 Description 필드에 숨겨진 지시문(Prompt Injection) 존재 여부 검증 - 보안 분석 도구 선정 시 데이터 전송 경로를 확인하여 Local-only 처리 여부 검토 - 인프라 설정 및 권한 파일(~/.ssh, ~/.aws)에 접근하는 비정상적 패턴 모니터링

원문 읽기