作為每一位程式設計師電腦裡的“標配工具”,Notepad++的簡潔、輕便和強大,承載了無數人的程式碼編寫、日誌檢視、指令碼除錯場景。但最近,這個我們習以為常的工具,卻爆發出足以威脅所有使用者的安全危機——其內建更新元件WinGUp遭駭客劫持,攻擊者透過篡改更新鏈路,向目標裝置植入惡意程式,且攻擊已持續近半年,波及東亞地區多個政企組織。
更值得警惕的是,這次攻擊並非針對Notepad++本體程式碼漏洞,而是利用了更新機制的安全短板,屬於典型的“供應鏈攻擊”。對程式設計師而言,我們每天依賴各類開發工具,習慣了“一鍵更新”的便捷,卻很可能在不知不覺中,讓駭客透過更新通道入侵裝置,竊取核心程式碼、金鑰資訊甚至工作機密。
今天,這篇文章專為程式設計師量身打造,拆解此次攻擊的來龍去脈、漏洞根源,更給出可直接落地的防護措施,建議收藏轉發,守護好自己的開發環境和核心資料。
事件始末:近半年的定向劫持,藏在“更新”裡的陷阱
根據Orca Security、BleepingComputer等安全機構披露,以及Notepad++官方公告,此次更新機制攻擊最早始於2025年6月,持續至12月,歷時近半年之久。攻擊者並非泛泛攻擊,而是透過攻陷Notepad++的託管伺服器,實現了對更新流量的定向攔截和篡改,屬於有組織、有針對性的攻擊行為,疑似國家背景駭客團伙所為。
攻擊的核心邏輯並不複雜,卻精準抓住了工具更新的“信任漏洞”:
駭客先攻陷Notepad++的共享託管伺服器,獲取了更新服務的控制權,即便9月伺服器核心和韌體更新暫時切斷了其直接訪問,駭客仍透過留存的內部服務憑證,持續操控更新流量直至12月;
當用戶點選Notepad++的“檢查更新”時,內建更新元件WinGUp會向官方介面請求更新包地址,駭客趁機攔截該請求,將官方下載連結替換為惡意程式連結;
惡意程式會偽裝成官方更新包,模仿其命名規則和執行引數(如攜帶/closeRunningNpp引數),甚至生成仿冒程序,讓使用者毫無察覺,點選更新後,惡意程式便會靜默安裝,實現持久化駐留;
此次攻擊呈現明顯的定向性,主要瞄準東亞地區有跨境業務的政企組織,植入的惡意程式可實現鍵盤記錄、剪下板監控、瀏覽器資料竊取等功能,進而獲取核心機密資料。

更危險的是,除了更新機制劫持,“黑貓”黑產團伙還透過搜索引擎SEO最佳化,將仿冒Notepad++的釣魚網站推至搜索結果前列,偽裝成官網風格,誘導使用者下載捆綁後門程式的安裝包,進一步擴大攻擊範圍。這些釣魚網站不僅域名高度仿冒(如notepadplusplus.cn、cn-notepadplusplus.com),還會搭配教程文章增強可信度,多次跳轉後纔會推送惡意安裝包,極具迷惑性。
漏洞根源:WinGUp元件的三重安全短板,值得所有程式設計師警惕
此次攻擊能成功持續近半年,核心原因並非駭客技術有多高超,而是Notepad++內建的更新元件WinGUp,存在三重致命安全缺陷,相當於給駭客開啟了“方便之門”,也給所有依賴開源工具的程式設計師敲響了警鐘:
1. 證書驗證形同虛設
在v8.8.7版本之前,WinGUp採用嵌入在程式碼中的自簽名證書校驗更新包,攻擊者只需偽造相同格式的證書,就能輕鬆繞過驗證;即便後續版本更換為GlobalSign可信證書,早期版本仍未對證書鏈進行完整校驗,存在“證書信任孤島”漏洞,無法抵禦偽造證書攻擊。
2. 下載鏈路可被輕易篡改
WinGUp預設透過固定介面獲取更新包下載地址,但該介面返回的XML檔案未做任何防篡改處理。攻擊者只需在ISP層實施TLS流量攔截,就能替換下載連結,將官方更新包切換為惡意程式,且整個過程無任何異常提示,使用者無法察覺。
3. 臨時目錄執行無防護
更新包會被下載至Windows系統的%TEMP%臨時資料夾,並直接執行。而Windows系統對臨時目錄的許可權管控較弱,惡意程式可藉此繞過系統防護,實現靜默安裝、自啟動駐留,進而長期控制裝置、竊取資料。
其實不止Notepad++,很多程式設計師常用的開源工具、外掛,都存在類似的更新安全短板——過度追求“便捷性”,忽視了更新鏈路的安全校驗,這也成為供應鏈攻擊的主要突破口。對程式設計師而言,我們的裝置裡儲存著核心程式碼、專案文件、金鑰憑證,一旦被入侵,損失難以估量。
程式設計師必做:4步防護,立即規避風險(附操作指南)
目前,Notepad++官方已推出v8.8.9及以上版本,徹底修復了WinGUp元件的安全漏洞,新增數字簽名+證書鏈雙重校驗機制,限定更新包僅從GitHub官方源獲取,從根源上阻斷了攻擊路徑。針對此次事件,每一位程式設計師都需立即執行以下4步操作,守護開發環境安全:
第一步:立即升級Notepad++至最新版本(重中之重)
無論你當前使用的是哪個版本,務必立即升級至v8.8.9及以上版本(推薦v8.9.1,修復更徹底),禁止使用v8.8.9以下的舊版本。
操作指南:開啟Notepad++ → 點選頂部選單欄「幫助」→ 選擇「檢查更新」,按照提示完成升級;若無法透過內建更新升級(部分舊版本存在更新檢測缺陷),直接前往Notepad++官方GitHub頁面下載最新安裝包,覆蓋安裝(避免從第三方網站下載)。
第二步:排查裝置,確認是否已遭入侵
如果你的裝置曾使用舊版本Notepad++,且近期點選過“更新”,需立即排查是否被植入惡意程式,重點檢查以下3點:
檢視%TEMP%臨時資料夾(路徑:C:\Users\你的使用者名稱\AppData\Local\Temp),刪除可疑的.exe、.dll檔案,尤其是命名包含“Update”“Npp”等關鍵詞的陌生檔案;
檢查系統自啟動項(工作管理員 → 啟動應用),禁用陌生的自啟動程式,重點排查無官方簽名、命名混亂的程序;
使用防毒軟體(如火絨、360安全衛士)進行全盤掃描,重點檢測“後門程式”“鍵盤記錄器”,及時清理惡意檔案。
第三步:修改核心憑證,降低洩露風險
若懷疑裝置可能被入侵,立即修改以下核心憑證,避免進一步損失:
程式碼倉庫賬號(GitHub、GitLab、Gitee等),更換密碼並開啟二次驗證;
伺服器憑證(SSH、FTP/SFTP、MySQL等),重新生成金鑰,更換登入密碼;
各類開發工具、外掛的登入賬號,尤其是涉及專案許可權、資料訪問的賬號。
第四步:養成3個習慣,杜絕類似風險
此次事件並非個例,供應鏈攻擊已成為針對程式設計師、企業的主要攻擊方式。養成以下3個習慣,能從根本上規避工具、外掛帶來的安全風險:
拒絕“盲目一鍵更新”:更新任何開發工具、外掛前,先確認更新源的合法性,優先透過官方渠道更新,禁止從第三方網站、陌生連結下載更新包;
慎用“小眾外掛/工具”:優先選擇成熟、活躍、有官方維護的開源工具和外掛,避免使用小眾、無人維護的工具——這類工具往往存在更多安全漏洞,且易被駭客盯上,遭棄用的軟體包更可能被惡意接管;
開啟“雙重校驗”:所有涉及程式碼、資料的賬號(程式碼倉庫、伺服器、開發工具),務必開啟二次驗證(簡訊、谷歌驗證等),即便密碼洩露,也能阻止駭客登入。
延伸思考:程式設計師的“安全感”,從來不是工具給的
作為程式設計師,我們每天與程式碼、工具打交道,習慣了“高效、便捷”,卻常常忽視了“安全”。我們依賴Notepad++、VS Code、各類外掛來提升開發效率,卻很少思考:這些工具的更新機制是否安全?我們下載的安裝包是否被篡改?
此次Notepad++更新機制被劫持事件,給所有程式設計師上了生動的一課:便捷和安全,永遠無法兼得。尤其是在當下,駭客的攻擊手段越來越隱蔽,供應鏈攻擊、釣魚攻擊層出不窮,我們的每一個操作,都可能成為駭客入侵的突破口。
對我們而言,裝置裡的每一行程式碼、每一個專案,都是我們的心血和成果;而良好的安全習慣,就是守護這些成果的第一道防線。
另外,提醒身邊的同事、朋友,尤其是同樣使用Notepad++的程式設計師,立即升級版本、排查風險——你的一次提醒,可能幫他避免核心資料洩露、專案受損的風險。








