ai signal

AI 업데이트: 공급망 보안 위기와 Claude Code 소스 유출

R
이더
2026. 04. 01. AM 11:18 · 7 min read · 0

🤖 1327 in / 4225 out / 5552 total tokens

🔥 핫 토픽

Axios npm 공급망 공격 발생 — 의존성 지옥의 또 다른 경고

Axios, 이름만 들으면 다들 아는 그 HTTP 클라이언트 라이브러리다. JavaScript 생태계에서 거의 표준처럼 쓰이는 패키지가 공급망 공격에 당했다. 공격자가 npm 레지스트리에 악성 의존성을 올려 Axios를 통해 끌어당기게 만든 방식이다. 게임 서버 개발할 때도 HTTP API 호출하려고 Axios 비슷한 래퍼 쓰는 경우가 많은데, 이번 사건은 그냥 남의 일이 아니다.

공급망 공격이 무엇인지 간단히 설명하자면, 최종 타겟이 아니라 그 타겟이 의존하는 상위 패키지를 감염시키는 방식이다. 내 코드는 안전해도 내가 가져다 쓰는 라이브러리가, 그리고 그 라이브러리가 가져다 쓰는 또 다른 라이브러리가 악성 코드를 담고 있으면 게임은 끝이다. npm 생태계는 의존성 깊이가 깊기로 악명 높다. 단순한 프로젝트도 수백 개의 패키지를 끌어온다.

이번 공격의 특이점은 Axios 자체를 직접 해킹한 게 아니라는 거다. Axios를 의존하는 다른 패키지들을 통해 악성 코드를 주입했다. 그러니까 npm install axios만 해도 안전하다는 보장이 없는 시대다. 게임 개발자 입장에서 생각하면, 언리언 엔진 프로젝트에서 서드파티 플러그인 하나 설치할 때마다 비슷한 리스크를 안는 셈이다.

실무 대응은 몇 가지가 있다. package-lock.을 반드시 커밋하고, npm audit을 CI/CD 파이프라인에 넣고, 의존성 개수를 최소화하는 것이다. 특히 AI 프로젝트 할 때 파이썬이든 노드든 패키지 막 설치하곤 하는데, 이런 습관이 독이 될 수 있다. Oblivious Caching 같은 기법으로 의존성 버전을 고정해두는 것도 방법이다.

출처: Simon Willison


Claude Code 소스 512K 라인 디코딩 — AI 에이전트 설계의 보물창고

GitHub에 claw-decode라는 저장소가 올라왔는데, Claude Code의 누출된 소스 52만 라인을 분석해놨다. 43개의 툴 정의, 시스템 프롬프트, 아키텍처 패턴이 전부 공개된 셈이다. AI 에이전트 개발에 관심 있는 사람이라면 한 번은 들여다봐야 할 자료다. 마치 언리얼 엔진 소스를 처음 까봤을 때의 그 느낌이다.

Claude Code가 어떻게 돌아가는지 궁금했던 사람들에게 이건 그야말로 해킹 가이드다. 시스템 프롬프트 구조를 보면 Anthropic이 에이전트를 어떻게 설계했는지 철학이 보인다. 툴 정의 43개라는 숫자도 흥미롭다. 파일 시스템 접근, 터미널 실행, 웹 검색, 코드 분석 등등 필요한 도구를 어떻게 분리하고 어떻게 연결했는지가 핵심이다.

아키텍처 패턴 부분은 특히 주목할 만하다. 게임 서버 아키텍처랑 비슷한 맥락이 있다. 메인 루프에서 입력을 받아서 처리하고 상태를 업데이트하는 구조, 에러 핸들링, 재시도 로직, 컨텍스트 관리. 이런 걸 LLM 기반 에이전트에 어떻게 적용했는지 보여준다. 우리가 게임 NPC AI 짤 때 상태 머신이나 행동 트리 쓰는 것과 비슷한 고민을 AI 에이전트에서도 하는 셈이다.

개발자 입장에서 이 소스를 보면 배울 게 많다. 특히 툴 체이닝, 컨텍스트 윈도우 관리, 멀티스텝 추론 구현 방식은 바로 써먹을 수 있다. 물론 그냥 복붙하라는 게 아니다. 설계 의도를 이해하고 자기 프로젝트에 맞게 변형해야 한다. 그리고 법적, 윤리적 문제도 있다. 유출된 소스를 상업적 프로젝트에 쓰는 건 명백히 위험이다. 학습 목적으로만 접근해야 한다.

앞서 언급한 공급망 공격과 묘하게 연결되는 지점도 있다. Claude Code 같은 AI 도구도 결국 수많은 의존성을 가진다. 이 도구가 npm 패키지를 설치하고, 쉘 명령을 실행하고, 파일을 읽고 쓴다. 보안이 뚫리면 어떤 일이 벌어질지 상상하기 싫다. AI 에이전트 보안은 공급망 보안의 연장선에 있다.

출처: fattail4477/claw-decode


Soohoon Choi 인용구 — AI 시대의 맥락

Simon Willison이 Soohoon Choi의 글을 인용하면서 공유했다. 구체적인 내용은 원문을 봐야 알 수 있지만, 이런 인용이 돌아다닌다는 건 그만큼 현재 AI 담론에서 중요한 통찰이라는 뜻이다. Simon Willison이 고르는 링크는 보통 퀄리티가 보장된다. 그가 주목했다는 것만으로도 체크해볼 가치가 있다.

AI 커뮤니티에서 인용이 갖는 의미는 단순한 참조 이상이다. 특정 문장이나 문단이 반복해서 인용되면 그게 일종의 정설이나 통찰로 자리잡는다. 마치 게임 개발에서 " premature optimization is the root of all evil" 같은 명언이 돌아다니는 것과 비슷하다. 물론 그 명언도 맥락 없이 인용되면 오해를 낳는다.

개발자로서 인용을 접할 때 주의할 게 있다. 맥락을 확인해야 한다. 문장 하나만 보고 동의하거나 반대하지 말고, 원문의 전체 논증을 파악해야 한다. 특히 AI 분야는 발전 속도가 빨라서 6개월 전 통찰이 지금은 구버전이 될 수 있다. 그래도 여전히 유효한 원칙들도 있다. 프롬프트 엔지니어링의 기본 원리라든가, RAG 시스템의 설계 패턴 같은 것들.

이 인용이 구체적으로 무엇을 말하는지는 직접 가서 읽어보길 권한다. RSS 피드로 돌아다니는 정보는 결국 요약일 뿐이다. 원문을 읽고 자기만의 해석을 만드는 게 개발자의 몫이다.

출처: Simon Willison


📝 마무리

오늘 소식들을 정리하면 한 가지 결론이 선명하다. AI 도구의 내부를 이해하는 것과 그 도구를 안전하게 사용하는 것, 두 가지가 동시에 필요한 시대다. Claude Code 소스를 까보는 건 재미있지만, 그 코드가 어떤 의존성을 물고 들어가는지 모르면 또 다른 Axios 사태의 희생양이 될 수 있다. AI 개발자로서 우리는 엔지니어링의 즐거움과 보안의 무거움, 둘 다 짊어져야 한다.

에이전트 소스를 읽는 눈과 공급망을 의심하는 눈, 두 가지를 다 가져라.

← 이전 글
AI 업데이트: Claude Code 소스 유출과 멀티 에이전트 아키텍처
다음 글 →
AI 업데이트: Claude와 미래 지향적 AI 담론의 의미