보안 위협 인텔리전스 기업 크라우드섹(CrowdSec)이 자사 깃허브 저장소의 소스코드 유출 사실을 공개했다. 회사에 따르면 유출은 2026년 5월에 발생했고, 9월 16일 제보를 통해 이를 인지한 뒤 내부 검증을 거쳐 사실로 확인했다. 크라우드섹의 코드베이스는 두 갈래로 나뉜다. 하나는 보안 엔진(Security Engine)에 해당하는 자유·오픈소스 부분으로, 애초에 공개를 전제로 한 만큼 이번 사안의 범위 밖이다. 문제가 된 것은 비공개 영역으로, SaaS 콘솔 소스코드와 일부 AWS 클라우드 루틴, 커넥터, 자동화 스크립트가 여기에 담겨 있었다.
일부 매체가 '300개 저장소'라는 숫자를 헤드라인으로 내세웠는데, 크라우드섹은 이 수치가 130개 이상의 공개 저장소를 합산했을 때 성립하는 값이라고 설명했다. 즉 특정 규모의 데이터가 통째로 빠져나갔다기보다 코드가 잘게 분할되어 관리되는 구조가 반영된 숫자라는 것이다. 회사는 '유출된 다른 파일'이나 '내부 개발 자료'가 별도로 있었다는 주장은 확인해주지 않았다. 모든 코드가 이들 저장소에 게시되어 있으며, 외부에서 언급된 API 관련 정보는 CI/CD 구성요소 자체가 사용하던 토큰이라는 설명이다.
유출 경로로 지목된 개발 도구
주목할 대목은 유출 벡터다. 크라우드섹은 아직 조사가 진행 중이라는 단서를 달면서도, 자바스크립트 생태계에서 널리 쓰이는 탠스택(Tanstack) 컴포넌트의 침해가 유력한 경로라고 밝혔다. 이 컴포넌트는 5월에 조직 내부에서 사용되고 있었고, 비공개 코드베이스를 읽을 수 있는 권한을 지닌 API 키를 빼내도록 백도어가 심어진 것으로 보인다는 것이다. 회사는 이를 앞서 알려진 미스트랄 AI(Mistral AI) 사례와 같은 맥락으로 언급했다. 실제 악용이 가능했던 창은 2026년 5월의 짧은 기간에 국한됐다고 덧붙였다.
이 지점이 한국 개발 조직에 시사하는 바가 크다. 공격자가 노린 것은 크라우드섹의 인프라를 직접 뚫는 일이 아니라, 개발 파이프라인에 들어와 있던 서드파티 컴포넌트였다. 정상적으로 신뢰하고 끌어다 쓴 오픈소스 의존성이 백도어의 통로가 되고, 그 안에서 실행되는 CI/CD 토큰이 비공개 저장소 읽기 권한까지 쥐고 있었다는 구조다. 빌드·배포 환경에 주입되는 토큰의 권한 범위를 최소한으로 좁히고, 유효 기간을 짧게 두며, 의존성 무결성을 검증하는 일이 왜 형식적 절차가 아니라 실질적 방어선인지를 이 사건이 그대로 보여준다.
피해 범위와 회사의 판단
크라우드섹은 고객 데이터, 로그인 정보나 비밀번호, 이름, 조직명 등은 유출되지 않았다고 강조했다. 애초에 개인식별정보(PII)나 고객 로그를 저장하지 않는 구조라 영향이 자사 내부로 한정된다는 설명이다. 대응팀은 측면 이동(lateral movement)에 악용될 수 있는 토큰이나 자격증명, 민감 정보가 함께 새어나갔는지 추적했으나 현재까지 발견된 것은 없다고 밝혔다. 그러면서도 필요한 토큰과 자격증명 전체를 즉시 교체(rotate)했다.
소스코드 자체의 가치에 대해서는 다소 담담한 입장을 취했다. 크라우드섹의 경쟁력은 전 세계 사용자 네트워크가 만들어내는 위협 신호의 규모, 이른바 네트워크 효과에서 나오며 이는 코드만으로는 복제할 수 없다는 것이다. SaaS 소스코드는 정기적으로 감사를 받아왔고, 유출된 코드가 크라우드섹의 데이터와 도구하고만 상호작용하도록 설계되어 있어 다른 환경에서 재활용되기 어렵다는 점도 근거로 들었다. 다만 지난 4개월 동안 대부분의 코드가 상당히 바뀌었다는 점을 인정하며, 비정상 활동을 계속 모니터링하겠다고 했다.
결국 이번 사안은 유출된 결과물의 크기보다 그것이 들어온 문(門)에 초점을 맞춰 읽어야 한다. 소스코드 노출은 그 자체로 회사에 치명타가 아닐 수 있지만, 신뢰하던 개발 도구가 공급망 공격의 발판이 되고 CI/CD 자격증명이 광범위한 권한을 품고 있었다는 사실은 규모와 무관하게 어떤 조직에도 반복될 수 있는 위험이다. 크라우드섹은 조사가 이어지는 대로 추가 정보를 공개하겠다고 밝혔으며, 제보를 전한 퓌트 앵포(Fuites Infos)에 감사를 표했다.