3월 24일, AI 개발자 커뮤니티는 작은 충격에 휩싸였다. 널리 사용되던 LiteLLM 파이썬 패키지가 감염된 채 배포된 사실이 밝혀졌기 때문이다. `pip install` 명령어 한 줄로 API 키가 외부로 유출될 수 있는 악성 코드가 포함된 버전이 무려 3시간 동안 공개되었다. 이 짧은 시간 동안 하루 다운로드 수 340만 건에 달했고, Wiz에 따르면 클라우드 환경의 36%에 이 패키지가 설치된 것으로 추정된다. 편리함이라는 이름 아래 우리가 얼마나 깊은 의존성에 빠져 있었는지, 그리고 그 의존성이 얼마나 치명적인 위험을 안고 있었는지 여실히 보여주는 사건이다. AI가 코드를 대신 짜주는 시대에 개발자들은 역설적으로 '쓰기'를 넘어 '만들기'로 무게중심을 옮기고 있다. 이는 단순한 기술적 흐름이 아니다. 외부 의존성 관리의 실패가 초래할 수 있는 막대한 책임에 대한 냉혹한 경고다.
외부 의존성, 편리함을 넘어 책임의 영역으로
LiteLLM 감염 사건의 본질은 간단하다. 공격자는 1.82.7 버전과 1.82.8 버전에 악성 코드를 심었다. 이 코드는 파이썬 스크립트 시작 시 자동으로 실행되어 환경 변수에 저장된 API 키를 외부 서버로 전송하는 방식으로 동작했다. 이는 소프트웨어 공급망 공격의 전형적인 형태다. AI 개발의 가파른 속도와 복잡성은 개발자들이 외부 패키지에 대한 의존성을 폭발적으로 늘리게 만들었다. 검증되지 않은 수많은 오픈소스 라이브러리와 AI 모델들이 빠르게 도입되고 있다. 개발자들은 빠른 프로토타이핑과 기능 구현을 위해 이들을 아무런 의심 없이 `pip install` 한다.
하지만 이러한 '편리함'은 양날의 검이다. 외부 패키지에 대한 깊은 의존성은 잠재적인 보안 취약점을 내포한다. 하나의 패키지가 감염되면, 이를 사용하는 모든 프로젝트와 시스템이 위험에 노출된다. 이는 개발자들이 이른바 '제로 디펜던시(Zero Dependency)' 전략을 추구하게 되는 구조적 원인이다. AI가 코드를 대신 짜주는 지금은 처음부터 직접 만드는 비용이 전과 비교할 수 없을 정도로 낮아졌다. 외부 패키지에 기대어 온 방식 자체가 공격 경로가 된다는 인식이 확산한다. 이런 위협은 앞으로 더욱 교묘하고 지능적으로 진화할 것이다. 소프트웨어 생태계 전반의 신뢰를 무너뜨리는 공급망 공격은 이제 기업의 존폐를 가를 수 있는 핵심적인 위험 요소다. 결국 개발팀은 속도와 보안, 그리고 비용 사이에서 '직접 구축할 것인가, 아니면 검증된 외부 리소스를 활용할 것인가'라는 근본적인 질문에 대한 답을 찾아야 한다. 이 책임의 범위는 갈수록 확장된다.
플랫폼의 책임: AI 시대에도 예외는 없다
코드 의존성의 책임 문제가 개발자 개인의 영역에 머무르지 않는다는 점을 메타(Meta) 사례가 명확히 보여준다. 뉴멕시코주 배심원단은 메타가 플랫폼의 위험성에 대해 사용자에게 경고하지 않고 아동 성 착취에 대한 보호 의무를 다하지 않았다며 3억 7,500만 달러의 손해배상 책임을 선고했다. 배심원단은 메타가 "불공정하고 기만적인", 그리고 "비양심적인" 거래 관행에 고의적으로 참여했다고 판단했다. 이는 기업이 "우리는 그저 플랫폼일 뿐, 사용자 활동에 대한 책임은 사용자에게 있다"는 오랜 주장을 더는 펼 수 없음을 의미한다.
AI 기술의 발전은 플랫폼의 역할을 더욱 고도화했다. 정교한 추천 알고리즘과 콘텐츠 필터링, 사용자 경험 설계 등이 이제 AI의 손에서 이루어진다. 이로 인해 플랫폼은 단순히 정보를 중개하는 수동적인 공간을 넘어, 사용자의 행동과 인지에 깊이 개입하고 영향을 미치는 능동적인 행위자가 되었다. 기술의 영향력이 커질수록 그에 따른 사회적 책임도 비례하여 커지는 것은 당연하다. 특히 아동 보호와 같은 민감한 사회적 가치 앞에서는 기술 중립성 주장이나 개발의 자유라는 명분만으로는 설 자리를 잃는다.
이러한 흐름은 AI 에이전트와 자율 시스템의 확산과 맞물려 책임의 문제를 더욱 복잡하게 만든다. AI 에이전트가 콘텐츠를 생성하고, 사용자를 분류하며, 특정 행동을 유도할 때, 그 결과에 대한 궁극적인 책임은 누가 지는가? 인간 개발자와 기업은 AI의 예측 불가능한 행동에 대한 통제력과 책임성을 어떻게 확보할 것인가? 메타 판결은 AI 시대를 맞이하는 기술 기업들에게 플랫폼 디자인과 기능 구현에 대한 새로운 종류의 규제와 소송 위험을 예고한다. AI의 자율성이 커질수록, 이를 설계하고 배포한 인간의 책임의 무게도 함께 커진다.
AI는 '쓰기'를 넘어 '만들기'의 동반자로
이러한 외부 의존성과 플랫폼 책임에 대한 긴장은 AI 개발 패러다임의 근본적인 변화를 촉진한다. 올해 초 AI 코딩 도구에 대한 열광은 이제 '가져다 쓰는' 것을 넘어 '직접 만드는' 시대로 빠르게 옮겨가고 있다. 이정민님의 LinkedIn 업데이트는 이 전환의 네 가지 주요 방향성을 제시한다. 첫째, 제로 디펜던시 전략이다. LiteLLM 감염 사건이 보여주듯 외부 패키지에 대한 맹목적인 의존을 줄이는 것을 넘어, 없애는 방향으로 나아간다. 둘째, 시스템 언어 전환의 가속화다. 러스트(Rust), 고(Go), 지그(Zig)와 같은 시스템 언어로 기존 프로젝트를 옮기는 사례가 늘고 있다. AI 코딩 도구의 도움으로 이러한 고난이도 언어 전환이 실질적으로 쉬워지면서, 개발자들은 메모리 안정성과 실행 속도를 확보하고 운영 리소스까지 절감하는 일석삼조의 효과를 얻는다.
셋째, 에이전트용 CLI(명령줄 인터페이스)의 직접 개발이다. AI 에이전트가 매번 코드를 생성하는 방식은 비효율적이고 예측 불가능하다. 대신 `mycli deploy --env staging`처럼 모든 입력을 `--flag`로 받는 결정론적 CLI를 직접 구축하여 에이전트 스킬과 연결한다. 명령은 멱등(idempotent)하게 만들고 `--dry-run`과 `--yes`를 분리하여 파괴적 작업 전에 검증 단계를 넣는 방식이 표준으로 자리 잡는다. 넷째, 스킬 리포지토리의 부상이다. 코드가 아닌 에이전트가 바로 쓸 수 있는 워크플로와 설정 파일에 관심이 몰리면서, 비개발자들도 자신의 도메인 지식을 스킬로 정리해 GitHub에 공개하는 시대가 온다. 이일민님의 블로그 사례처럼 AI가 직접 글을 쓰고 저자로 명시되는 협업 단계까지 이르렀다.
이 모든 흐름은 하나의 공통된 방향을 가리킨다. 외부 의존성을 끊고 핵심 역량을 내재화하려는 움직임이다. AI는 단순히 코드를 생성하는 것을 넘어, 복잡한 시스템 설계와 구현 과정을 보조하며 개발자가 '나만의 것'을 만들도록 돕는 강력한 동반자로 자리매김한다. AI의 도움으로 이제 개발자들은 거대한 외부 라이브러리에 묶이지 않고, 필요한 부분을 직접 구축하고 최적화하는 데 집중할 수 있다. 이는 소프트웨어 생태계를 더욱 다변화시키고, 특정 플랫폼이나 기술 스택에 대한 종속성을 낮추는 효과를 가져온다. 결과적으로 AI는 개발자에게 더욱 자유롭고 책임감 있는 '만들기'의 시대를 열어주고 있다.
LiteLLM을 사용 중이라면 지금 바로 `pip show litellm` 명령어로 설치된 버전을 확인하라. 만약 감염 가능성이 있는 1.82.7 또는 1.82.8 버전을 사용한다면, 즉시 안전한 이전 버전으로 다운그레이드하거나 삭제하는 조치를 취해야 한다. 더 나아가, AI가 제공하는 '만들기'의 기회를 적극 활용해 당신의 핵심 시스템에서 불필요한 외부 의존성을 제거하고, AI를 책임감 있는 동료로 재정의하는 작업에 착수하라.