此篇文章以近期資安業界的觀察為核心,揭露一場針對工業控制系統(ICS)的新型態攻擊,凸顯開發生態中長期被低估的風險正悄然升高。文章指出,過去駭客多半集中在對開發者工具如NPM、PyPI套件或VS Code延伸套件的滲透,但如今攻擊焦點卻逐漸轉向工業領域。根據資安公司 Socket 的最新通報,共發現九個以 NuGet 為基礎的惡意套件,這些套件皆由同一名作者上架,總下載量達到 9,488 次。它們的設計極為隱蔽,能在資料庫運作期間潛入延遲執行的惡意程式碼,進而強制終止主機應用程式的運作。值得注意的是,這些惡意內容往往僅有十數行程式碼,但卻被巧妙地埋入上千行正常代碼中,使一般安全檢測工具難以識別為實際攻擊行為。NuGet 方面已於 11 月 5 日接獲通報,並正積極調查與封鎖相關套件。
在這波事件中,最受矚目的惡意套件名為 Sharp7Extend,攻擊者以「誤植名稱」(Typosquat)策略模仿 legit 的 Sharp7 函式庫。原本 Sharp7 是為 .NET 平台開發、用於與西門子(Siemens)S7 系列可程式化邏輯控制器(PLC)溝通的工具。駭客為了增加可信度,特地將完整的 Sharp7 函式庫一併打包入惡意套件,因此在功能測試階段,開發者會誤以為一切如常,而忽略背後的攻擊活動。更進一步的技術細節顯示,攻擊者藉由濫用 C# 的延伸方法(extension methods),能在不觸動原始碼的情況下,將惡意邏輯注入所有與資料庫或 PLC 有關的操作流程中。這些延伸方法在應用程式每次進行查詢時都會被觸發,一方面檢查系統日期,一方面以亂數機制決定是否終止應用程式,且全程不會留下任何錯誤紀錄或警示訊息。更令人警惕的是,當惡意套件執行 30 至 90 分鐘後,Sharp7 的正常功能便會逐漸失效,導致多數 PLC 寫入動作失靈,進而在不被察覺的情況下破壞工業資料的完整性。
文章最後分析指出,攻擊者的策略具備高度社交與技術偽裝性。一方面他發行了數個完全無害的 NuGet 套件,佔總下載量約四成,用以混淆開發者視聽、降低可疑度;另一方面,攻擊範圍不再侷限於 PLC,還延伸至 .NET 常用的三種資料庫系統——SQL Server、PostgreSQL 與 SQLite。從程式碼註解中的簡體中文、帳號名稱取自中國古籍《山海經》、以及中繼資料中出現的中文字等跡象來看,Socket 研判此攻擊者極可能來自中國。此篇文章不僅揭露了一起具代表性的供應鏈攻擊案例,更提醒讀者,現代開發環境的風險早已超越傳統資訊系統範疇,延伸到工業自動化與關鍵基礎設施層面。如何在開發效率與安全監控之間取得平衡,將是未來資安防護與工業數位化發展必須共同正視的課題。