← 所有文章
指南

LIFF SDK 安全更新:準備因應 2026 年 11 月舊版本限制

如果你的 LIFF 或 LINE MINI App 使用 LIFF SDK v2.20.0–v2.31.0,請立即更新至 v2.31.1 或更新版本。LINE 已揭露 XSS 漏洞,並計畫約於 2026 年 11 月 24 日限制受影響的舊版本。應確認正式應用程式實際載入的 SDK,而不只是相依套件宣告。這是預計實施時間,不是延後安全更新的理由。

重點整理

  • 受影響範圍與最低修復版本,以 LINE 安全公告為依據。
  • CDN edge、固定版本 CDN 與 npm 安裝方式,需要分別檢查。
  • 除了 LIFF 連結,也要測試外部瀏覽器入口。
  • 回復方案不能重新引入有漏洞的 SDK;訊息 webhook 是另一個整合層。

LINE 的 LIFF SDK 警告涵蓋什麼

LINE 的 10 月 20 日公告指出:在特定條件下,惡意 URL 透過外部瀏覽器開啟 LIFF 或 LINE MINI App,可能在應用程式網域執行任意 JavaScript,取得存取權杖等驗證資訊,以及畫面上顯示的資訊。

公告特別區分開啟方式:在 LINE 內建瀏覽器開啟應用程式的 endpoint URL,而非 LIFF URL,會被視為外部瀏覽器流程,同樣受影響。因此,只測試平常使用的 LIFF 入口仍不完整。

LINE 2026 年公告將限制時程描述為約 11 月 24 日。安全公告表示,限制開始後,使用受影響版本的應用程式在外部瀏覽器可能無法正常運作。這不代表確定的停機時刻、統一錯誤碼,或所有 LINE 整合都會停止。

盤點部署產物,而非只看 package.json

LINE 的 LIFF 開發指南說明 CDN 與 npm 整合方式。建議針對每個正式應用程式建立下列清單:

安裝方式檢查項目更新與確認
CDN edge 路徑正式頁面實際載入的指令碼官方版本說明描述自動更新;仍須確認頁面實際載入的版本
固定版本 CDN 路徑已部署指令碼 URL 中的版本將受影響的固定版本改為已修復版本,再確認正式頁面
npm 套件@line/liff 解析版本、鎖定檔及打包產物更新相依套件、重新建置與部署,再確認執行時版本

官方版本說明區分這些更新方式。v2.31.1 是最低修復版本,不代表最新版本;採用更新版本前,仍應閱讀相應說明。

建議記錄負責人、正式 URL、整合方式、解析版本、部署版本識別碼與驗證時間。這些是內部紀錄,不是新增 LINE API 欄位。較少使用的入口頁與共用前端套件,也應納入盤點。

SDK 載入後,可使用官方環境方法進行簡單診斷:

console.log(liff.getVersion());
console.log(liff.isInClient());

請在受控診斷環境執行,勿同時記錄存取權杖、ID token 或完整登入 URL。版本觀測可確認載入內容,但不是完整安全評估。

分開設定部署驗收與回復條件

以下是建議執行的發布檢查,並非已完成的測試結果:

  1. 修改真正的相依來源。 更新固定指令碼引用,或 npm 套件與鎖定檔。只改宣告不會替換正式環境既有的程式碼。
  2. 發布並檢查實際產物。 若應用程式使用快取或 service worker,確認回訪使用者也會取得修復後的版本,不要只看本機頁面。
  3. 測試正常入口。 包含 LIFF URL、支援的外部瀏覽器流程,以及在 LINE 內建瀏覽器提供的 endpoint URL。使用正常測試連結,不使用攻擊內容。
  4. 驗證使用者流程。 檢查初始化、登入返回、導覽及實際使用的 LIFF 功能。分享功能請搭配自訂動作按鈕檢查清單,不要把頁面能開啟當成分享正常的證明。
  5. 另行檢查設定變更。 若同時調整 MINI App 主控台設定,參考重新審核與發布控制指南。JavaScript 已部署與主控台設定獲准是不同證據。
  6. 保留包含修復的回復版本。 準備已測試且含安全更新的產物。不要為恢復某項功能而重新部署受影響 SDK;必要時縮減功能或顯示受控維護頁。

若懷疑資訊曾外洩,請保留去識別化證據並交由安全負責人處理。SDK 更新處理的是相依套件問題,不能證明過去的工作階段或資料是否受影響。

客服訊息接收應獨立驗證

UnifyPort 的非官方介面透過 LINE 授權流程連接一般 LINE 訊息帳號。文件說明 QR URL 與 PIN 透過 webhook 非同步送達;這不是 LIFF 網頁初始化,也不會更新應用程式 SDK。

既有整合應將受支援的 message.received 接收流程與 MINI App 前端分開測試。收件匣正常不代表前端已修復,LIFF 頁面失敗也不能單獨證明 webhook 異常。UnifyPort 無法解除 LINE 的 SDK 限制或修復有漏洞的部署產物。

常見問題

可以等到 11 月 24 日再更新嗎?

LINE 要求立即更新。約 11 月 24 日是預計限制時程,不是安全等待期,也不是保證的精確截止時間。

只修改 npm 版本就夠了嗎?

不夠。確認解析後的相依套件、重新建置並部署,再檢查正式頁面實際載入的版本。

在 LINE 裡開啟就不受影響嗎?

不是。LINE 明確將內建瀏覽器開啟 endpoint URL 的情況列為外部瀏覽器流程。入口 URL 與執行環境都必須檢查。

Messaging API webhook 也要更換 SDK 嗎?

這份公告針對 LIFF 與 MINI App 的 LIFF SDK。應檢查受影響的前端相依套件,不能據此推論另有 webhook 遷移要求。

下一步與參考資料

先閱讀 LINE 安全公告,盤點所有正式 LIFF 入口,並在發布審查附上實際載入版本的證據。

官方來源核對日期:2026-11-08。

UnifyPort API

讓訊息接入變成一條穩定的產品管線。

先用統一 API 跑通傳送,再用標準事件把所有入站訊息接回業務系統。