3월 24일, 인기 AI 라이브러리 liteLLM PyPI 패키지가 감염되는 충격적인 사건이 발생했다. 개발자들은 `pip install litellm` 명령을 실행하는 순간, 자신의 API 키가 외부로 유출될 수 있는 위험에 노출되었다. 이는 단순한 버그가 아니다. `Trivy`와 `Checkmarx` 같은 보안 도구들이 연쇄적으로 악용되고, 심지어 `.pth` 파일을 통해 Python 시작 시 자동으로 악성코드가 실행되는 고도화된 공급망 공격이었다. `Wiz`의 조사에 따르면 클라우드 환경의 36%에서 `liteLLM`이 설치되어 있으며, 월간 다운로드 수는 약 9,700만 건에 달한다. 이 수치는 얼마나 많은 개발자와 서비스가 잠재적 위협에 놓였는지를 명확히 보여준다. AI 코딩 도구가 개발자에게 전례 없는 편리함을 제공하는 지금, 역설적으로 우리는 외부 의존성을 줄이고 '직접 구축'하는 시대로 빠르게 전환하고 있다.

AI 시대, 제로 디펜던시가 필수가 되다

`liteLLM` 공격 사례는 AI 시대의 공급망 보안이 얼마나 취약한지 적나라하게 드러냈다. AI가 코드를 대신 짜주는 시대에 개발자들이 외부 패키지에 무한정 의존하는 방식은 더 이상 안전하지 않다. 과거에는 직접 코드를 작성하는 비용이 높았기에 외부 라이브러리를 사용하는 것이 효율적이었다. 하지만 AI의 발전은 이 공식을 뒤집었다. AI가 처음부터 코드를 생성하는 비용을 드라마틱하게 낮추면서, 이제는 외부 의존성을 감수하기보다 직접 구현하는 것이 더 안전하고 통제 가능한 선택지가 되었다.

이러한 흐름은 '제로 디펜던시' 전략을 핵심 개발 원칙으로 끌어올린다. 개발자들은 이제 외부 패키지를 선택할 때 단순히 기능성이나 인기도를 넘어, 잠재적 보안 위협을 최우선으로 고려한다. 자체적으로 보안 감사를 수행하고, 최소한의 의존성만을 유지하며, 핵심 로직은 직접 제어하려는 움직임이 가속화된다. 이는 단순한 비용 절감을 넘어, 서비스의 안정성과 신뢰성을 확보하는 근본적인 방법이다. 장기적으로는 자체 보안 역량을 갖춘 개발 팀과 플랫폼이 경쟁 우위를 점하며, 외부 의존성이 높은 프로젝트는 심각한 리스크에 직면할 가능성이 크다. 지금 당장, 사용 중인 패키지의 보안 취약점 점검을 일상화하고, 꼭 필요한 경우가 아니라면 외부 의존을 최소화해야 한다.

시스템 언어와 에이전트 CLI, 새로운 개발 표준

외부 의존성 제로의 또 다른 축은 기존 모던 스택에서 시스템 언어로의 전환이다. 웹 개발 생태계를 주름잡던 JavaScript/TypeScript 기반 도구들이 Rust로 재작성되는 현상은 이미 광범위하게 관찰된다. `Webpack`은 `Rspack`으로, `Rollup`은 `Rolldown`으로, `Babel`은 `SWC`로, `ESLint`는 `Oxlint`로, `Prettier`는 `Biome`으로 바뀌는 중이다. OpenAI조차 `Codex CLI`를 TypeScript에서 Rust로 전면 재작성했다. `Node v22+` 의존성 제거, GC 없는 런타임 성능, 네이티브 보안 바인딩이 그 이유였다. Andreas Kling은 자신의 독립 브라우저 프로젝트인 `Ladybird`의 C++ 엔진을 Rust로 포팅하는 데 Claude Code와 `Codex`를 활용하여 2주 만에 25,000줄을 옮겼다. 2026년 벤치마크는 Rust 프레임워크가 Python 대비 메모리 효율이 최대 5배 높다고 보고한다. `Rolldown`은 기존 `Rollup`보다 10~30배 빠르다.

이러한 시스템 언어 전환의 배경에는 성능과 보안이라는 두 가지 핵심 가치가 있다. AI 에이전트 기반 애플리케이션이 확산되면서 고성능 런타임과 엄격한 타입 시스템의 중요성이 더욱 부각된다. 타입 시스템이 엄격할수록 AI 생성 코드의 컴파일 통과율이 높아져, 에이전트의 안정적인 동작에 유리하다. 또한, 에이전트가 복잡한 작업을 수행할 때마다 코드를 생성하는 것은 토큰 낭비이자 비결정론적인 결과를 낳는다. 여기서 CLI의 역할이 커진다.

개발자들은 이제 `MCP(Multi-Cloud Platform)` 대신 CLI를 직접 만들어 에이전트 스킬과 연결한다. Microsoft는 `Playwright MCP`와 별도로 `Playwright CLI`를 출시하며 "코딩 에이전트에는 CLI+Skills를 권장한다"고 명시했다. ObsidianGoogle 또한 각각 `Obsidian CLI`, Rust 기반 `gws CLI`를 공개했다. MCP 방식은 전체 스키마를 컨텍스트에 주입하여 4만~10만 토큰씩 소모하는 비효율이 있었지만, CLI는 `--help` 한 줄이면 충분해 고정 토큰 비용을 수백 배 절감한다. CLI 출력은 텍스트와 파이프로 조합 가능하며, LLM이 수십 년간 학습한 Unix 패턴을 그대로 활용한다. `멱등(idempotent)`하고 `--dry-run`으로 검증 가능한 CLI 명령어는 에이전트의 재시도와 자기 검증에 최적화된 형태다. 이는 에이전트 기반 개발의 효율성과 신뢰성을 극대화하는 새로운 표준이 된다.

코드 넘어 스킬 레포, 도메인 지식의 재발견

AI 시대의 '구축'은 단순히 기술 스택의 변화에만 그치지 않는다. 지식과 전문성을 패키징하는 방식 또한 변화하고 있다. 최근 GitHub 트렌딩에는 'marketingskills', 'pm-skills'처럼 마케터나 PM이 올린 비개발 직군의 스킬 레포가 등장한다. GitHub이 더 이상 개발자만의 전유물이 아니라는 명확한 신호다.

이러한 현상의 본질은 '도메인 전문성의 패키징'에 있다. 에이전트에게 "마케팅 캠페인을 설계해달라"고 요청할 때, 복잡한 코드 프로젝트보다 해당 도메인의 프레임워크와 워크플로가 담긴 `SKILL.md` 파일이 훨씬 더 의미 있는 컨텍스트가 된다. Anthropic, OpenAI, Microsoft(.NET) 등 주요 AI 기업들은 모두 공식 스킬 레포를 운영하며, `SKILL.md` 표준은 `Claude Code`, `Codex CLI`, `GitHub Copilot`, `Gemini CLI`, `Cursor` 등으로 확산 중이다. 현재 스킬 마켓플레이스에는 50만 건 이상의 스킬이 등록되었다. 이는 AI가 전문가의 지식을 활용하는 방식을 근본적으로 바꾼다. 코드를 직접 짜지 않더라도, 도메인 전문성을 명확하게 구조화하고 패키징하는 능력이 미래 AI 시대의 핵심 경쟁력이 된다.

이 모든 변화의 공통 키워드는 '의존성 탈피'다. 패키지 의존, 런타임 의존, 프로토콜 의존, 그리고 코드 중심 배포 의존까지, 외부에 기대던 것을 직접 만드는 쪽으로 개발의 무게 중심이 이동하고 있다. AI가 코드를 대신 짜주는 현실이 그동안 비현실적으로 여겨졌던 이 전환을 가능하게 만들었다. 지금 바로 `pip show litellm` 명령어로 자신이 사용하는 `liteLLM` 버전을 확인하고, 최신 보안 패치가 적용되었는지 점검해야 한다. 그리고 새로운 AI 프로젝트를 시작할 때, Rust와 같은 시스템 언어를 적극적으로 고려하라.

참고