tj-actions/changed-files 침해 사건 - NHI 보안을 중심으로

Published on
March 18, 2025
tj-actions/changed-files 침해 사건은 CI/CD에서 비인간 신원(NHI)에 대한 위험을 노출시킵니다. 공격자가 어떻게 secret 탈취했는지, 그리고 선제적 조치로 NHI 보안을 강화하는 방법을 알아보세요.
김동현

Entrepreneurship, Security Engineer, Innovation

TABLE OF CONTENT
Subscribe to our newsletter
Read about our privacy policy.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

사이버 보안 환경은 끊임없이 변화하고 있으며, 사람과 비인간 ID(NHI) 모두를 대상으로 하는 새로운 위협이 등장하고 있습니다. 최근 인기 있는 tj-actions/changed-files GitHub Action에서 발생한 사건은 종종 간과되는 이러한 머신 ID를 보호하는 것이 얼마나 중요한지를 명확히 보여주는 사례입니다. StepSecurity Harden-Runner에 의해 감지된 이 침해 사고는 소프트웨어 개발 라이프사이클 내 NHI와 관련된 심각한 위험을 강조하며, 효과적인 사고 대응을 포함한 강력한 NHI 보안 관행의 필요성을 강조합니다.

tj-actions/changed-files 사건 이해

2025년 3월, StepSecurity는 23,000개 이상의 리포지토리에서 사용되는 널리 사용되는 tj-actions/changed-files GitHub Action에 영향을 미치는 심각한 보안 사고를 감지했습니다. 공격자들은 악의적으로 액션의 코드를 수정하고 여러 버전 태그를 소급하여 손상된 커밋을 가리키도록 업데이트했습니다. 이 악성 코드는 GitHub Actions 빌드 로그에서 CI/CD 비밀을 유출하도록 설계되었습니다. 이러한 워크플로 로그가 공개 리포지토리와 같이 공개적으로 접근 가능했다면, 누구든지 이러한 비밀을 탈취할 수 있었습니다.

공격은 2025년 3월 14일 PST 오전 9시경에 시작되었습니다. StepSecurity의 Harden-Runner는 워크플로 트래픽에서 예상치 못한 네트워크 엔드포인트가 나타났을 때 이상 행위 탐지를 통해 문제를 식별했습니다. 추가 분석 결과, GitHub Actions Runner 프로세스의 메모리에서 비밀을 추출하기 위해 악성 Python 스크립트가 다운로드 및 실행되고 있음이 밝혀졌습니다.

비인간 ID로서의 GitHub Actions

GitHub Actions와 그것이 사용하는 비밀은 비인간 ID(NHI)의 주요 예시라는 점을 이해하는 것이 중요합니다. 이러한 자동화된 워크플로는 API 키, 토큰 및 서비스 계정과 함께 직접적인 사람의 개입 없이 작동하지만, 중요한 리소스에 접근하고 수정할 수 있는 권한을 가지고 있습니다. GitHub Actions의 맥락에서 비밀은 종종 클라우드 공급자, 패키지 레지스트리 및 기타 민감한 시스템에 대한 접근 권한을 부여합니다.

tj-actions/changed-files 사건은 NHI와 관련된 내재적인 위험을 완벽하게 보여줍니다.

  • 자격 증명 유출: 공격의 주요 목표는 연결된 시스템에 대한 무단 접근에 사용될 수 있는 민감한 CI/CD 비밀을 노출시키는 것이었습니다. 이는 OWASP 비인간 ID Top 10의 NHI2:2025 - 비밀 유출과 직접적으로 일치합니다.
  • 취약한 제3자 NHI: tj-actions/changed-files 액션은 수많은 개발 워크플로에 통합된 제3자 구성 요소입니다. 이것의 침해는 겉보기에는 신뢰할 수 있는 외부 요소가 공격 벡터가 되는 NHI3:2025 - 취약한 제3자 NHI를 예시합니다. 조직은 종종 효율성을 높이기 위해 이러한 도구를 통합하지만, 기본 NHI와 관련된 보안 위험을 완전히 평가하지 않습니다.
  • 가시성 및 모니터링 부족: Harden-Runner의 이상 행위 탐지와 같은 사전 예방적 보안 조치가 없었다면, 악성 활동은 상당 기간 동안 눈에 띄지 않아 광범위한 자격 증명 탈취로 이어질 수 있었습니다. 이는 확장되는 NHI 환경에 대한 중앙 집중식 가시성 및 컨텍스트를 유지하는 데 따르는 어려움을 강조합니다.

교훈과 사고 대응의 중요한 역할

tj-actions/changed-files 사건은 NHI 보안을 강화하기 위한 귀중한 교훈을 제공하며, 사고 대응은 가장 중요한 측면 중 하나입니다.

  • 유출 가정: 이 사건은 "유출 가정" 사고방식을 강화합니다. 조직은 NHI가 이미 손상되었을 수 있다는 가정 하에 운영하고 의심스러운 활동을 탐지하고 대응하기 위해 지속적인 모니터링을 구현해야 합니다.
  • 신속한 대응을 위한 조기 탐지의 필요성: StepSecurity Harden-Runner는 예상치 못한 네트워크 엔드포인트를 식별함으로써 특히 이상 행위 모니터링 기능을 통해 침해를 조기에 탐지하는 데 중요한 역할을 수행했습니다. 조기 탐지는 잠재적 손상을 최소화하기 위한 시기적절하고 효과적인 사고 대응을 시작하는 데 매우 중요합니다.
  • 즉각적인 수정이 핵심: 침해 탐지 즉시 StepSecurity는 사용자의 복구를 돕기 위해 무료의 안전한 대체 액션(step-security/changed-files)을 신속하게 발표했습니다. 이는 미리 정의된 사고 대응 플레이북과 솔루션을 신속하게 제공할 수 있는 능력의 중요성을 보여줍니다. 악성 코드가 포함된 리포지토리를 삭제했다가 다시 복원한 GitHub의 조치 또한 사고 대응 프로세스의 일부를 구성합니다.
  • 커뮤니케이션 및 투명성: StepSecurity는 사건 발견 즉시 블로그 게시물을 통해 사용자에게 적극적으로 경고하고 지속적인 업데이트를 제공했습니다. 또한 커뮤니티 질문에 답변하기 위해 Office Hour를 주최했습니다. 이는 보안 사고 발생 시 명확하고 시기적절한 커뮤니케이션의 중요성을 강조합니다.
  • 즉각적인 해결을 넘어선 포괄적인 수정 전략: 손상된 액션을 교체하는 것이 중요하지만, 포괄적인 사고 대응에는 잠재적으로 손상된 비밀을 식별하고 폐기하는 것도 포함됩니다. 영향을 받은 액션을 사용하는 공개 리포지토리를 가진 조직은 빌드 로그에서 유출된 비밀로 인해 즉시 복구 단계를 검토하라는 권고를 받았습니다. 이는 즉각적인 취약점 패치 그 이상으로 강력한 수정 워크플로의 필요성을 강조합니다.
  • 제3자 공급망 보안 고려 및 사고 대비: 조직은 개발 파이프라인에서 사용되는 모든 제3자 도구 또는 통합을 철저히 검증하고 관련 NHI에 부여된 권한을 이해해야 합니다. 이 검증 프로세스에는 공급업체의 사고 대응 능력 및 절차를 이해하는 것이 포함되어야 합니다.
  • NHI 사고의 특수성을 고려한 대응의 필요성: tj-actions/changed-files 사건은 비인간 ID에 특화된 사고 대응 프로세스의 필요성을 강조합니다. 이러한 프로세스는 NHI의 고유한 특성과 자동화된 프로세스를 중단시킬 수 있는 잠재적 영향과 같은 요소를 고려해야 합니다.

NHI 보안 태세 및 사고 대응 역량 강화

tj-actions/changed-files 침해 및 기타 NHI 위협으로 강조된 위험을 완화하고 향후 사고에 효과적으로 대응하기 위해 조직은 다음 사항을 구현하는 것을 고려해야 합니다.

  • 포괄적인 NHI 인벤토리: 타사 통합을 포함한 모든 환경에서 모든 NHI에 대한 완전한 가시성을 확보합니다. 크리밋과 같은 솔루션은 이러한 통합된 가시성을 제공하고 각 NHI의 Identity Traceability를 매핑하여 잠재적 침해 범위를 이해하는 데 도움을 줄 수 있습니다.
  • NHI에 대한 제로 트러스트: 모든 비인간 ID에 제로 트러스트 원칙을 확장하여 모든 접근 요청이 지속적으로 검증되도록 합니다.
  • 최소 권한: 모든 NHI에 대해 최소 권한 원칙을 준수하여 의도된 기능에 필요한 최소한의 권한만 부여합니다.
  • 지속적인 모니터링 및 위협 탐지: NHI와 관련된 의심스러운 활동을 탐지하기 위해 실시간 모니터링 및 행동 분석을 구현합니다. StepSecurity Harden-Runner는 GitHub Actions를 위한 이러한 도구의 좋은 예입니다.
  • 자동화된 수정: 손상된 ID 폐기, 비밀 회전 또는 영향을 받은 시스템 격리와 같이 식별된 NHI 위협에 대한 자동화된 대응을 가능하게 하는 도구 및 플랫폼을 활용합니다. 크리밋, Astrix, Entro, SlashID 및 Oasis와 같은 공급업체는 이러한 기능을 제공합니다. 크리밋의 경우, 실시간 위협 탐지 및 통합된 대응 기능을 통해 의심스러운 NHI 활동을 즉시 감지하고 격리하여 피해가 발생하기 전에 침해 위험을 줄일 수 있습니다.
  • Secret 관리: 모든 NHI에 대해 안전한 Secret 보관 솔루션을 사용하고 정기적인 Secret 회전 정책을 시행합니다. 크리밋은 전통적인 Secret 회전을 단기적이고 자동 만료되는 증명서와 같은 임시 자격 증명으로 대체하는 것을 강조하여 노출 위험을 제한하고 관리 오버헤드를 줄임으로써 이 문제를 해결합니다.
  • 정의된 NHI 사고 대응 계획: NHI에 특화된 명확한 사고 대응 계획을 개발하고 유지합니다. 이 계획에는 탐지, 봉쇄, 근절, 복구 및 교훈 획득 절차가 포함되어야 합니다. 크리밋의 Identity Traceability 기능은 사고 발생 시 각 NHI의 생성정보, 소유자, 사용 패턴 및 접근 권한을 신속하게 파악하여 침해 범위를 이해하고 효과적인 봉쇄 및 근절 조치를 계획하는 데 도움이 될 수 있습니다.
  • 정기적인 보안 평가 및 감사: 타사 통합 및 관련 NHI에 부여된 권한에 대한 정기적인 보안 평가를 수행합니다.

결론: 사전 예방적 NHI 보안 및 강력한 사고 대응이 필수적입니다.

tj-actions/changed-files 액션의 침해는 비인간 ID가 공격자에게 매력적인 대상임을 강력하게 상기시켜 줍니다. 조직이 자동화 및 상호 연결된 시스템에 점점 더 의존함에 따라 이러한 머신 ID의 보안과 강력한 사고 대응 프레임워크를 우선시해야 합니다. 위험을 이해하고 사전 예방적 보안 조치를 구현하며 특화된 NHI 관리 솔루션을 활용함으로써 조직은 공격 표면을 크게 줄이고 보다 탄력적이고 안전한 소프트웨어 개발 라이프사이클을 구축할 수 있습니다. 오늘날의 위협 환경에서 NHI에 대한 보안 및 사고 대응 계획을 무시하는 것은 더 이상 실행 가능한 선택 사항이 아닙니다. 크리밋의 통합된 접근 방식은 NHI 보안의 모든 측면을 다루어 조직이 진화하는 위협에 앞서 나갈 수 있도록 지원합니다.

Latest posts

About Cremit!

Enjoy articles, resources and Non-Human Identity Best Practices
Updates
8 min read

인간 대 비인간 인증 정보: 주요 차별점

인간과 비인간 디지털 신원의 중요한 차이점을 탐구하여 숨겨진 보안 위험과 비밀 탐지의 중요성을 밝혀보세요.
Read post
Updates
8 min read

Secret 확산과 Non Human Identity: 증가하는 보안 문제

관리되지 않는 비인간 인증정보(NHI) 확산이 심각한 보안 초래하는 방식과, Cremit의 탐지 도구가 자격 증명 노출로부터 귀사를 보호하는 방법에 대해 자세히 알아보세요.
Read post