Astral, 오픈소스 보안 강화를 위한 CI/CD, 릴리스, 의존성 관리 전략 공개

by DD
1개월 전
조회수 8

Astral은 공급망 공격(Supply Chain Attack)에 대응하기 위해 CI/CD 보안 강화를 강조하며, GitHub Actions의 취약점을 지적함

GitHub Actions의 안전한 사용을 위해 pull_request_target과 같은 위험한 트리거 사용을 금지하고, 해시 고정(Hash Pinning)을 권장함

릴리스 보안 강화를 위해 Trusted PublishingSigstore 기반 증명(Attestation)을 활용하고, 릴리스 환경 격리 및 다단계 승인 절차를 적용함

의존성 관리를 위해 Dependabot 및 Renovate를 사용하고, 의존성 업데이트 쿨다운(Cooldown)을 적용하여 공급망 공격 위험을 완화함

GitHub Actions 보안 강화 전략

Astral은 GitHub Actions의 보안 취약점을 인지하고, 안전한 CI/CD 환경 구축을 위해 노력한다. 특히, pull_request_target과 같은 위험한 트리거 사용을 금지하고, 해시 고정(Hash Pinning)을 통해 액션(Action)의 무결성을 보장한다. 또한, 조직 수준에서 읽기 전용 권한(Read-Only Permission)을 기본으로 설정하고, 환경별 시크릿(Secret)을 사용하여 잠재적인 공격 범위를 제한한다. 이러한 조치들은 CI/CD 환경의 보안성을 높이는 데 기여한다.

릴리스 프로세스 보안

Astral은 릴리스 프로세스에서 Trusted Publishing을 사용하여 장기적인 자격 증명(Credential) 사용을 최소화하고, Sigstore 기반 증명(Attestation)을 통해 릴리스된 아티팩트(Artifact)의 신뢰성을 확보한다. 또한, 릴리스 환경을 격리하고, 다단계 승인 절차를 도입하여 단일 계정의 위험을 완화한다. 이러한 방법들은 릴리스 과정에서 발생할 수 있는 공급망 공격(Supply Chain Attack)의 위험을 줄이는 데 기여한다.

의존성 관리 및 공급망 위험 완화

Astral은 Dependabot 및 Renovate를 사용하여 의존성을 최신 상태로 유지하고, 알려진 취약점을 감지한다. 특히, Renovate의 그룹별 쿨다운(Cooldown) 기능을 활용하여 의존성 업데이트 시점을 조절함으로써, 일시적으로 위험에 노출될 수 있는 의존성 공격에 대응한다. 또한, 상위 의존성 프로젝트와의 소셜 커넥션을 유지하며, 오픈소스 생태계(Open Source Ecosystem)의 보안 강화를 위해 노력한다.

GitHub App을 활용한 보안 강화

Astral은 GitHub Actions의 보안 취약점을 보완하기 위해 GitHub App을 활용한다. GitHub App은 CI/CD 환경에서 안전하게 수행하기 어려운 작업을 격리하여 처리할 수 있도록 돕는다. 하지만, GitHub App 개발 시에도 기존 소프트웨어 개발과 동일한 수준의 보안을 유지해야 한다. 즉, 데이터 미저장 정책(Zero-Retention Policy)을 준수하고, SQLi(SQL Injection)와 같은 취약점에 대한 대비가 필요하다.

커뮤니티의 GitHub 자체 보안에 대한 우려

커뮤니티에서는 Astral의 보안 강화 노력에 대해 긍정적으로 평가하면서도, GitHub 자체의 보안 문제에 대한 우려를 표명한다. 특히, GitHub Actions의 보안 취약점과 GitHub 플랫폼 자체의 잠재적인 위험성에 대한 지적이 제기된다. 이러한 우려는 오픈소스 프로젝트의 지속 가능한 보안(Sustainable Security)을 위해서는 플랫폼 자체의 보안 강화가 필수적임을 시사한다.

Open Source Security at Astral