AI幻覺代碼依賴成為新型軟件供應鏈威脅
隨著生成式AI編程工具的普及,以及AI模型容易"幻覺"出不存在軟件包的特性,一種名為"垃圾包搶注"(slopsquatting)的新型供應鏈攻擊正在浮現。
安全研究員Seth Larson創造了這個術語,它衍生于"拼寫錯誤搶注"(typosquatting)攻擊手法——通過注冊與熱門庫名稱相似的惡意軟件包來誘騙開發者安裝。
幻覺包名的攻擊原理
與拼寫錯誤搶注不同,垃圾包搶注不依賴拼寫錯誤。攻擊者會在PyPI和npm等軟件倉庫中,注冊那些AI模型在代碼示例中經常虛構的包名。
2025年3月發布的研究論文顯示,在分析的57.6萬個Python和JavaScript代碼樣本中,約20%案例推薦的依賴包并不存在。開源大模型如CodeLlama、DeepSeek、WizardCoder和Mistral的情況更嚴重,而ChatGPT-4等商業工具的幻覺率仍達5%。
各大型語言模型的幻覺率來源:arxiv.org
幻覺包名的可預測性
研究發現,雖然記錄的獨特幻覺包名超過20萬個,但其中43%會在相似提示詞下重復出現,58%在十次運行中至少重復一次。這些包名中,38%受真實包名啟發,13%源于拼寫錯誤,51%則完全虛構。
盡管尚未發現攻擊者利用此漏洞的實際案例,但網絡安全公司Socket的研究人員警告稱,這些幻覺包名具有常見性、可重復性和語義合理性,形成了可預測的攻擊面。
"58%的幻覺包會重復出現,說明它們不是隨機噪聲,而是模型對特定提示的可重復反應。"Socket團隊解釋道,"這種可重復性提升了攻擊價值,觀察少量模型輸出就能鎖定有效攻擊目標。"
供應鏈風險概覽來源:arxiv.org
風險緩解措施
目前唯一有效的防范方法是人工驗證每個包名,切勿假設AI生成的代碼片段中提到的依賴包真實存在或安全可靠。其他防護措施包括:
- 使用依賴掃描工具
- 鎖定文件(lockfiles)管理
- 哈希驗證確保使用可信版本
研究還表明,降低AI的"溫度"參數(減少隨機性)能有效減少幻覺。若采用AI輔助編程,這成為重要考量因素。最根本的防護措施是:所有AI生成的代碼都應在隔離的安全環境中測試,再部署到生產環境。