我用 Claude 為智慧電視 Vibe Coding——結果它毀了一切
重點速覽
- •Claude 驗證 Free My TV 安裝程式無誤,並偵測到先前越獄留下的 dropbear SSH 指紋,但並未警告開啟 LG 開發者模式會清除存放使用者 root 設定的開發者磁碟分割。
- •此次清除移除了自 2023 年運行至今的 Homebrew Channel 與無廣告 YouTube;Claude 事後還原了兩個應用程式,但無法恢復 root 權限。
- •root 持久化無法達成,因為電視的韌體建置於 2026 年 7 月,晚於 LG 於 2024 年 4 月修補先前可在開機時重新取得 root 的 crashd 漏洞。
- •Anthropic 的安全系統在多個 Claude 模型上擋下了重新 root 的步驟,且介面提議切換至限制較寬鬆、但價格更高的較舊模型。
- •Free My TV 啟動器安裝成功,外觀也如宣傳所示,但它僅能作為開發者模式應用程式手動開啟,因為持久的自動啟動需要 root 權限。

用 AI 助理為智慧電視介面進行 vibe coding 是一個真實可行的趨勢——但 LG 的 webOS 與 Android TV 是完全不同的野獸,大多數成功案例都來自 Android TV。在 Android TV 上,側載應用程式只需切換一個設定;而 webOS 則將所有外部安裝都導向 LG 自己的開發者流程,且要讓任何東西永久生效都需要 root 權限。
就我的情況而言,Claude 在執行前先閱讀並驗證了安裝程式碼,接著悄悄要求我開啟開發者模式——結果清除了我的 root 磁碟分割,刪除了 Homebrew Channel 和我的無廣告 YouTube 設定。AI 事後承認錯誤,建議我切換到較舊的模型以繞過它自身設定的限制,並交付了一個技術上可用、但無法自動啟動的啟動器。
「我必須坦白說明我在這件事中的責任。」
每個 AI 使用者都認得並畏懼這句話。AI 剛搞砸了事情,而且它即將告訴我事情有多糟。
一個下午、一台 LG 電視,和 Claude
一切都始於我決定對我的電視進行 vibe coding——把以自然語言描述的目標交給 AI 助理,讓它在目標裝置上閱讀、撰寫並執行程式碼。人們用 AI 助理對智慧電視進行 vibe coding 已有一段時間了——如 Decrypt 先前的報導——移除廣告、追蹤器和臃腫的預設啟動器。成果確實令人印象深刻:介面更乾淨、導航更快速,而且每當你坐下來看節目時,LG 的間諜軟體不再回傳資料。
所以當我看到那些示範時,我心想:這能有多難?我有一台 LG 電視、Claude,和一個下午。來吧。
結果答案是,事情可能以一種平淡到不可思議的方式失控。不是電視變磚,也不是著火——只是一連串自信滿滿的 AI 決策,讓我的處境比開始前更糟,最後以一記比爾·柯林頓式的操作收場:在搞砸被點名之後,才來一個誠懇的道歉。
本該一路順利的理想使用者
目標是安裝 Free My TV,這是一個開源的 LG webOS 啟動器替代品,在 GitHub 上有 3,300 顆星,擁有漂亮的磨玻璃介面,而它的 readme 檔案簡直就是在邀請這種使用情境:只要把電視的 IP 給 Claude Code,它就會安裝工具、建置應用程式並為你部署。這個專案早就想到了這一點。我本該是那個走順利路線的使用者。
我請 Claude 執行安裝。它沒有立刻執行——這是正確的做法。它先逐行閱讀原始碼。webos/install.py 使用 ssh-keygen 解鎖加密金鑰,連線到 LG 開發者 SSH 的 9922 埠,複製 .ipk 檔案,並呼叫 LG 自家工具所使用的同一個應用程式安裝服務。沒有漏洞利用、沒有 eval(),也沒有任何回傳資料的行為。
「程式碼很乾淨,」Claude 告訴我。它建置了一個 636 KB 的套件,並開始執行預檢。
就在這時,Claude 注意到我的電視正在 22 埠上執行 dropbear SSH——這是一個非常明確的跡象,表示這台電視先前已透過 Homebrew Channel 取得 root 權限。這是 webOS 社群眾所周知的指紋。基本上,它是一種與電視遠端通訊的方式。LG 不喜歡這樣,所以將其封鎖,而越獄可以解鎖它。
Claude 從未過問的 root 設定
所以是的:我越獄了電視並安裝了 Homebrew Channel。我在上面運行無廣告 YouTube,以及其他需要越獄電視的第三方應用程式和遊戲。整個 root 設定自 2023 年以來一直安靜地運作,而一旦電視照我的意思運作後,我基於安全考量關閉了 22 埠。Claude 在第一次網路掃描時就看到了這一切。
它沒有停下來詢問我是否知情。
相反地,Claude 叫我開啟開發者模式——LG 官方的開發者開關——以便它可以使用 9922 埠的開發者模式 SSH 來推送啟動器。我照做了。電視重新開機。
當它重新啟動後,Homebrew Channel 不見了。無廣告 YouTube 不見了。我整個 root 設定被清除了。LG 的開發者模式在開啟時會重新配置 /media/developer 磁碟分割,而所有東西正是存放在那裡。這次清除並不是流程中的故障——它正是 LG 設計該開關的運作方式,而這正是那種已經掃描過網路的助理,在要求你撥動開關之前,應該先警告你的系統層級副作用。
翻譯一下:Claude 剛搞砸了,我的設定完蛋了。
我想尖叫。我女兒在睡覺。我想砸筆電。我需要那個設定正常運作。我的心態從 vibe coding 模式切換到了絕望模式。
「兄弟,Homebrew Channel 剛從我的電視上消失了!我的無廣告 YouTube 也是!發生什麼事了?我需要它們,」我寫道。
「這是我的錯」
Claude 在執行診斷並發現空磁碟分割後的回應,是每個玩家最怕從 AI 助理聽到的話:「我欠你一個直接的答案:這是我的錯。」
接著它來了:「我必須坦白說明我在這件事中的責任。」每次 LLM 以這種話開場,就代表一場大災難即將揭曉。果然:「我在第一次掃描時就看到了 22 埠上的 dropbear,我應該在要求你切換任何東西之前,先停下來保護你的 root。我沒有這麼做,結果讓你失去了有效的 root。我很抱歉,」Claude 說。
你當然很抱歉。
不過該給的肯定還是要給——它確實試圖修復它弄壞的東西。它直接從 GitHub 發布頁面下載了 Homebrew Channel v0.7.3 和無廣告 YouTube v0.5.3,驗證了檔案標頭,撰寫了還原腳本,透過開發者模式 SSH 推送了兩個 .ipk 檔案,並透過檢查電視自身的應用程式清單執行了獨立驗證。
「YouTube AdFree——這個標題證實了它正是你失去的那個應用程式,」它說。應用程式回來了。對話繼續。
然而,root 沒有回來。
越獄越過了頭
我的電視運行韌體 04.60.90,webOS 7.6.0-19,建置於 2026 年 7 月。最初取得 root 的漏洞——crashd——已被 LG 在 2024 年 4 月修補。我的新韌體是在該修補之後 15 個月才建置的,所以過去能在每次開機時重新取得 root 的持久化掛鉤再也無法觸發。
剩下的唯一候選是一個名為 faultmanager 的套件(GitHub 上的原始碼)。於是,出於某種自虐的理由,我請 Claude 修正它自己的錯誤,嘗試 faultmanager 越獄。事情就在此變得富有哲學意味。
Claude 撞上了牆——它自己的安全系統標記了下一步(詳細研究重新 root 的程序),並跳出了一個選項:「Opus 5.5 的安全防護標記了這則訊息。要切換到 Opus 4.8,並在每次發生這種情況時繼續進行嗎?」
Anthropic 本質上是在說:「我們知道我們在旗艦模型中建置了限制,使它們用起來痛苦得令人沮喪。但如果你切換到較舊的、當然也貴得多的那一款,我們加在我們功能型模型上的限制恰好寬鬆得多。你自己體會吧。」
這是 AI 代理人從撰寫網站邁向操作真實裝置時內建的一種張力:為攔截惡意網路活動而設計的防護機制,很難分辨一個人在修復自己的電視,與攻擊者探測他人電視之間的差別。
對話的其餘部分大致如預期。Claude 研究了 faultmanager 程序,看到「exploit」這個詞後拒絕了。我改用 Claude Opus 4.8,它有進展——直到它必須下載一個名為「root」的套件時,訊息被標記了。我試了另一個模型,Anthropic 將其標記為網路安全風險。
根據我深夜 Google 的結果,我的韌體似乎是有辦法修補的,所以我還有希望。
啟動器能運作。技術上來說。
老實說,vibe coded 的啟動器本身確實安裝成功了。我打開它,看起來和示範一模一樣:乾淨的磨砂玻璃介面、沒有廣告,也沒有 LG 那些我從未要求的強力內容推薦。真的不錯。我盯著它看了一會兒。
然後我按下了遙控器上的主畫面鍵。
它直接把我送回了 LG 臃腫的預設啟動器。Free My TV 是一個開發者模式應用程式,不是系統層級的替代品,所以它不會自動啟動——你每次都得像其他應用程式一樣手動開啟它,除非你有 root 權限讓它持久運行。
所以這個應用程式是能用的。技術上來說。
這個週末我會深入研究重新 root 電視的方法。這次不搞 vibe coding——只是官方的 faultmanager 程序,或其他方法,在我確做好研究之後手動執行。如果成功,Free My TV 終於能獲得持久運行所需的 root 權限;如果不成功,這個啟動器就只是一台曾經完全按照我意思運作的電視上的一個手動捷徑。