안녕하세요, 여러분! 😊
최근 23,000개 이상의 조직이 사용하는 GitHub Actions 패키지 "tj-actions/changed-files" 가 공격받아,
개발자들의 자격 증명(AWS 키, GitHub 토큰 등)이 유출되는 심각한 보안 사고가 발생했습니다.
💡 이번 공격은 오픈 소스 소프트웨어(Supply Chain Attack)를 악용한 최신 사례로,
CI/CD(Continuous Integration/Continuous Deployment) 환경에서
보안의 중요성이 더욱 강조되고 있습니다!
🔍 1. 이번 공격은 어떻게 이루어졌을까?
💡 tl;dr:
공격자는 tj-actions의 유지보수자 계정을 탈취해,
패키지의 "태그(tag)"를 악성 코드가 포함된 외부 코드로 변경했습니다.
🚨 공격 과정 분석
1️⃣ 공격자가 tj-actions의 유지보수자 계정을 탈취
2️⃣ 기존의 정상적인 패키지 "태그(tag)"를 악성 코드가 포함된 외부 파일을 가리키도록 변경
3️⃣ 이 패키지를 사용하는 CI/CD 파이프라인에서 자동으로 악성 코드 실행됨
4️⃣ 실행된 악성 코드가 서버의 메모리를 스캔하여 AWS 키, GitHub 토큰 등 민감한 정보 수집
5️⃣ 유출된 자격 증명은 로그 파일에 기록되며, 누구나 확인 가능하게 됨
💡 즉, "tj-actions/changed-files" 패키지를 업데이트한 개발자들은 CI/CD 워크플로우에서
민감한 정보가 유출되었을 가능성이 높습니다!
💀 2. 어떤 정보가 유출되었을까?
🚨 Wiz 보안 연구팀은 다음과 같은 실제 피해 사례를 발견했습니다.
🔴 AWS 액세스 키 (AWS Access Keys)
🔴 GitHub 개인 액세스 토큰 (Personal Access Tokens, PATs)
🔴 NPM 패키지 토큰 (NPM Tokens)
🔴 개인 RSA 키 (Private RSA Keys)
💡 즉, 이 패키지를 사용한 개발자들은 클라우드 인프라 및 소스 코드가 외부 공격자에게 노출될 위험이 있습니다!
⚠️ 3. 이번 공격이 위험한 이유
✅ 1. CI/CD 자동화를 이용한 대규모 공격 가능
- GitHub Actions는 자동화된 배포 프로세스에서 많이 사용되기 때문에, 공격이 빠르게 확산될 수 있음
✅ 2. 공급망 공격(Supply Chain Attack) 방식이기 때문에 신뢰 기반의 공격이 이루어짐
- 개발자들은 tj-actions 패키지를 신뢰하고 사용하지만,
- 패키지 내부 코드가 변경되면서 보안 점검 없이 자동 업데이트되어 악성 코드 실행
✅ 3. CI/CD 환경에서는 권한이 강력하기 때문에 공격 성공 시 피해가 막대
- AWS 키, GitHub 토큰, RSA 키 등 관리자급 권한을 가진 자격 증명 유출 가능
- 유출된 정보는 공격자가 추가적인 침해 활동(데이터 변조, 서비스 마비, 소스 코드 유출 등)에 사용 가능
🔑 4. 개발자가 즉시 해야 할 보안 조치
🚨 패키지를 사용한 조직은 즉시 시스템을 점검하고 보안 조치를 취해야 합니다!
✅ 1. CI/CD 환경에서 tj-actions 패키지 제거 또는 검토
🔹 GitHub Actions에서 tj-actions/changed-files 패키지를 사용하는 경우 즉시 점검
🔹 actions/checkout을 직접 사용하는 방식으로 변경 검토
🔹 신뢰할 수 있는 패키지만 CI/CD에서 사용하도록 제한
✅ 2. 유출된 자격 증명(토큰, 키) 즉시 폐기 및 재발급
🔹 AWS 키, GitHub PAT, NPM 토큰 등을 변경 및 재발급
🔹 사용되지 않는 자격 증명은 즉시 폐기
🔹 GitHub의 보안 로그(Security Log)에서 이상 징후 확인
✅ 3. GitHub Actions 보안 설정 강화
🔹 SHA-256 해시를 사용해 특정 코드 버전을 "고정" (태그 대신 해시 사용)
🔹 GITHUB_TOKEN 권한을 최소한으로 설정하여 워크플로우 내에서 자격 증명 유출 방지
✅ 4. 이상 네트워크 트래픽 감지 및 대응
🔹 StepSecurity 같은 네트워크 이상 탐지 솔루션 적용
🔹 CI/CD 실행 로그를 점검하여 의심스러운 네트워크 요청 감지
📢 5. 결론: 공급망 공격에 대비해야 한다!
🚨 오픈 소스 패키지는 편리하지만, 보안 위협도 함께 존재합니다.
🚨 특히 CI/CD 환경에서 신뢰할 수 없는 패키지를 사용하는 것은 매우 위험합니다!
✅ GitHub Actions 사용 시 태그(tag) 대신 특정 해시(commit hash)를 사용하세요!
✅ 패키지를 업데이트하기 전에 반드시 코드 검토를 진행하세요!
✅ CI/CD 환경에서 최소한의 권한 원칙(Least Privilege)을 적용하세요!
✅ 유출된 자격 증명(AWS 키, GitHub 토큰 등)을 즉시 변경하고 로그를 점검하세요!
💬 여러분의 개발 환경은 안전한가요?
📢 지금 바로 보안 점검을 시작하고, 공급망 공격(Supply Chain Attack)에 대비하세요!
추가 질문이나 의견이 있다면 댓글로 남겨주세요! 😊
'CyberSecurity > Security🔐' 카테고리의 다른 글
🚨 ChatGPT 취약점 CVE-2024-27564, 악용 사례 급증! (0) | 2025.03.19 |
---|---|
🚨 내부자 위협의 진화: AI 시대의 보안 위험과 대응 전략 (1) | 2025.03.19 |
🔐 CRYSTALS-KYBER: 양자 컴퓨터 시대를 대비하는 차세대 암호화 알고리즘 (2) | 2025.03.18 |
🚀 Cloudflare, 양자 내성 암호화(Post-Quantum Encryption)로 보안 강화! (0) | 2025.03.18 |
🚨 악성 OAuth 앱을 이용한 사이버 공격 증가! (0) | 2025.03.18 |