當前許多資安分析師在面對複雜的惡意程式碼時,不再僅僅依賴手動反組譯,而是會將程式碼片段或日誌丟給大型語言模型(LLM)來協助快速分析(Triage)。然而,最近發現的一款名為 Gaslight 的 macOS 惡意軟體,採取了一種非常新穎且具有心理戰色彩的防禦手段:它不試圖突破分析環境的沙箱,而是直接攻擊分析師所使用的 AI 工具。
Gaslight 的核心威脅在於它利用了提示詞注入(Prompt Injection)。這是一種針對 LLM 的攻擊技術,透過在輸入內容中嵌入特定的指令,誘導 AI 忽略原有的系統指令,轉而執行攻擊者定義的行為。在 Gaslight 的案例中,它在程式碼中嵌入了一段偽造的系統錯誤訊息區塊。當分析師將這段內容餵給 AI 時,AI 會讀到像是 Token 過期、記憶體不足(Out-of-memory)或磁碟空間耗盡導致操作失敗等虛假警告。
這種設計的目的在於讓 AI 產生錯覺,認為目前的分析會話已經崩潰或失效,進而導致 AI 拒絕繼續分析、截斷輸出,甚至直接建議分析師放棄該樣本。這就像是在程式碼裡對 AI 說:現在系統出錯了,請停止工作,從而達成欺騙分析工具的目的。
從技術實現來看,Gaslight 是一個基於 Rust 語言開發的植入物(Implant),具有強大的資訊竊取能力。它建立了一個基於 Telegram Bot API 的命令與控制(C2)通道,讓攻擊者能透過遠端指令操作受感染的主機。為了維持持久化(Persistence),它利用了 macOS 的 LaunchAgent 機制,將自己偽裝成系統服務,以避免被使用者察覺。
除了主程式,Gaslight 還攜帶了一個經由 Base64 編碼的 Python 腳本,專門用於蒐集敏感資訊。這個腳本會掃描終端機指令歷史、已安裝應用程式、執行中的進程快照,甚至會竊取 macOS 的 Keychain 金鑰庫以及主流瀏覽器(如 Chrome, Safari, Firefox)的儲存數據。有趣的是,這個 Python 腳本中包含大量的表情符號與詳細註釋,研究人員推測這部分程式碼本身可能是由 AI 生成的。
為了提高隱蔽性,Gaslight 在運行時採取了動態配置。它的 Telegram Bot Token 和聊天 ID 並非硬編碼在程式中,而是在執行時才傳入。此外,它還會對自身的運行日誌進行自我遮蔽(Self-redact),即使分析師捕捉到了崩潰日誌或運行紀錄,也無法輕易找到 C2 伺服器的連接資訊。
這起案例給工程師與資安從業人員的啟示是,AI 雖然極大地提升了分析效率,但它同樣會成為攻擊面的一部分。當我們依賴 AI 進行資安審查時,必須意識到 LLM 容易被內容中的指令所誤導。面對這類針對 AI 的心理戰,不能完全信任 AI 給出的拒絕分析或錯誤提示,仍需結合傳統的靜態與動態分析手段來確保結果的正確性。
來源:thehackernews.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。