어떤 사건이 발생했나?
- 2025년 3월 GitHub Action인 ‘tj-actions/changed-files’가 공격자에 의해 손상되는 공급망 공격 발생
- 이 액션은 23,000개 이상의 리포지토리에서 사용되고 있음
- 이번 공격으로 인해 다수의 CI/CD 파이프라인에서 비밀 정보가 노출되는 심각한 보안 위협 발생
‘tj-actions/changed-files’는 무엇인가?
- ‘tj-actions/changed-files’는 GitHub Actions에서 파일 변경 사항을 감지하여 특정 작업을 자동으로 수행할 수 있도록 도와주는 도구
- 특징
- 자동화된 워크플로우 최적화: 코드베이스에서 변경된 파일을 자동으로 감지하여, 해당 파일과 관련된 테스트나 빌드 작업만 수행함으로써 CI/CD 파이프라인의 효율성 증대
- 유연한 설정 옵션: 특정 파일이나 디렉토리에 대한 변경 사항만을 감지하도록 설정하여 다양한 프로젝트 환경 맞춤 활용
- 광범위한 사용 사례: 여러 오픈 소스 프로젝트에서 이 액션을 활용하여 테스트 자동화, 코드 린팅, 스펠링 체크 등 다양한 작업 수행 중임
어떻게 공격을 했나?
- 공격자는 ‘tj-actions/changed-files’ 액션의 코드를 수정하고, 여러 버전 태그를 악성 커밋으로 업데이트
- 해당 액션을 사용하는 CI/CD 파이프라인에서 비밀 정보들이 빌드 로그에 출력되도록 유도
- 노출된 비밀 정보에는 AWS 액세스 키, GitHub 개인 액세스 토큰, npm 토큰, RSA 개인 키 등이 포함
- 공격자가 추가적인 공격을 수행하는 데 악용될 가능성 농후
처벌이 가능한가?
- 이러한 사이버 공격은 대부분의 국가에서 불법으로 간주되며, 법적 처벌 가능
- 그러나 공격자를 추적하고 신원을 확인하는 것은 기술적, 법적 어려움이 따르기 때문에 실제로 처벌이 이루어지기까지는 다소 시간이 소요됨
- 공격자가 해외에 거주하거나 익명성을 유지하는 경우 국제적인 협력 필요
- 이 사건의 경우 공격의 주체는 아직 확인되지 않았음
어떻게 대응해야할까?
- 액션 버전 고정: 액션을 호출할 때 태그 대신 전체 SHA-1 해시를 사용하여 특정 버전에 고정함으로써, 악의적인 코드 변경으로부터 보호
- 비밀 정보 관리 강화: CI/CD 파이프라인에서 사용하는 비밀 정보의 주기적인 변경과 짧은 수명의 자격 증명을 활용하여, 노출 시 피해 최소화
- 로그 접근 제어: 빌드 로그에 민감한 정보가 포함되지 않도록 주의하고, 로그에 대한 접근 권한을 제한하여 비인가된 접근을 방지해야 합니다.
- 공급망 보안 강화: 사용하는 오픈 소스 도구와 액션의 신뢰성을 검증하고, 정기적인 보안 점검을 통해 공급망 공격에 대한 대비를 강화
마무리하며
- GitHub Actions 공급망 공격은 CI/CD 환경의 보안 취약점과 오픈 소스 생태계의 보안 관리 중요성을 재확인시켜주는 사례임
- 개발 환경을 프로덕션 환경과 동일한 수준으로 보호하고, 공급망 공격에 대비한 예방 조치를 철저히 해야 합니다.
TI Tech Lab 신유림 연구원
Source
- https://thehackernews.com/2025/03/github-action-compromise-puts-cicd.html
- https://unit42.paloaltonetworks.com/github-actions-supply-chain-attack/
- https://www.techtarget.com/searchitoperations/news/366621078/GitHub-Actions-supply-chain-attack-spotlights-CI-CD-risks
Add comment