AI "에이전트 스킬(agent skills)"을 감사하는 새로운 오픈 소스 스캐너가 도구로 개발되고 있습니다. 연구원들이 검증되지 않은 스킬이 SSH 키와 클라우드 자격 증명을 몰래 탈취할 수 있음을 보여준 이후입니다. 이 스캐너는 키워드 필터, 행동 분석, AI 기반 추론, 샌드박스 실행 및 변경 감지 기술을 결합하여 AI 지원 개발자를 겨냥한 차세대 공급망 공격을 차단합니다.

왜 지금 AI 스킬이 중요한가

Claude 및 GitHub Copilot과 같은 대규모 언어 모델(LLM) 어시스턴트는 이제 "에이전트 스킬(agent skills)"에 의존합니다. 이는 모델에게 특정 작업을 수행하는 방법을 알려주는 작고 독립적인 폴더입니다. GitHub은 최근 개발자가 공개 저장소에서 이러한 스킬을 직접 가져올 수 있는 한 줄 명령어를 추가했으며, 이로 인해 AI 기반 워크플로우를 위한 사실상의 패키지 관리자(de-facto package manager)가 되었습니다.

편리함은 부정할 수 없습니다. 스킬은 "이 스프레드시트를 정리해 줘"와 같은 모호한 요청을 정밀한 API 호출, 파일 조작 또는 코드 편집으로 변환할 수 있습니다. 하지만 이러한 단순함 때문에 악성 코드가 번들에 섞여 들어갈 수도 있습니다.

GitHub의 경고 페이지에는 스킬이 설치되기 전에 검증되지 않는다고 명시되어 있습니다.

숨겨진 페이로드가 탐지를 피하는 방법

일반적인 바이너리와 달리, AI 스킬은 한꺼번에 로드되지 않습니다. 모델은 먼저 짧은 요약을 읽은 다음, 작업이 관련이 있다고 판단될 때만 전체 명령 세트를 가져옵니다. 이러한 단계별 로딩 방식은 악성 파일이 사용자에게 보이지 않은 채 대기하다가, 모델이 이를 호출하기로 결정할 때까지 숨어 있을 수 있는 틈을 만듭니다.

개념 증명(PoC) 실험에서 연구원은 스프레드시트 정리를 홍보하는 csv-formatter라는 가짜 스킬을 만들었습니다. 눈에 보이는 코드는 무해해 보였지만, 숨겨진 명령어가 "진단 단계(diagnostic step)"를 추가했습니다. 이 단계는 아무것도 진단하지 않았습니다. 대신 호스트에서 SSH 개인 키와 AWS 액세스 토큰을 스캔한 다음, 그 결과를 외부 서버로 전송했습니다.

악성 명령은 변경 로그(changelog) 파일에도 나타났습니다. 대부분의 사람은 절대 확인하지 않는 곳이지만, AI는 버전 기록을 평가할 때 이 파일을 읽습니다. 개발자가 스킬이 단순히 데이터를 형식화하고 있다고 생각하는 동안, AI는 자격 증명 탈취 루틴을 조용히 실행했습니다.

오픈 소스의 대응

이 격차를 메우기 위해 연구원은 탐지 로직을 오픈 소스 감사 도구로 패키징했습니다. 이 스캐너는 단일 기술에 의존하지 않고 여러 방어 계층을 활용합니다.

  • 키워드 매칭(Keyword matching): 알려진 악성 문자열을 포함하는 명백하고 허술한 시도를 잡아냅니다.
  • 행동 분석(Behavior analysis): 자격 증명 파일을 읽은 다음 네트워크 호출을 시도하는 명령을 표시합니다.
  • AI 추론(AI reasoning): 보조 모델을 실행하여 스킬의 명령어가 사용자로부터 의도적으로 숨겨져 있는지 평가합니다.
  • 샌드박싱(Sandboxing): 격리된 환경에서 스킬을 실행하여 호스트 시스템을 위험에 빠뜨리지 않고 실시간 동작을 관찰합니다.
  • 변경 감지(Change detection): 신뢰할 수 있는 스킬의 예기치 않은 수정을 모니터링하여 새 버전이 설치되기 전에 관리자에게 알립니다.

저자는 csv-formatter 공격을 재현하는 테스트 스위트와 선별된 양성 및 악성 스킬 세트에 대한 탐지율을 측정하는 공개 벤치마크를 포함할 예정입니다.

향후 주목할 점

  • 커뮤니티 벤치마크: 더 많은 연구자가 악성 스킬 샘플을 공개함에 따라, 공개 벤치마크는 최신 상태를 유지하기 위해 정기적인 업데이트가 필요할 것입니다.

AI 에이전트 스킬의 등장은 개발자 도구의 새로운 지평을 열었지만, 동시에 전통적인 코드 리뷰를 우회하는 공급망 공격의 통로를 열기도 했습니다. 정적 검사, 동적 관찰 및 AI 추론을 결합한 오픈 소스 스캐너는 실질적인 1차 방어선을 제공합니다. 스킬을 출처 불명의 USB 드라이브처럼 취급하는 개발자는 곧 검증을 무시하는 대가가 즉각적인 AI 지원의 편리함보다 훨씬 크다는 것을 깨닫게 될 것입니다.