아치 리눅스(Arch Linux)의 사용자 기여 저장소(AUR)에서 1,500개가 넘는 패키지가 악성코드에 감염되는 대규모 보안 사고가 발생했습니다. 초기에는 400여 개의 감염 패키지가 확인되었으나, 몇 시간 만에 900개, 최종적으로 1,579개로 그 수가 급증했습니다. 아치 리눅스 개발팀은 인지된 모든 악성 커밋을 삭제하며 상황이 통제되었다고 발표했지만, 공개된 목록이 전체 감염 패키지를 포괄하지 않을 수 있다고 밝혀 실제 피해 규모는 더 클 가능성이 있습니다.
이번 악성코드는 주로 Node.js 의존성인 'atomic-lockfile', 'js-digest', 'lockfile-js' 등을 통해 유포되었으며, 시간이 지나면서 npm 대신 bun을 사용하는 등 공격 방식이 진화했습니다. 특히 이 악성코드는 서명이나 문자열 기반 도구로는 탐지하기 어려운 변이형 웜(miasma worm)의 일종으로, 암호화된 페이로드와 동적으로 변하는 코드 구조를 사용해 보안 도구들의 추적을 어렵게 만들었습니다. 이는 기존의 정적 분석 방식으로는 공급망 공격을 막기 어렵다는 점을 시사합니다.
이번 사고는 아치 리눅스 AUR뿐만 아니라 npm, PyPI, Composer, Rubygems 등 다양한 패키지 관리 시스템 전반에 걸쳐 유사한 공급망 공격이 발생할 수 있음을 보여줍니다. 사용자들은 AUR 패키지 설치 시 PKGBUILD 파일을 직접 검토하고, 자동 업데이트보다는 수동 검증 절차를 거치는 등 주의를 기울여야 합니다. 그러나 모든 사용자가 설치하는 모든 코드의 한 줄 한 줄을 검토하는 것은 현실적으로 불가능하므로, 패키지 관리 시스템 자체의 보안 강화와 더 정교한 자동화된 검증 시스템 도입이 시급하다는 목소리가 커지고 있습니다. 오픈소스 생태계의 신뢰를 유지하기 위한 근본적인 보안 전략 재평가가 필요한 시점입니다.