[Tech Insight] AI 코딩 확산 속 소프트웨어 공급망이 빠르게 뚫리는 이유
||2026.04.03
||2026.04.03
[디지털투데이 황치규 기자]최근 인터넷에서 가장 많이 쓰이는 소프트웨어 패키지 중 하나인 액시오스(Axios)가 해킹을 당했다.
공격자는 소스코드를 한 줄도 건드리지 않았는데도 수백만 대 기기에 악성코드를 심는 위력을 보여줬다. 참고로 액시오스는 자바스크립트 생태계에서 HTTP 요청을 처리하는 핵심 라이브러리로, 주간 다운로드 수가 1억건을 넘는다.
액시오스를 공격한 해커가 한 일은 세 가지다. 메인테이너 계정을 탈취하고, 패키지 목록에 새 의존성(dependency: 소프트웨어가 작동하기 위해 필요한 외부 패키지) 하나를 추가한 뒤, 업데이트를 배포한 것 뿐이다.
추가된 패키지는 공격 몇 시간 전에 새로 등록된 'plain-crypto-js'였다. 이 패키지는 설치 시 운영체제를 파악하고, 맞춤형 원격 접속 트로이목마를 내려받아 실행하고, 흔적을 지웠다. 개발자가 node_modules 폴더를 열어봤을 때는 이미 사라진 뒤였다. 악성코드는 이미 공격자 서버에 접속을 마친 상태였다.
더 큰 문제는 기존 보안 도구로는 이를 잡아낼 수 없었다는 점이다. 이들은 "대부분 소프트웨어 구성 분석 도구(Software composition analysis tools)는 알려진 취약점 데이터베이스(CVE)와 대조하는 방식으로 작동한다. 새로 투입된 악성 패키지는 CVE에서는 확인할 수 없다. 해킹된 액시오스 버전에 npm audit을 실행해도 결과는 '이상 없음'이었다.
실리콘밸리 벤처 투자 회사 앤드리슨 호로위츠 조엘 드 라 가르자 정보보안 파트너, 말리카 아우바키로바 AI인프라팀 투자자, 제인 래키 총괄 파트너는 이번 공격에 대해 "공격 방식은 단순했지만 피해는 광범위했다"면서 AI 코딩이 확산되는 가운데 소프트웨어 공급망 리스크가 점점 커지고 있음을 보여주는 사례로 규정했다.
개발자 생산성을 높이는 AI 코딩 도구가 동시에 공급망을 취약하게 만들고 있다는 것이었다.
필자들이 깃허브 저장소 수천 곳에서 11만7000건 이상 의존성 변경(개발자가 프로젝트에서 가져다 쓰는 외부 패키지를 추가하거나 삭제하거나 버전을 바꾸는 행위)을 분석한 연구를 인용했는데, AI 에이전트는 인간보다 50% 더 자주 알려진 취약점이 있는 버전을 선택한다. 필자들은 "더 나쁜 건 AI가 고른 취약한 버전은 수정도 더 어렵다는 점이다. 코드 전반을 손봐야 하는 대대적인 업그레이드가 필요한 경우가 훨씬 많다"고 지적했다.
신형 공격 기법인 '슬롭스쿼팅(slopsquatting)'도 위협으로 부상했다. LLM은 존재하지 않는 패키지 이름을 만들어내는 경우가 많은데, 이를 악용하는 기법이다. 필자들은 한 연구를 인용해 "AI가 추천한 패키지 약 20%가 실제로 없는 패키지였고, 그중 43%는 여러 번 질의해도 같은 이름이 반복됐다. 공격자는 이 부분을 파고들고 있다"고 전했다.
자율 코딩 에이전트도 보안 측면에선 리스크다. 필자들은 "자율코딩 에이전트는 사람 손을 거치지 않고 의존성을 설치하고, 빌드를 실행하고, 풀 리퀘스트를 올린다. '작동하는가'를 최적화할 뿐 '안전한가'는 따지지 않는다. 보안 검토 시간은 사실상 0에 수렴한다"고 말했다.
팀PCP(TeamPCP)로 불리는 캠페인은 공급망 공격이 어떻게 연쇄적으로 번지는지 보여주며 액시오스 사례보다 더욱 큰 파장을 불러일으켰다. 이들에 따르면 시작점은 오픈소스 취약점 스캐너 트리비(Trivy)였다. 공격자는 코드를 자동으로 빌드하고 테스트하고 배포하는 자동화 도구인 깃허브 액션에서 워크플로 설정 오류를 이용해 액세스 토큰을 훔쳤다. 이를 통해 트리비 거의 모든 버전 태그에 악성 코드를 강제 삽입했다.
보안 점검을 위해 트리비를 내려받은 사람은 자신도 모르게 공격자가 심은 코드를 실행하게 됐다. 악성코드는 자동화 개발 환경에 저장된 각종 접속 키들을 빼냈다. 여기에는 서버 접속 키, 클라우드 서비스 인증 정보, 패키지 배포 권한까지 포함됐다. 자바스크립트 개발자들이 패키지를 올리고 내려받는 저장소이자 관리 도구인 npm 접속에 필요한 토큰도 탈치됐는데, 이는 다음 단계 공격에 활용됐다.
필자들은 "토큰 하나로 시작한 공격이 8일 만에 깃허브 액션, 도커 허브, npm, PyPI, VS코드 익스텐션 마켓플레이스까지 번졌다. 수천 개 조직이 잠재적 피해 양향권에 노출됐다"고 말했다.
필자들에 따르면 AI 코딩으로 커지는 보안 리스크에 효과적으로 대응할 수 있는 방법은 탐지 속도를 확 끌어올리는 것이다. 이들은 "코드는 이제 사람이 아니라 기계의 속도로 만들어진다. 방어가 같은 속도로 따라잡지 못하면, 코드를 배포하는 기계가 악성코드도 함께 배포한다"고 경고했다.
하지만 탐지 속도면에서 AI 시대 새로운 위협에 효과적으로 대응할 수 역량을 관련 업계가 갖추고 있는지는 의문이다. 업계 평균 공급망 침해 탐지 시간은 267일이다. 솔라윈즈는 14개월, XZ 유틸리티는 2년이 걸렸다.
이런 가운데 보안 스타트업 소켓(Socket)은 액시오스 공격에 쓰인 악성 의존성을 배포 6분 만에 탐지해 눈길을 끈다. 업계 평균보다 약 6만3000배 빠른 속도다. 해킹된 액시오스 버전이 처음 배포되기 16분 전, 악성 패키지 자체를 먼저 잡아냈다.
필자들에 따르면 소켓이 취한 접근은 기존과는 다르다. 소켓은 CVE 데이터베이스와 대조하지 않고코드가 실제로 무엇을 하는지 분석한다. 네트워크에 접근하는지, 셸 프로세스를 실행하는지, 페이로드를 난독화하는지, 환경 변수를 읽는지를 본다. CVE도 없고 전례도 없는 신종 악성 패키지를 잡아낼 수 있는 이유다.
필자들은 "앞서가는 팀은 공통점이 있다. 침해 사실을 통보받을 때까지 기다리지 않는다. 보안 통제를 위협과 가장 가까운 지점, 즉 의존성이 빌드에 들어오는 순간으로 옮겼다. CVE 데이터베이스에만 의존하지 않고 실제 패키지 동작을 분석한다. 의존성 그래프를 라이브러리 목록이 아닌 지속적으로 감시해야 할 살아있는 공격 표면으로 다룬다"고 강조했다.
고객님만을 위한 맞춤 차량
