위즈 “공격자, AI 사용해 저장소 맞춤형 악성 패키지 제작”
깃허브 설정 오류 악용 메인테이너 계정 탈취
보안 도구→AI 라이브러리→공급망 연쇄 침해 공격 발생
[데이터넷] AI가 공급망 공격에 사용된 사례가 공개됐다.
클라우드 보안 기업 위즈(WIZ)가 조사한 ‘prt-scan’ 캠페인은 공격자가 AI를 사용해 대형 오픈소스 프로젝트부터 개인 취미 프로젝트까지 500개 이상 저장소에 악성 패키지를 업로드하고 검토를 요청한 것이다.
보통 공급망 공격을 할 때 코드 저장소의 스타일을 확인하고 맞춤형으로 패키지를 생성하는데 수일에서 수주가 걸리지만, prt-scan 캠페인에서 공격자는 AI를 사용해 시간당 21건, 26시간 동안 475개 이상 악성 풀 리퀘스트(PR)를 생성했다.
공격자는 깃허브 액션의 pull_request_target 이벤트를 사용하는 워크플로우에서 외부 PR의 코드를 검증 없이 실행하도록 구성된 경우, 공격자가 메인 저장소의 권한과 시크릿에 접근할 수 있다는 점을 악용해 침해했다. 또한 공격자는 AI를 활용해 각 저장소의 코딩 스타일과 환경을 분석해 맞춤형 코드를 자동 생성했으며, 테스트 코드·정상 업데이트처럼 보이도록 만들어 메인테이너를 속였다.
위즈는 이 공격자의 기술적 숙련도가 높지 않지만, AI를 활용해 전문가 급의 대규모 캠페인 수행이 가능하다고 설명했다.
메인테이너 계정 탈취해 연쇄적 공급망 공격
공급망 공격의 파급력을 생각한다면, AI 활용 공급망 공격이 미칠 파장은 상상을 초월할 것이라는 우려가 과장이 아니라는데 동의할 것이다. prt-scan 캠페인에서 이미 공격자는 수많은 저장소의 취약성을 빠르게 찾아 맞춤형으로 공격할 수 있다는 사실을 보여줬다. 또한 악성 패키지를 업로드할 때 기존 관리자의 코딩 스타일을 모방하며, 코드 리뷰 시 위화감을 없앨 수 있다. 관리자를 속이기 위해 피싱 메일·기술지원 요청 등의 위장 메시지도 AI를 이용할 수 있다.
오픈소스 저장소의 메인테이너 권한이나 계정을 탈취해 전방위 악성코드 유포가 가능하다는 사실도 악용했다. 지난달 자바스크립트 핵심 라이브러리 액시오스(Axios) 공식 NPM 패키지에서 악성코드가 발견됐는데, 메인테이너 계정 탈취가 원인인 것으로 분석된다.
마이크로소프트와 구글 위협 인텔리전스 팀은 북한 연계 조직 사파이어 슬릿(Sapphire Sleet, 구 BlueNoroff)의 소행으로 추정한다. 공격자는 메인테이너 계정을 탈취한 후 기존 코드에 외부 패키지를 의존성 목록에 은밀히 추가했으며, 수천만 다운로드를 기록하는 핵심 라이브러리의 신뢰 체인을 위협했다.
악성 요소가 포함된 패키지는 윈도우, 맥, 리눅스를 모두 지원하는 멀티 플랫폼 백도어 ‘WAVESHAPER.V2’였으며, 감염 직후 자가 삭제를 통해 흔적을 지우고 정상 파일로 위장하는 고도의 은닉성을 갖췄다. 또한 공격자는 실제 공격 18시간 전에 ‘정상적인’ 버전의 가짜 패키지를 먼저 배포해 보안 도구의 신규 패키지 검사를 우회했다.
보안 스캐너 트라이비(Trivy) 해킹으로 AI 라이브러리 ‘LiteLLM’이 오염된 ‘공급망의 공급망 공격’까지 발생했다. 북한과 연계된 것으로 의심되는 ‘TeamPCP(UNC6780)’ 소행으로 알려진 이 사고는 깃허브 액션을 위한 도구인 트라이비를 침해해 개발환경의 비밀을 탈취하고, 이를 이용해 AI 개발 라이브러리 LiteLLM에 악성 코드를 주입했다.
개발부터 운영까지 중단없는 제로 트러스트 이행해야
최근 연속적으로 발생한 공급망 공격은 연쇄적인 침해로 광범위한 피해를 일으키기 위한 것으로, 각별한 주의가 요구된다. 특히 깃허브 액션의 설정 취약성을 악용하면서 비밀 탈취, 악성코드 배포, 다운스트림 확산으로 이어지는 악순환이 이어지면서 위협 수준을 더욱 높이고 있다.
이러한 공격으로 인한 피해를 막기 위해서는 개발부터 운영까지 중단없는 제로 트러스트 원칙이 지켜져야 한다. 모든 코드는 신뢰성을 반드시 검증한 후 커밋해야 하며, 개발자와 관리자의 계정을 철저히 관리하고, 최소권한 원칙의 JIT 설정을 통해 비밀이 탈취된다 해도 공격자가 지속적인 권한을 갖지 못하게 한다. SBOM을 활용해 소프트웨어 구성 요소와 의존성 요소를 모두 가시화하고 변경 내용을 실시간 추적해 취약성을 즉시 조치하도록 한다.
Tag
댓글
0