본문으로 건너뛰기
← 뉴스 목록으로
CRITICAL악성코드

Trivy 공급망 공격보안 스캐너가 무기가 된 날

3분 읽기
#Trivy#공급망 공격#GitHub Actions#TeamPCP#CI/CD#크리덴셜 탈취

무슨 일이 일어났나

2026년 3월 19일, 보안 업계에서 널리 사용되는 오픈소스 취약점 스캐너 Trivy가 공급망 공격에 당했습니다. Trivy는 Aqua Security가 만든 도구로, 컨테이너 이미지와 코드의 취약점을 검사하는 용도로 쓰입니다. 보안을 지키라고 만든 도구가 오히려 공격 무기가 된 셈입니다.

공격자는 TeamPCP라 불리는 위협 그룹입니다. Microsoft Security Blog에 따르면, 이들은 Trivy의 핵심 바이너리, trivy-action GitHub Action, setup-trivy GitHub Action을 동시에 침해했습니다.

태그 포이즈닝 — 공격의 핵심

GitHub Actions에서 대부분의 프로젝트는 특정 버전 태그(예: @v4)를 참조해서 액션을 사용합니다. 태그 포이즈닝(tag poisoning)이란 이 태그가 가리키는 실제 코드를 몰래 바꿔치기하는 것입니다.

TeamPCP는 trivy-action의 77개 태그 중 76개, setup-trivy의 7개 태그 전부를 악성 코드가 포함된 커밋으로 교체했습니다. GitHub 웹 UI에서는 아무 변화도 보이지 않습니다. 태그 이름은 그대로인데 뒤에 연결된 코드만 바뀐 것입니다.

결과적으로, 이 Actions를 태그로 참조하는 모든 CI/CD 파이프라인이 다음 실행 시 공격자의 코드를 실행하게 됩니다. 기존 스캔 기능은 정상적으로 동작하면서 동시에 크리덴셜을 훔치기 때문에, 파이프라인이 성공으로 표시되어 이상을 눈치채기 어렵습니다.

피해 범위와 탈취된 정보

Palo Alto Networks의 분석에 따르면, 악성 페이로드는 다음을 수행했습니다.

  1. 환경변수와 시크릿 수집 — CI/CD 러너 메모리에서 추출
  2. 클라우드 크리덴셜 탐색 — 셀프호스팅 시스템의 AWS, GCP 등 인프라 키 검색
  3. 암호화 후 전송 — 공격자 인프라 또는 피해자 계정에 tpcp-docs라는 이름의 GitHub 릴리스 파일로 업로드

GitGuardian에 따르면, 이 공격은 Docker Hub 이미지로까지 확산됐고 LiteLLM 프로젝트도 영향을 받았습니다. Wiz의 분석에 따르면, 근본 원인은 이전 침해 사고가 완전히 수습되지 않아 남아 있던 접근 권한을 재활용한 것이었습니다.

지금 할 수 있는 대응법

CI/CD 파이프라인에서 Trivy를 사용 중이라면 다음을 즉시 확인하세요.

  1. GitHub Actions를 SHA 해시로 고정 — 태그(@v4) 대신 커밋 SHA(@a1b2c3d...)로 참조합니다. 태그는 변경 가능하지만 SHA는 불변입니다
  2. 모든 시크릿과 크리덴셜 로테이션 — 3월 19일 이후 Trivy Actions가 실행된 파이프라인의 모든 시크릿을 교체합니다
  3. tpcp-docs 리포지토리 확인 — 조직 계정에 tpcp-docs라는 이름의 낯선 리포지토리나 릴리스가 있는지 확인합니다
  4. Trivy 바이너리 무결성 검증 — 사용 중인 Trivy 바이너리의 체크섬을 공식 릴리스와 대조합니다
  5. CI/CD 로그 감사 — 비정상적인 아웃바운드 네트워크 요청이 있었는지 확인합니다

참고

공유

보안 뉴스 알림 받기

새로운 보안 뉴스를 이메일로 전달합니다.