---
schemaVersion: 1
slug: mp-209-20260325-karpathy-litellm-supply-chain-dependency-risk
ticketId: MP-209
lang: zh-tw
title: Karpathy 的軟體噩夢：一個 pip install 就能偷走你所有的 key
summary: LiteLLM 遭供應鏈攻擊，pip install 就能偷走所有憑證。Karpathy 藉此警告依賴樹風險，主張用 LLM 直接補功能取代多裝依賴。
originalDate: 2026-03-24
translatedDate: 2026-03-25
source: "@karpathy on X"
sourceUrl: https://x.com/karpathy/status/2036487306585268612
author: null
authorshipNote: null
canonicalUrl: https://gu-log.vercel.app/posts/mp-209-20260325-karpathy-litellm-supply-chain-dependency-risk
status: published
replacementTicketId: null
replacementUrl: null
---

# Karpathy 的軟體噩夢：一個 pip install 就能偷走你所有的 key

> **來源:** [@karpathy on X](https://x.com/karpathy/status/2036487306585268612)

你上一次 `pip install` 是什麼時候？大概就在幾分鐘前吧。(◍•ᴗ•◍)

[Andrej Karpathy](https://gu-log.vercel.app/glossary#andrej-karpathy) 在 X 上發了一則讓整個開發者社群冷汗直流的貼文，標題只有兩個字：**Software horror**。他說的是 LiteLLM 的 PyPI 供應鏈攻擊 — 一個我們很多人可能每天都在用、或者根本不知道自己在用的套件。

## 一個 `pip install` 能做多少壞事？

Karpathy 說，光是執行一句 `pip install litellm`，就已經足以讓惡意程式外傳一大串敏感資料。他列出的清單簡直像是「開發者最怕的東西大全」：

SSH keys、AWS/GCP/Azure 憑證、Kubernetes 設定、git credentials、環境變數（也就是你所有的 API keys）、shell history、crypto wallets、SSL private keys、CI/CD secrets，還有 database passwords。

> **Mogu 內心戲：**
>
> 這清單讀起來像是在列「一個開發者的數位身家」。你想想，如果有人拿到了你的 SSH key + AWS creds + K8s config，那基本上你整個雲端環境都是人家的了。而且 LiteLLM 本身就是管 API key 的工具 — 攻擊者挑它下手，根本是直奔保險箱。

---

## 97 million 月下載，而且會傳染

LiteLLM 本身每月有 9,700 萬次下載，但 Karpathy 指出更可怕的是**傳染效應**：任何依賴 LiteLLM 的專案都會中招。他舉例，如果你跑了 `pip install dspy`（它依賴 `litellm>=1.64.0`），你一樣會被打到。其他大型專案也是同樣的道理。

---

## 惡意版本只活了不到一小時 — 因為攻擊者自己的 bug

據 Karpathy 所知（afaict），被植入惡意程式碼的版本在 PyPI 上只存活了不到大約一小時。而被發現的原因有點諷刺 — 攻擊本身有個 bug。

Callum McMahon 在 Cursor 裡跑一個 [MCP](https://gu-log.vercel.app/glossary#mcp) plugin，這個 plugin 間接把 litellm 當 transitive dependency 拉了進來。當 `litellm 1.82.8` 裝上去之後，他的機器直接記憶體爆炸、當機了。Karpathy 原文的措辭很微妙：**如果攻擊者沒有 “vibe code” 這次攻擊**，搞不好好幾天甚至好幾週都不會被發現。

Karpathy 引用的原始推文還補充：出問題的是 PyPI 上的 `1.82.8` 版，裡面有一個叫 `litellm_init.pth` 的檔案，會用 base64 編碼的指令把它能找到的所有憑證送到遠端伺服器，還會嘗試自我複製。

> **Mogu 溫馨提示：**
>
> “Vibe code” 這個詞用在攻擊者身上真的很毒。意思大概是：連寫 malware 的人都在隨手亂寫，結果自己搞出 fork bomb 把目標機器弄當機，才被抓到。如果他們多 debug 一下，後果不堪設想。

---

## 供應鏈攻擊 = 現代軟體最可怕的東西

Karpathy 的觀點很直接：像這樣的供應鏈攻擊，基本上是**現代軟體裡最可怕的事**。每一次你安裝任何一個依賴，都可能在它的整個依賴樹深處拉進一個被汙染的套件。對那些依賴很多很多套件的大型專案來說，這種風險尤其高。

而且被偷走的憑證可以拿來接管更多帳號、再汙染更多套件 — 形成一個惡性循環。

---

## 重新思考依賴：用 LLM 來 “yoink”

最後，Karpathy 拋出了一個更大的觀點。他說，傳統軟體工程告訴我們依賴是好事 — 我們在用磚塊蓋金字塔。但在他看來（imo），這個觀念需要被重新評估。

他自己的做法是：**越來越傾向減少依賴，改用 LLM 把功能直接「yoink」出來** — 前提是功能夠簡單、而且可行。

> **Mogu 真心話：**
>
> 這其實跟他之前用 DeepWiki MCP 從 torchao 裡抽出 fp8 訓練邏輯的實驗一脈相承（可以回看我們之前寫的那篇）。「Libraries are over, LLMs are the new compiler」— 雖然聽起來激進，但 LiteLLM 這次事件算是幫他的論點加了一個血淋淋的佐證。

---

## 結語

LiteLLM 這起事件，對 Karpathy 來說像是再次提醒大家：現代軟體對依賴的信任，可能需要重新評估。

他的結論也很直接：如果某段功能夠簡單，而且真的做得到，他自己會更傾向用 LLM 把那段功能補出來，而不是再多裝一個依賴。(๑˃ᴗ˂)ﻭ
