2026년 3월 19일 Trivy 재침해 사고 개요 및 대응 지침

2026년 3월 19일, Aqua Security의 보안 스캐너 Trivy 에코시스템이 3주 만에 두 번째 공급망 공격을 받아 setup-trivy와 trivy-action에 악성 코드가 주입되었습니다. 이번 사고는 2월 28일 탈취된 'aqua-bot'의 PAT를 악용한 'Imposter Commit' 수법으로 발생했으며, 가짜 버전인 v0.69.4를 통해 CI/CD 환경의 크리덴셜을 대규모로 탈취했습니다.

AI 요약

2026년 3월 19일, Aqua Security가 제공하는 오픈소스 보안 스캐너 Trivy를 대상으로 한 대규모 공급망 재침해 사고가 발생했습니다. 이번 공격은 지난 2월 28일 pull_request_target 취약점을 통해 aqua-bot 계정의 PAT(Personal Access Token)가 유출된 것이 시발점이 되었으며, 공격자는 이를 이용해 3월 19일 aquasecurity/setup-trivyaquasecurity/trivy-action 리포지토리에 악성 페이로드를 주입했습니다. 특히 'Imposter Commit' 기법을 사용해 가짜 버전인 v0.69.4를 생성하고 태그를 조작하여 사용자들이 악성 코드를 신뢰하도록 유도했습니다. 주입된 페이로드는 환경 변수 수집, 메모리 덤프, 파일 시스템 스캔 등 3단계를 거쳐 실행되어 사용자의 민감한 시크릿 정보를 외부로 유출했습니다. 이는 오픈소스 생태계의 신뢰를 악용하는 정교한 공격으로, 관리자와 사용자 모두의 신속한 대응이 필요한 상황입니다.

핵심 인사이트

  • 연쇄적 침해 발생: 2026년 2월 28일 발생한 1차 침해 당시 탈취된 aqua-bot의 PAT가 3월 19일 재침해의 핵심 도구로 사용됨.
  • 위조된 버전 배포: 실제 존재하지 않는 가짜 버전인 v0.69.4 태그를 생성하여 릴리스 워크플로우를 기만함.
  • Imposter Commit 수법: 공격자가 Aqua Security 팀으로 위장하여 커밋을 푸시함으로써 코드 리뷰 및 보안 검토를 우회함.
  • 정교한 탈취 기술: GitHub-Hosted Runner의 Runner.Worker 프로세스 메모리를 덤프하여 일반적인 환경 변수 수집보다 훨씬 강력한 시크릿 탈취를 시도함.

주요 디테일

  • 공격 대상 파일: setup-trivyaction.yamltrivy-actionentrypoint.sh 파일에 악성 코드가 직접 삽입됨.
  • 3단계 탈취 프로세스:
    1. 1단계: 셸 스크립트를 통한 환경 변수 수집.
    2. 2단계: Python을 이용한 메모리 덤프(GitHub-Hosted) 또는 광범위한 파일 시스템 스캔(Self-Hosted).
    3. 3단계: OpenSSL을 사용한 암호화 후 외부 서버 및 위장 리포지토리(scan.tpcp-docs.org)로 데이터 전송.
  • 봇 계정 악용: aqua-bot은 3월 16일부터 19일까지 release-please 브랜치에 6차례 이상 PushEvent를 기록하며 공격에 활용됨.
  • 대응 권고: 사용자는 v0.69.4 사용을 즉시 중단하고, 특정 커밋 해시(Commit Hash)로 버전을 고정하며, 3월 19~20일 사이 실행된 워크플로우의 크리덴셜을 즉시 로테이션해야 함.

향후 전망

  • 공급망 공격의 고도화: 단순한 코드 삽입을 넘어 봇 계정과 메모리 분석 기술을 결합한 지능형 공급망 공격이 지속적으로 증가할 것으로 예상됨.
  • CI/CD 보안 강화: GitHub Actions 사용 시 태그 기반 대신 커밋 해시 기반의 버전 고정(Pinning) 방식이 필수적인 보안 표준으로 자리 잡을 전망임.
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...