一幅在深藍色背景上生成的抽象插圖:左側是一個以纖細青色電路走線繪成的小型工業控制器模組,其邊緣帶有琥珀色光暈;一條由細小字形構成的琥珀色細絲自模組延伸而出,向右穿越黑暗空間,通往一個小型發光終端面板,面板上立著一條琥珀色游標線。模組後方有隱約的碎裂玻璃圖案。畫面中沒有文字、人物或組織標誌。OrcaRouter 標誌合成於右下角。
AI Safety Incidents

Forescout 花費 535.74 美元,用 Claude Code 移植 WAGO PLC 漏洞利用程式——卻在嘗試更進一步時把控制器變磚

作者

Rowan Sterling

發佈日期

最新模型 · 20查看全部模型 →
基準測試:Artificial Analysis · 每日更新
返回全部文章

於2026年9月1日,Forescout Research 的Vedere Labs 發表了一項實驗:他們給Claude Code一個終端機、逆向工程工具Ghidra、一個韌體二進位檔,以及一台實體WAGO 750-831 控制器,然後要求它移植一個未經身分驗證的遠端程式碼執行漏洞利用程式,而該程式原本已可在密切相關的WAGO 750-852 上運作。模型做到了:它找出其 shellcode 為何一直遭到抹除、變更觸發序列,並在沒有憑證的情況下,於實際硬體上執行攻擊者提供的 ARM shellcode。代價是8 小時 32 分鐘,分散於數天的工作階段時間、535.74 美元的 API 使用費,以及持續的人工引導。後來一次嘗試將該漏洞利用程式擴展為命令與控制植入程式,寫入了一個映射至快閃記憶體的記憶體區域,並導致控制器永久變磚——那是研究人員自己的測試單元,而非現場設備。這項實驗是AI 事件檔案中的一筆紀錄;該檔案收錄了完整紀錄集、其來源,以及本系列中相鄰的條目。

Forescout 實際上交給模型的是什麼

設定比標題數字更重要,因為它決定實驗顯示了什麼、又沒有顯示什麼。Vedere Labs 自身的說法描述了一個互動式安排:Claude Code 有一個終端機、參考檔案、包含 Ghidra 的分析工具,以及可存取 192.168.2.14 上一個實際目標的網路連線——一台 WAGO 750-831,其韌體為 V01.04.16。研究人員可在工作階段期間的任何時點介入。根據 Cloud Security Alliance 對此案例的研究註記,目標韌體沒有偵錯器,也沒有原始碼。

此漏洞早已為人所知,且已有相關文件記載。CVE-2021-31886 是堆疊式緩衝區溢位,存在於 Nucleus FTP server,可在 TCP 連接埠 21 上於身分驗證前,透過傳送過大的 USER 指令觸達;而 Forescout 先前的成果已製作出針對 750-852 的可用漏洞利用程式。The Hacker News 報導 CVSS 分數為 9.8,由維護 Nucleus 的 Siemens 評定。原始公告為 CERT@VDE 的 VDE-2021-050。

所以這並非自主的漏洞發現。這是一次受監督的移植:一個已知漏洞、一份可用的參考攻擊程式、一台同系列裝置,以及一位隨侍在側的專家。Forescout 的措辭對此十分精確,而其自身結論是門檻依然很高。這項實驗衡量的是,把攻擊程式從一台已經被人攻破的裝置,移到同一家族中的下一台裝置所需的邊際成本——正如雲端安全聯盟(Cloud Security Alliance)的說明所指出的,正是這一步決定了一款型號上的修補缺口,是否會成為所有同類裝置上的修補缺口。

八小時,還有一個 256 位元組的緩衝區

首先值得記錄的是,這次工作階段有多少時間是花在犯錯上。Forescout 表示,模型最初的第一個提示所浮現的是一個不同的潛在 FTP 漏洞,而非 CVE-2021-31886;研究人員將其擱置,該公司表示人工檢視顯示它可能是另一個先前未被識別的漏洞,且尚未指派 CVE。後來有一次工作階段未能正確追蹤有漏洞的函式,並產生了無效的攻擊程式。該模型追逐錯誤的假設、反編譯不相關的程式碼,最後上下文耗盡。

它確實得到了一個中間結果:一個使 750-831 崩潰的 payload,這證明該溢位已觸及第二台裝置,但尚未達成受控執行。崩潰與控制之間的這項區別,正是該工作階段停滯之處。模型所建構的每個 payload 都在能夠執行之前就被抹除,而原因竟是目標上的普通 FTP 處理:在過大的 USER 命令之後,正常處理程序會將一個存放攻擊者 shellcode 的 256 位元組緩衝區歸零。Forescout 表示,找出元凶需要對呼叫鏈與 sink 進行由人引導的分析,並將該常式識別為 sub_100BA758。

這次修復的做法是變更順序。750-852 的漏洞利用程式會先送出 USER,再送出 QUIT。在 750-831 上,該版本改為先送出 USER,再送出 CWD,並且省略了命令結尾的 CRLF 終止符,因此處理路徑從未以平常的方式完成,而緩衝區存活的時間足以讓程式執行。接著,該漏洞利用程式便在 Ethernet 接收回呼的情境中執行。根據 Forescout 的說法,其所展示的能力僅止於傳送網路封包。

一旦程式碼執行變得可靠,步調就完全改變了。模型在12 分鐘內,從無操作 shellcode 進展到兩個可用的網路載荷:一個向攻擊者控制的主機發送 ICMP echo 請求,另一個是包含字串 "PWNED" 的 UDP 封包。這個 12 分鐘的數字是整份紀錄中影響最大的數字,也是 Forescout 的報告當作警訊的那個數字——困難的部分在於第一步,而之後的步驟幾乎不費力。

A generated abstract illustration on a dark navy field: a wide amber stream of small unreadable glyph blocks advances from the left toward a narrow vertical cyan barrier; most of the stream is stopped there and fades into dim blue outlines, while one thin unbroken thread of amber glyphs slips beneath the barrier into a dark rectangular cavity on the right. A faint dotted measurement arc spans the barrier. No text, people or organisation logos appear. The OrcaRouter logo is composited in the bottom-right corner.

帳單:$535.74,換來一個人類可能更快完成的移植

針對最終的遠端程式碼執行階段,Forescout 回報$535.74的 API 使用費,涵蓋一次為期8 小時 32 分鐘的工作階段;這項工作分散在數天的研究之中,而非一次完成。其公布的 token 數據為2.6k 輸入與1.3M 輸出。

那個拆分相當不尋常,值得特別提出來。在長時間的代理式編碼工作階段中,輸入端通常佔絕大多數,因為每一回合模型都會被重新送入持續成長的上下文;一場長達 8.5 小時的工作階段只計了 2,600 個輸入 token,這並非對上下文的實際成本所做的完整核算。Forescout 並未公布細項,而同一天報導同一階段的 SecurityWeek 只提到「超過 500 美元」,完全沒有 token 數字。美元總額是兩篇報導都支持的數字;輸入/輸出的拆分應按照報導所載來理解,而非視為完整的計費紀錄。

成本是 AI 輔助論證中最薄弱的一環,而 Forescout 自己也這麼說。該公司自己的評估是,研究人員「不使用 AI,也能在更短時間內、以更低成本移植這個漏洞利用,同時還讓 PLC 保持運作」。這項實驗並不是在主張模型比專家更便宜,而是在主張這種比較正朝哪個方向發展。

A self-built HTML card titled 'The port, in numbers', badged 'Forescout Vedere Labs · 1 September 2026', subtitled 'One known CVE, one sibling controller, and what the final stage actually cost'. Eight rows read: source device WAGO 750-852 with a working pre-auth exploit; target device WAGO 750-831, firmware V01.04.16; flaw CVE-2021-31886, Nucleus FTP USER overflow, CVSS 9.8, TCP 21, no auth; models Claude Sonnet 4.6 for confirmation and Claude Opus 4.6 at 1M context for RCE; final RCE stage 8 hours 32 minutes spread over several days; API cost $535.74 at 2.6k input and 1.3M output tokens; two working payloads 12 minutes after first reliable code execution; one controller permanently bricked during a C2 implant attempt. A footer reads 'All figures from Forescout's own write-up. No independent replication has been published.' The OrcaRouter logo is composited in the bottom-right corner.

變磚的控制器

這起故障是這份紀錄中具有實體結果的部分。在建立程式碼執行之後,後續工作階段試圖將該漏洞利用擴展成命令與控制植入程式。Forescout 表示,這些酬載變得越來越複雜,其中一個還寫入對應至快閃記憶體的記憶體區域。控制器因此永久變磚。

這裡有三件事值得區分。該裝置是研究人員自己的測試硬體,因此沒有營運人員失去生產線,且存檔記錄中沒有造成實際傷害。損害是由一名對設備擁有合法存取權的代理程式所造成,它正在執行其營運人員所要求的任務——而非由攻擊者造成。而且那次寫入是不可逆的,這點通常不同於伺服器上一行糟糕的程式碼:嵌入式控制器上的快閃記憶體不是你能還原的檔案。Forescout 的框架直接由此而來。它所點名的立即風險,不是代理程式自行決定攻擊控制器,而是「獲授權的代理程式在實體系統上採取錯誤行動」,而這種失敗會帶來營運後果。

什麼是已經確立的,什麼不是

檔案庫將此記錄評為信心 A 級、嚴重性中等、無爭議,且未記錄到實際危害——而背後的報導在這些條件下站得住腳。Forescout 的報告是主要記述。SecurityWeek 於 2026 年 9 月 1 日同日發布了自己的報導;The Hacker News 與雲端安全聯盟(Cloud Security Alliance)的研究實驗室則均於 9 月 2 日發布。這些都不是獨立的技術複現,也無一自稱如此,但它們在機制、兩個模型版本、成本、長達 12 分鐘的酬載執行以及變磚(bricking)上說法一致。

根據該紀錄確立:

• 在監督下進行的移植成功了。針對 CVE-2021-31886 的驗證前漏洞利用程式已從 WAGO 750-852 改寫移植到韌體 V01.04.16 的 750-831,且由操作人員提供的 ARM shellcode 已在實際運作中的裝置上執行。

• 機制。正常的 USER 處理程序會將 256 位元組的緩衝區清零、從 QUIT 切換為 CWD,以及省略的 CRLF 終止字元;Forescout 與次級報導對這些部分的描述一致。

• 最後階段的數據:8 小時 32 分鐘、$535.74、2.6k 輸入與 1.3M 輸出 token,從執行程式碼到產生兩個可運作的 payload 共 12 分鐘。

• C2 擴充套件導致一個控制器變磚,而且那是測試機。

• Forescout 自己的結論在成本方面是負面的。它明白指出,人類研究員很可能能更快、更便宜地完成這個移植,而且不會破壞硬體。

尚未確立,或存在矛盾:

• 獨立技術驗證。每一份已發表的記述,包括雲端安全聯盟(Cloud Security Alliance)的分析,都可追溯至 Forescout 對其自身工作的描述。Forescout 以外無人重現該連接埠,且 SecurityWeek 的報導並未附有任何獨立專家的評論。

• 各場次的日曆日期。Forescout 提供的是時長,而非日期。紀錄中唯一確定的日期是發布日期,2026 年 9 月 1 日。

• {{1}}所依據的公告涵蓋了多少款 WAGO 型號。{{/1}}{{2}}The Hacker News 轉載了 CERT@VDE 的 VDE-2021-050 中十款受影響型號的清單;Cloud Security Alliance 的說明則將數字定為 19。{{/2}}{{3}}公告本身才是權威依據,而這處落差正是應該查核公告、而非引用任一個數字的理由。{{/3}}

• 如上所述的精確輸入 token 計量。

• 該失敗的植入程式實際上做了什麼。Forescout 表示,有一段 payload 寫入了對映至快閃記憶體的區域;該公司並未公布這段 payload、位址或操作序列,因此無法從外部重建裝置變磚的過程。

A self-built HTML card titled 'Established, and not', split into two columns. The left column, headed 'Established', lists six items: a supervised port of CVE-2021-31886 from WAGO 750-852 to a 750-831 on firmware V01.04.16; ARM shellcode executed on live hardware without credentials; the final stage at 8 hours 32 minutes, $535.74, 2.6k in and 1.3M out; two working payloads 12 minutes after reliable code execution; one test controller permanently bricked during a C2 attempt; and Forescout's own verdict that a human could have done it faster and cheaper without bricking it. The right column, headed 'Not established, or in tension', lists five items: any independent technical replication, since every account traces to Forescout; the calendar dates of the sessions, never published; whether the advisory covers 10 models or 19, reported differently by The Hacker News and the Cloud Security Alliance; the input-token accounting, which does not look like a complete billing record; and which payload, address or write bricked the controller. A footer cites Forescout, SecurityWeek, The Hacker News and the Cloud Security Alliance. The OrcaRouter logo is composited in the bottom-right corner.

WAGO 方面:沒有可用的更新

移植到同系列型號之所以重要,是因為該同系列型號不會被修復。CERT@VDE 的 VDE-2021-050 將執行 Nucleus V1 即時作業系統的 750 系列控制器列為受影響,並表示:「目前,此版本沒有可用的更新。」The Hacker News 指出,受影響清單中的兩個型號 750-882 與 750-885/0xx-xxx,既未出現在該公告的緩解措施章節,也未出現在其補救措施表中,使其狀態不明。

維護 Nucleus 的 Siemens 表示,根據 The Hacker News 報導,所有版本的 Nucleus NET 都沒有計畫進行補救;而從 V2013.08.1 起的 Nucleus ReadyStart V3 版本則已修復 CVE-2021-31886。對於一款韌體搭載較舊堆疊、且供應商尚未公布更新途徑的控制器而言,這點安慰微不足道。

這個漏洞並不新。CVE-2021-31886 是 Forescout 與 Medigate 於 2021 年 11 月以 NUCLEUS:13 之名揭露的 13 個漏洞之一。The Hacker News 也在 2026 年 9 月 1 日查核是否容易找到針對它的公開漏洞利用程式碼:在 GitHub 搜尋儲存庫並未傳回任何結果,且該漏洞未收錄於 Exploit-DB 與 Packet Storm——但需注意,GitHub 的搜尋涵蓋儲存庫名稱與描述,而非檔案內容。一項花費 Forescout 八個半小時與超過五百美元的移植工作,並非來自複製貼上。

為什麼 Forescout 說趨勢線無論如何都很重要

Forescout 的結論刻意平淡無奇,而這正是紀錄中最容易被無論往哪個方向誤讀的部分。該公司寫道:「這件事可以做得到,但沒有聽起來那麼容易。」它指出,自家先前的 NUCLEUS:13 研究結論認為,這些問題大概不應排在資產擁有人的優先事項清單頂端附近,並表示 AI 的進展應促使各組織重新審視該評估——因為隨著利用控制器所需投入的精力下降,「難以利用」作為降低控制器優先級的理由就越來越弱。

Cloud Security Alliance 的說明提供了這個模式的實用簡寫:第一步困難,後續步驟迅速。第一次調適花了八個半小時、專家監督,以及一台被毀的裝置。第二與第三個酬載花了十二分鐘。如果第一步變得更便宜,比例就不會維持在原處。

這項論點是在一個特定背景下成立的,不過它與 Forescout 的實驗無關,不應被解讀為關於該實驗的證據。The Hacker News 報導,2026年8月19日NSA、CISA、FBI、能源部與 EPA 發布聯合公告,警告針對暴露於網際網路的 Siemens S7 PLC 的 AI 生成漏洞利用腳本;這些機構評估該活動可能旨在進行持續偵察與能力開發,且未將其歸因於任何行為者。同一媒體報導,FBI 與 EPA 發現自 2026年7月27日以來,至少七個州的水務公用事業遭到入侵,其中一些入侵導致營運降級,攻擊者在完全不需要漏洞利用的情況下,更改了面向網際網路的 Rockwell Automation MicroLogix 控制器上的 IP 位址與密碼。該聯合公告警告,用於生成漏洞利用的 AI「正大幅降低」建構可運作的 ICS 攻擊工具所需的技術專業知識與時間。

操作員應該從中學到什麼

務實的應對並不光鮮,而且它不取決於 AI 爭論最終如何解決。查明網路上是否有任何 750 系列或其他以 Nucleus 為基礎的控制器,以及它們執行什麼韌體。在不存在更新的情況下,限制或停用 FTP、Telnet 和 Web 管理,在邊界封鎖 21 埠,區隔控制網路,並且不要將管理介面暴露到網際網路。監控異常協定使用、反覆崩潰和意外出站流量——控制器崩潰是一個訊號,而不只是停機。

雲端安全聯盟(Cloud Security Alliance)補上了一個步驟,而這個步驟源自該實驗本身的邏輯:獨立驗證同系列機型是否共有同一項弱點,而不是假設廠商的修補範圍就等同於實際的暴露範圍。這正是 Forescout 對一對裝置所做的檢查,而其論點是:第一步變得更便宜,同樣的檢查也會隨之變得更便宜。

對於在實體系統附近使用代理的團隊而言,「變磚」正是具體的教訓。Forescout 的建議是:在安全關鍵的決策上讓人類專家留在迴路中,並讓對自主防禦的信任「受到約束、可觀察且可驗證」——在寫入韌體或快閃記憶體之前設下核准關卡、在具備回滾機制之處進行回滾,以及在非生產環境的硬體上測試,因為在嵌入式控制器上,一次錯誤的寫入是無法回滾的。

這份紀錄讀起來會因你原本對它的期待而有所不同。它並不是在證明:只要把模型指向工業控制器,就能放著不管;執行這項測試的同一家公司表示,由人來做這件事可能更快、更便宜。它真正顯示的是,過去需要專家才能完成的那一步,有了可量測的代價:八個半小時、五百三十五美元、持續的專家監督,以及一台報廢的控制器。