NVIDIA/SkillSpector — Security scanner for AI agent skills. Detect vulnerabilities, malicious patterns, security risks, prompt injection, data exfiltration, and supply-chain risks in Claude Code, Codex, and MCP skills before you install them.
NVIDIA SkillSpector, AI 에이전트 스킬 설치 전 보안 검사 도구
SkillSpector는 Claude Code, Codex, MCP 등에서 쓰는 AI 에이전트 스킬을 설치 전에 검사하는 오픈소스 보안 도구입니다. 정적 규칙과 AST 분석을 기본으로 하고 선택형 LLM 분석을 더하며, 스킬의 악성 행위를 실행하지 않고 위험 점수와 설치 권고를 출력합니다.
- 주제
에디터 노트
설치 전 스캔은 위험 신호를 걸러내는 절차로 유용하지만, 안전을 보증하지는 않습니다. SkillSpector는 코드를 실행하지 않고 패턴과 AST를 검사하며, 이미지나 암호화된 코드와 런타임 동작은 다루지 못합니다. 프로젝트도 정적 분석의 재현율은 높고 정밀도는 보통이라 일부 오탐이 생긴다고 밝힙니다. LLM 검토는 의심 항목의 설명을 보완하지만 판정을 보장하지 않으며, 기본 설정에서는 파일 내용이 선택한 제공자에게 전송됩니다. 따라서 내용 비공개가 필요한 검사에서는 --no-llm을 쓸 수 있지만 OSV.dev 조회에는 의존성 정보가 전달됩니다. 자동 설치 게이트로 쓰려면 SAFE 여부뿐 아니라 부분 검사와 불완전 분석을 실패 처리할지 정책으로 정해야 합니다. 소개된 연구의 취약점 비율은 도구의 정확도 측정이 아니라 별도 분석 데이터셋의 결과입니다.
AI 요약
NVIDIA의 SkillSpector는 AI 에이전트 스킬과 MCP 관련 입력에서 프롬프트 인젝션, 자격 증명 탈취, 위험한 코드 실행, 취약한 의존성 등 보안 위험을 찾는 도구입니다. 저장소 URL, ZIP, 디렉터리, 단일 파일을 검사하며 터미널, JSON, Markdown, SARIF 형식으로 결과를 냅니다.
탐지 방식과 점수
정규식 기반 정적 분석기 11개와 Python AST 분석을 사용합니다. 위험 패턴은 17개 범주에 걸쳐 71개이며, 위험 코드 호출, 데이터 유출, 과도한 권한, 공급망 문제, MCP 도구의 권한 설정과 메타데이터 등을 검사합니다. 의존성 취약점은 OSV.dev에 조회하고, 접속할 수 없으면 소규모 내장 목록으로 대체합니다. LLM 분석은 선택 사항입니다. 모델은 정적 검사 결과를 확인하고 설명이나 신뢰도를 보탤 수 있지만, 정적 분석 결과를 삭제하지는 않습니다.
위험 점수는 심각도별로 CRITICAL 50점, HIGH 25점, MEDIUM 10점, LOW 5점을 더하고 실행 파일에는 1.3배 가중치를 적용합니다. 점수 0~20은 SAFE, 21~50은 CAUTION, 51~100은 DO NOT INSTALL 권고에 해당합니다. CI에서는 활성 탐지 결과, 불완전한 분석, 최소 커버리지 등을 기준으로 종료 코드를 설정할 수 있습니다. 알려진 결과를 기준선에 등록해 재검사 때 새 문제만 표시하는 기능도 제공합니다.
입력 범위와 한계
원격 다운로드, ZIP 압축 해제, Git 복제에는 합산 100MiB 제한이 있으며 ZIP 항목은 최대 10,000개입니다. 분석기가 개별 파일에서 읽는 한도 1MiB는 입력 수집 제한과 별도로 적용됩니다. 제한을 넘으면 검사를 중단합니다. 일부 파일을 제외하면 검사 범위가 부분적으로 바뀌며 SAFE 권고를 내리지 않습니다.
SkillSpector는 스킬을 실행하지 않습니다. 정적 분석과 선택형 LLM 검토를 수행하며, LLM 사용 시 분석 대상 파일 내용이 설정한 모델 제공자에게 전송됩니다. --no-llm 옵션을 사용하면 파일 내용을 모델에 보내지 않지만, 의존성 조회가 켜져 있으면 패키지 이름과 버전은 OSV.dev로 전송됩니다. 이미지 속 지시문, 암호화되거나 컴파일된 코드, 일부 비영어 콘텐츠는 검사에 한계가 있습니다. 도구는 격리 환경이 아니므로 설치 뒤 실행을 차단하거나 호스트를 보호하지 않습니다.
MCP와 설치 자동화
MCP 서버를 실행하면 에이전트가 scan_skill 도구로 검사 결과를 받고 설치 판단에 활용할 수 있습니다. HTTP 전송은 인증 없이 제공되지만 루프백 주소에만 바인딩하며, HTTP 요청에서는 로컬 경로와 file URL을 거부합니다. 원격 접속에는 인증을 제공하는 프록시가 필요합니다. 설치 자동화에서는 SAFE, CAUTION, DO NOT INSTALL을 각각 허용, 경고, 차단 정책에 연결할 수 있으며 CAUTION을 차단할지는 연동 도구가 결정합니다.
연구 데이터
프로젝트가 인용한 연구는 42,447개 스킬 중 31,132개 분석 대상에서 26.1%가 취약점을 포함했고, 5.2%가 악의적 의도를 보였다고 보고합니다. 실행 스크립트가 있는 스킬은 취약할 가능성이 2.12배 높았다고 설명합니다. 이 수치는 연구 데이터셋의 결과이며 SkillSpector 자체의 탐지 정밀도 수치는 아닙니다.