XoanLink
BTC $79,575.7 -1.78%
ETH $2,451.15 -2.00%
SOL $101.59 -3.10%
BNB $718.5 -0.24%
XRP $1.4 -3.99%
DOGE $0.0845 -5.16%
ADA $0.2121 -4.42%
AVAX $7.36 -1.93%
DOT $0.8625 -3.26%
LINK $11.64 -0.99%
⛽ ETH Gas 28 Gwei
Sợ&Tham
74

Gói độc .pth và 78.330 khóa API: Khi cơn sốt AI Agent biến thành mục tiêu của tấn công chuỗi cung ứng

Đỗ Hòa Lừa đảo

Nếu bạn đang chạy một AI Agent trong pipeline CI/CD của mình, có thể bạn đã vô tình trao chìa khóa văn phòng cho kẻ trộm.

Vào một buổi sáng thứ Ba tháng 3 năm 2025, gói litellm trên PyPI – một thư viện Python được hàng ngàn nhóm phát triển AI sử dụng để làm cầu nối giữa các mô hình ngôn ngữ lớn – đã bị nhiễm độc. Hai phiên bản 1.82.7 và 1.82.8 tồn tại vỏn vẹn 40 phút trước khi bị gỡ xuống. Nhưng trong khoảng thời gian ngắn ngủi đó, một tệp tin có tên litellm_init.pth đã lặng lẽ được thực thi trên hàng ngàn máy chủ và môi trường build. Kết quả: 78.330 khóa SSH, AWS/GCP/Azure credentials, Kubernetes token và LLM API key bị đánh cắp và gửi về một tên miền giả mạo – models.litellm.cloud.

Con số 2.186 tổ chức bị ảnh hưởng không chỉ là một cột mốc buồn cho bảo mật chuỗi cung ứng phần mềm. Nó là hồi chuông cảnh tỉnh cho một thực tế mới: kẻ tấn công không còn nhắm vào lỗi runtime nữa. Chúng đang nhắm vào lớp tin cậy nhất – package registry – và qua đó, chiếm quyền điều khiển toàn bộ hạ tầng AI Agent.

Đây là câu chuyện về sự kiện LiteLLM, nhưng không chỉ là câu chuyện về một gói độc. Nó là biểu đồ của một cuộc chiến tranh giành quyền kiểm soát “lớp kết nối” giữa con người, mô hình và dữ liệu. Và nếu bạn là một nhà phát triển blockchain, đang xây dựng các tác nhân AI trên chuỗi, hoặc đơn giản là một người dùng DeFi yêu thích chatbot – thì bạn đang ở trong vùng nguy hiểm.

Hook: Gói tin 40 phút

Ngày 18 tháng 3, CloudSEK – một công ty an ninh mạng Ấn Độ – phát hiện ra hai bản phát hành ác ý trên PyPI. Chúng không phải là kết quả của một lỗi mã hóa thông thường. Đây là một cuộc tấn công có chủ đích vào cơ sở hạ tầng AI Agent. Tệp .pth (path configuration file) là một tính năng ít người biết đến của Python: khi trình thông dịch khởi động, nó tự động import các đường dẫn được liệt kê trong tệp .pth. Kẻ tấn công đã lợi dụng điều này để thực thi mã tùy ý mà không cần bất kỳ lệnh import nào từ phía nhà phát triển. Không có dấu hiệu trong mã nguồn của dự án. Chỉ có một tệp cấu hình vô hại.

Trong vòng 40 phút, hệ thống thu thập dữ liệu đã hoạt động hết công suất. Nó quét các biến môi trường, tệp cấu hình, và thư mục .ssh để lấy tất cả những gì có thể. Kết quả được gửi đến models.litellm.cloud – một tên miền chỉ khác tên miền chính thức litellm.cloud ở chỗ thêm chữ “s” vào đầu. Một kỹ thuật “typosquatting” cổ điển nhưng cực kỳ hiệu quả khi kết hợp với một gói phần mềm hợp pháp.

Đây không phải là một cuộc tấn công đơn lẻ. Theo CloudSEK, nó là một phần của chiến dịch do Team PCP thực hiện, với các mục tiêu trước đó bao gồm Trivy (quét bảo mật container), CanisterWorm (npm worm), Checkmarx KICS (quét IaC) và Telnyx (API viễn thông). Mục tiêu: chiếm quyền kiểm soát chuỗi công cụ phát triển, từ đó thâm nhập vào các tổ chức lớn. LiteLLM chỉ là một viên gạch trong bức tường.

Context: Khi AI Agent trở thành “ca sĩ” của chuỗi cung ứng

Để hiểu tại sao LiteLLM lại quan trọng, bạn cần nhìn vào bức tranh lớn của AI Agent. Một AI Agent, dù là chatbot, công cụ tự động hóa, hay bot giao dịch, đều cần kết nối với các mô hình ngôn ngữ lớn (LLM) từ nhiều nhà cung cấp khác nhau: OpenAI, Anthropic, Google, Mistral, v.v. LiteLLM hoạt động như một “gateway” – một lớp trừu tượng giúp nhà phát triển chỉ cần viết một API call duy nhất để gọi bất kỳ mô hình nào. Nó được sử dụng rộng rãi trong các dự án AI Agent, bao gồm cả những dự án trong lĩnh vực tiền điện tử, nơi các bot giao dịch tự động, phân tích on-chain, và quản lý danh mục đầu tư dựa trên AI ngày càng phổ biến.

Bằng cách tấn công LiteLLM, kẻ tấn công không chỉ lấy được khóa API của các mô hình LLM – thứ có thể bị dùng để tiêu tốn hạn mức của nạn nhân – mà còn lấy được SSH keys, cloud credentials, và Kubernetes tokens. Điều này có nghĩa là chúng có thể truy cập vào toàn bộ hạ tầng nơi AI Agent đang chạy: server, database, cluster, và thậm chí cả các smart contract nếu chúng được kết nối.

Đây là một sự thay đổi lớn trong chiến thuật tấn công. Trước đây, các cuộc tấn công chuỗi cung ứng thường nhắm vào các thư viện phổ biến (như event-stream, ua-parser) để cài backdoor. Nhưng giờ đây, kẻ tấn công đã phát hiện ra rằng AI Agent là một “kho báu” tập trung: chúng thường được cấp quyền truy cập rộng rãi để hoạt động hiệu quả. Một AI Agent có thể có quyền đọc, ghi vào cơ sở dữ liệu, gọi API thanh toán, và thậm chí ký giao dịch. Nếu chiếm được Agent, bạn có thể làm bất cứ điều gì.

Core: Cơ chế tấn công và tâm lý thị trường

Có hai yếu tố khiến cuộc tấn công này trở nên đặc biệt: kỹ thuật và tâm lý.

Về kỹ thuật: Tệp .pth là một vector cổ điển nhưng ít được chú ý. Hầu hết các công cụ quét SCA (Software Composition Analysis) đều kiểm tra mã nguồn trong các gói, nhưng không kiểm tra tệp cấu hình. Kẻ tấn công đã khai thác điểm mù này. Hơn nữa, chúng chọn thời điểm phát hành vào lúc gần cuối tuần, khi các nhóm DevOps thường ít chú ý hơn. Và việc liên tục phát hành hai phiên bản cho thấy chúng có quy trình tự động hóa, có thể đã chiếm được tài khoản PyPI của maintainer (hoặc thông qua API token bị lộ).

Về tâm lý: Thị trường AI Agent đang bùng nổ. Hàng ngàn startup và dự án crypto lao vào xây dựng các tác nhân tự động. Họ chạy đua về tính năng, nhưng bỏ qua bảo mật. Một gói thư viện được tải về hàng triệu lần mỗi tháng là một “bề mặt tấn công” khổng lồ. Khi đội ngũ bảo trì của LiteLLM chỉ có vài người, họ không thể kiểm tra từng dòng mã trong mỗi bản phát hành. Kẻ tấn công biết điều này. Họ đặt cược vào sự lười biếng và vội vã của cộng đồng.

Contrarian: Góc nhìn phản trực giác – “AI Agent không phải vấn đề, mà là con tin”

Hầu hết các bài viết về sự kiện này đều tập trung vào việc cảnh báo các nhà phát triển AI. Nhưng tôi cho rằng điều thú vị hơn nằm ở chỗ: cuộc tấn công này không phải là về AI, mà là về hạ tầng. Kẻ tấn công không muốn phá hỏng mô hình AI của bạn. Chúng muốn lấy quyền truy cập vào hệ thống của bạn. AI Agent chỉ là một phương tiện – một con tin – để đạt được mục tiêu đó.

Hãy nhìn vào các cuộc tấn công trước đó của Team PCP: Trivy là công cụ quét lỗ hổng container, CanisterWorm là npm worm, Checkmarx KICS là công cụ quét mã nền tảng dưới dạng code. Tất cả đều là công cụ phát triển, không phải AI. Nhưng chúng đều nằm trong chuỗi cung ứng phần mềm. Kẻ tấn công đang xây dựng một “bản đồ tấn công” toàn diện: nếu bạn kiểm soát được các công cụ phát triển, bạn kiểm soát được sản phẩm cuối cùng.

Điểm mù ở đây là: các dự án blockchain, vốn tự hào về tính phi tập trung, lại đang phụ thuộc rất nhiều vào các công cụ tập trung này. Một bot giao dịch DeFi chạy trên một máy chủ cloud sử dụng LiteLLM để gọi LLM phân tích thị trường. Nếu máy chủ đó bị chiếm, bot có thể bị điều khiển để thực hiện các giao dịch bất lợi, hoặc tệ hơn, khóa riêng tư của ví nóng có thể bị lộ. Và điều này đã xảy ra với 2.186 tổ chức – con số chắc chắn còn lớn hơn nhiều vì nhiều vụ chưa được phát hiện.

Takeaway: Câu chuyện tiếp theo – Khi nào thì “cơn sốt AI Agent” trở thành “cơn đại dịch chuỗi cung ứng”?

Sự kiện LiteLLM không phải là cuối cùng. Nó là một dấu hiệu cho thấy các cuộc tấn công chuỗi cung ứng sẽ ngày càng nhắm vào các “middleware” AI – các thư viện kết nối, gateway, agent runtime. Và vì các dự án crypto thường triển khai nhanh, ít kiểm tra bảo mật, chúng sẽ là mục tiêu ưa thích.

Câu hỏi đặt ra: Liệu cộng đồng blockchain có học được bài học từ các cuộc tấn công Web2, hay sẽ lặp lại sai lầm tương tự? Những dự án sử dụng AI Agent cần bắt đầu kiểm tra tính toàn vẹn của từng gói phụ thuộc, sử dụng hash pinning, và triển khai các chính sách zero-trust cho agent. Nếu không, lần tới khi bạn thấy một gói .pth lạ trong requirements.txt, có thể bạn đã trao chìa khóa cho kẻ trộm mà không hề hay biết.

Còn nhớ câu nói của Satoshi: “If you don't believe me or don't get it, I don't have time to try to convince you, sorry.” Có lẽ bây giờ, chúng ta cần một phiên bản khác: “If you don't secure your AI agent supply chain, the attacker will.”

Giá thị trường

BTC Bitcoin
$79,575.7 -1.78%
ETH Ethereum
$2,451.15 -2.00%
SOL Solana
$101.59 -3.10%
BNB BNB Chain
$718.5 -0.24%
XRP XRP Ledger
$1.4 -3.99%
DOGE Dogecoin
$0.0845 -5.16%
ADA Cardano
$0.2121 -4.42%
AVAX Avalanche
$7.36 -1.93%
DOT Polkadot
$0.8625 -3.26%
LINK Chainlink
$11.64 -0.99%

Sợ & Tham

74

Tham lam

Tâm lý thị trường

Lịch sự kiện blockchain

{{年份}}
15
04
halving Bitcoin Halving

Phần thưởng khối giảm xuống 3,125 BTC

10
05
upgrade Nâng cấp Ethereum Pectra

Tăng giới hạn validator và trừu tượng hóa tài khoản

22
03
unlock Mở khóa Optimism

Lượng cung lưu hành tăng khoảng 2%

28
03
unlock Mở khóa token Arbitrum

Giải phóng 92 triệu ARB

30
04
upgrade Nâng cấp Celestia Mainnet

Cải thiện hiệu quả lấy mẫu tính khả dụng dữ liệu

08
04
upgrade Solana Firedancer

Trình xác thực độc lập ra mắt trên mainnet

18
03
unlock Mở khóa token Sui

Phần đội ngũ và nhà đầu tư sớm được giải phóng

12
05
halving BCH Halving

Sự kiện giảm một nửa phần thưởng khối

Tin nhanh 7x24h

Thêm >
{{快讯列表(10)}} {{loop}}
{{快讯时间}}

{{快讯内容}}

{{快讯标签}}
{{/loop}} {{/快讯列表}}

🧮 Công cụ

Tất cả →

Chỉ số mùa altcoin

41

Mùa Bitcoin

Sự thống trị BTC Mùa altcoin

Theo dõi phí Gas

Ethereum 28 Gwei
BNB Chain 3 Gwei
Polygon 42 Gwei
Arbitrum 0.5 Gwei
Optimism 0.3 Gwei

Vốn hóa thị trường

Tất cả →
1
Bitcoin
BTC
$79,575.7
1
Ethereum
ETH
$2,451.15
1
Solana
SOL
$101.59
1
BNB Chain
BNB
$718.5
1
XRP Ledger
XRP
$1.4
1
Dogecoin
DOGE
$0.0845
1
Cardano
ADA
$0.2121
1
Avalanche
AVAX
$7.36
1
Polkadot
DOT
$0.8625
1
Chainlink
LINK
$11.64

🐋 Theo dõi cá voi

🔵
0xf0d3...2f0b
2 phút trước
Stake
3,274,834 USDT
🟢
0xb041...a5d9
12 phút trước
Chuyển vào
1,305,468 USDC
🔴
0x95b6...77b1
30 phút trước
Chuyển ra
17,879 SOL

💡 Smart Money

0x34b2...6b1a
Nhà giao dịch on-chain dày dặn
+$4.2M
73%
0x67b1...c4fb
Thợ đào DeFi hàng đầu
-$3.4M
78%
0x8656...958a
Thợ đào DeFi hàng đầu
+$4.5M
61%