
안녕하세요, IT 및 보안 최신 트렌드를 심층 분석해 전해드리는 지오이스트(GeoEast)입니다.
"도둑을 잡으라고 세워둔 경비원이 집안의 금고 비밀번호를 빼돌린다면?" 상상만 해도 끔찍한 이 시나리오가 전 세계 DevSecOps 생태계에서 현실이 되었습니다. 바로 취약점을 찾아내는 유명 오픈소스 보안 스캐너 '트리비(Trivy)'가 해킹되어 도리어 기업의 클라우드 권한을 탈취하는 무기로 둔갑한 사건입니다.
설상가상으로 이 공격은 단순한 코드 변조를 넘어, 블록체인 인프라를 악용해 스스로 확산하는 자가 증식형 웜(Worm)으로 진화하며 npm 생태계까지 위협하고 있습니다.
🚨 1단계: 감시망을 피한 은밀한 조작, Trivy GitHub Action 해킹
이번 공격의 첫 번째 타깃은 자동화된 CI/CD 파이프라인(GitHub Actions)이었습니다. 'TeamPCP'로 알려진 사이버 범죄 조직은 Trivy의 공식 깃허브 액션 권한을 탈취한 뒤, 아주 교묘한 수법으로 악성코드를 심었습니다.
- 알람을 울리지 않는 '태그 덮어쓰기': 공격자들은 새로운 버전을 릴리스하면 보안 알림이 울린다는 것을 알고 있었습니다. 그래서 신규 배포 대신, 과거에 이미 등록되어 있던 76개의 구버전 태그 중 75개(예: @0.33.0 등)를 악성코드가 포함된 가짜 코드로 몰래 덮어씌웠습니다. 개발자들이 버전 업데이트를 하지 않고 구버전에 머물러 있는 안전 불감증을 정확히 노린 것입니다.
- 스캔 직전의 찰나를 노린 탈취: 조작된 코드 내부에는 실제 보안 스캔이 시작되기 직전에 실행되는 204줄의 악성 스크립트('TeamPCP 클라우드 스틸러')가 숨어 있었습니다. 이 스크립트는 깃허브 워크플로우가 실행되는 환경에서 SSH 키, AWS·Azure·GCP 클라우드 자격 증명, 테라폼(Terraform) 상태 파일 등을 무차별적으로 긁어모아 암호화한 뒤 공격자의 서버로 빼돌렸습니다.
현재 안전한 버전은? 현재 Trivy 액션의 76개 태그 중 최신 버전인 @0.35.0 버전만이 안전한 상태로 확인되었습니다. 이전 버전을 사용하는 전 세계 1만 개 이상의 워크플로우가 피해 영향권에 있습니다.
🦠 2단계: 블록체인을 품은 자가 증식 웜, ‘CanisterWorm’의 등장
Trivy 공급망을 성공적으로 타격한 TeamPCP는 여기서 멈추지 않고, npm 패키지 생태계로 공격 범위를 확장했습니다. 보안업체 아이키도(Aikido)의 분석에 따르면, 이들은 'CanisterWorm'이라는 새롭고 치명적인 악성코드를 유포하기 시작했습니다.
- C2 서버 추적 회피 (블록체인 악용): 가장 눈에 띄는 특징은 인터넷 컴퓨터(ICP) 블록체인의 ‘캔스터(canister)’를 명령·제어(C2) 서버의 '데드 드롭 리졸버'로 악용했다는 점입니다. 공격자는 캔스터를 통해 실제 악성 페이로드 URL을 수시로 변경할 수 있으며, 심지어 필요에 따라 작동을 멈추는 '킬 스위치(현재는 유튜브 링크를 반환하도록 위장)'까지 구현하여 보안 솔루션의 탐지와 차단을 극도로 어렵게 만들었습니다.
- 정상 프로세스 위장: 감염 시 파이썬 백도어가 설치되며, 시스템 서비스(systemd)를 이용해 pgmon이라는 정상 프로세스 이름으로 위장하여 은밀하게 작동하고 지속성을 유지합니다.
- 가장 큰 위협, '자가 증식(Self-Propagating)': 초기에는 공격자가 훔친 토큰으로 악성 패키지를 배포했지만, 최신 변종은 감염된 개발자의 PC나 CI/CD 환경에서 npm 인증 토큰을 자동으로 수집한 뒤, 해당 개발자가 권한을 가진 다른 패키지들에 스스로 악성코드를 주입합니다. 즉, 감염된 환경 하나가 또 다른 전파 거점이 되어 기하급수적으로 피해가 확산하는 구조입니다.
🛡️ DevSecOps 팀을 위한 긴급 대응 가이드
방패가 창이 되어 돌아온 이번 사태는 "우리가 사용하는 보안 도구와 파이프라인 자체는 과연 안전한가?"라는 근본적인 질문을 던집니다. 현업의 개발 및 보안 팀은 다음 조치를 즉각 실행해야 합니다.
- Trivy GitHub Action 버전 확인 및 업데이트: 즉시 CI/CD 파이프라인 코드를 점검하고, Trivy 버전을 최신 안전 버전인 @0.35.0으로 업데이트해야 합니다. (더욱 안전한 방법은 태그 버전 대신 특정 Commit SHA Hash 값을 고정하여 사용하는 것입니다.)
- 클라우드 및 GitHub / npm 자격 증명 전면 재검토: 과거 버전의 Trivy를 사용했거나 감염 의심 패키지를 설치한 이력이 있다면, 해당 환경에서 사용된 모든 클라우드 권한(AWS IAM 등), GitHub PAT(개인 액세스 토큰), npm 인증 토큰을 즉시 폐기하고 재발급(Rotation) 해야 합니다.
- 오픈소스 무결성 검증 강화: 외부 패키지나 깃허브 액션을 파이프라인에 도입할 때, 서명 검증(Sigstore 등) 및 출처 확인 절차를 의무화해야 합니다.
이번 사태는 공격자들이 클라우드 인프라, 오픈소스 생태계, 블록체인 기술을 넘나들며 얼마나 빠르고 교묘하게 진화하고 있는지를 여실히 보여줍니다. 편리한 자동화 뒤에 숨겨진 공급망의 취약점을 다시 한번 점검해야 할 때입니다.
'보안(News)' 카테고리의 다른 글
| [특집] 2026 금융 보안 대격변 | [1부] "설치형 보안 SW 강제 폐지"… 100% 배상 시대, 귀사의 서버 앞단은 안전한가? (0) | 2026.03.31 |
|---|---|
| 해킹 사고 "쉬쉬"하다간 철퇴 맞습니다! 확 바뀐 정보통신망법 개정안 핵심 요약 (0) | 2026.03.27 |
| “완벽한 소스 코드가 뚫렸다?”... 이미지 속에 숨은 메이지카트의 치밀한 함정 (0) | 2026.03.23 |
| 인젝션 차단 믿었는데... 뚫려버린 방패, Node.js ORM '시퀄라이즈' 취약점 사태 (0) | 2026.03.17 |
| 믿었던 도구의 배신, MS AzCopy(애즈카피)를 이용한 랜섬웨어 데이터 유출 주의보 (0) | 2026.03.09 |