// 威脅簡報

Trigger.dev CLI 的 trigger dev --mcp 伺服器缺少認證:同網路的人或惡意網頁能借開發者身分操作專案

CVSS
7.6 HIGH
CISA KEV
未列入
弱點類型
CWE-306

PlainCVE 團隊 · 發布 2026-10-22 · AI 輔助 · 媒體簡報 ↓

AI 審稿 2026-10-22(未經人工)指令測試:未提供漏洞重現:未進行驗證紀錄 ↓

Trigger.dev CLI 的 trigger dev --mcp 伺服器監聽所有網路介面且不檢查身分,同網路的人或惡意網頁可借開發者身分觸發、取消任務並讀取執行紀錄。

誰會中使用 @trigger.dev/cli-v3 3.0.0 以上、4.5.4 以前(CNA 的範圍),執行過 trigger dev --mcp 且開發工作階段仍在進行、並已用 trigger login 登入的開發者。
後果攻擊者可以用開發者存下的存取權杖,在專案裡啟動真實的任務執行、取消進行中的執行,並列出執行紀錄(可能含個資或機密)。能造成多大影響取決於專案任務做什麼,以及該權杖的權限範圍。
現在該做什麼更新到 4.5.4 以上(官方指令:npx trigger.dev@latest update)。新版已移除 dev 指令的 --mcp 旗標,改用獨立的 trigger mcp 指令。
受影響版本3.0.0 以上、4.5.4 以前(CNA VulnCheck 的範圍;PlainCVE 推測實際曝險可能從 2025 年 4 月的 v4 beta 才開始,未獲官方確認)
修好的版本4.5.4 以上
CVSS 向量
顯示完整向量CVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N
時間點
  • 首次公開 2026-07-21

藍隊應對手冊

確認、修補 / 緩解、應變、強化。版本符合受影響條件不等於已被入侵;檢查沒有結果也不等於安全,每一項都有能證明與不能證明的範圍。標記的步驟對應下方攻擊流程裡可以擋下攻擊的那一步。

DETECT確認我受影響嗎?有沒有入侵跡象?
  1. 01確認安裝的 CLI 版本

    在專案資料夾執行(只讀,不會修改環境)。CLI 在 npm registry 上的套件名稱是 trigger.dev(原始碼目錄為 packages/cli-v3);CVE 紀錄寫的 @trigger.dev/cli-v3 指的就是它。版本落在 3.0.0 以上、4.5.4 以前即在 CNA 的受影響範圍內。來源沒有提供偵測指引,這是 PlainCVE 的建議。

    唯讀查詢
    npm ls trigger.dev
  2. 02找出是否有人在用 trigger dev --mcp

    在專案資料夾(含子資料夾)的 .json 檔(例如 package.json 的 npm 腳本)搜尋 dev --mcp。這個指令可能漏報:官方文件的 AI 工具設定範例使用的是 trigger.dev 的 mcp 子指令,不含 dev --mcp;有些設定檔放在家目錄或是 TOML 格式,也有人直接在終端機輸入旗標,這些都搜不到。沒找到不代表沒有曝險,請搭配下一步檢查連接埠。只有實際執行這個旗標、且開發工作階段開著時才會曝險。PlainCVE 的建議。

    唯讀查詢
    grep -rn --include='*.json' -- 'dev --mcp' . 2>/dev/null
  3. 03檢查開發機是否有程式在對外監聽 3333

    在開發者的 Linux 機器上用 bash 執行(macOS 可改用 lsof -iTCP:3333 -sTCP:LISTEN)。若位址顯示為 0.0.0.0 或 *,代表對整個網路開放。若用 --mcp-port 指定過別的連接埠,請改查那個。PlainCVE 的建議。

    唯讀查詢
    ss -ltnp | grep ':3333'
MITIGATE修補 / 緩解先修補;還不能修補時先擋住
  1. 01更新到 4.5.4 以上

    官方的更新指令。請在專案資料夾執行;此指令會修改環境(更新相依套件與 package.json)。4.5.4 移除了 dev 指令的 --mcp 與 --mcp-port 旗標。

    會變更環境
    npx trigger.dev@latest update
  2. 02改用獨立的 trigger mcp 指令

    官方說明改用 trigger mcp 啟動 MCP 伺服器。PlainCVE 的判斷:官方文件把它設定成由 MCP 用戶端啟動的 stdio 程序(透過標準輸入輸出溝通,不開網路連接埠),但官方沒有明說它不受這個問題影響。

  3. 03還不能升級:不要用 --mcp,或用防火牆擋住

    PlainCVE 的建議:停止使用 trigger dev --mcp;真的需要時,只在可信任的網路上用,並以主機防火牆阻擋外部連到該連接埠。

RESPOND應變發現入侵跡象時
  1. 01檢查近期的任務執行

    PlainCVE 的建議:曾在不受信任的網路上開著 trigger dev --mcp 時,檢查專案裡是否有不是你觸發的執行或被取消的執行。我們的資料中沒有任何來源提供回應指引。

  2. 02重新發放權杖並輪替紀錄中的機密

    PlainCVE 的建議:懷疑遭濫用時,撤銷並重新取得開發者的存取權杖;執行資料或紀錄中若出現過機密(如 API 金鑰),一併更換。這是預防性做法,不代表已確認外洩。

HARDEN強化長期避免同類問題
  1. 01本機開發伺服器只綁 localhost

    PlainCVE 的建議:審查團隊用的開發工具,確認不會在開發機上對整個網路開放未驗證的服務。

  2. 02縮小開發用權杖的權限

    官方公告指出損害以權杖權限為上限,而開發用權杖通常涵蓋整個專案。PlainCVE 的建議:開發用專案與正式環境分開,讓開發權杖碰不到真實付款或客戶。

完整修復步驟與說明

在專案資料夾用官方指令更新,更新後確認版本:

npx trigger.dev@latest update
npm ls trigger.dev   # 應為 4.5.4 以上

npx trigger.dev@latest update 會修改相依套件與 package.json;npm ls 只讀。CLI 在 npm registry 的套件名稱是 trigger.dev,CVE 紀錄與公告使用的 @trigger.dev/cli-v3 指的是同一個 CLI(原始碼目錄 packages/cli-v3)。

  • 更新後記得把 npm 腳本與 AI 工具設定檔中的 trigger dev --mcp 改成 trigger mcp,否則舊設定會失效。
  • PlainCVE 的判斷:官方文件把 trigger mcp 設定為由 MCP 用戶端啟動的 stdio 程序,不需要開網路連接埠;但官方沒有明說這個指令不受此問題影響。
  • 官方 v4.5.4 更新說明把這項變更列為「改進」,沒有標示為安全修補(PlainCVE 閱讀更新說明的判斷)。只看更新說明的人可能不會意識到要優先升級。

攻擊流程

從左到右是攻擊發生的順序。藍色盾牌代表這一步可以被擋下,越早擋下越好。點圖示可看細節。

由上到下是攻擊發生的順序。藍色盾牌代表這一步可以被擋下,越早擋下越好。點圖示可看細節。

Trigger.dev CLI 的 trigger dev --mcp 伺服器缺少認證:同網路的人或惡意網頁能借開發者身分操作專案: 1. 開發者執行 trigger dev --mcp → 2. 伺服器監聽所有網路介面 → 3. 同網路的攻擊者或惡意網頁送出 MCP 工具呼叫 → 4. 伺服器用開發者存下的存取權杖代為執行 → 5. 專案裡的任務被觸發、取消或紀錄被讀取CVE-2026-114090 · Trigger.dev CLI 的 trigger dev --mcp 伺服器缺少認證:同網路的人或惡意網頁能借開發者身分操作專案攻擊者你的系統外部開發者執行 trigger dev --mcp — 這個旗標會在開發工作階段裡同時啟動一個本機 MCP 伺服器,方便 Cursor、Claude Code 等 AI 工具使用。開發者先前已用 trigger login 登入。 1開發者執行 triggerdev --mcp伺服器監聽所有網路介面 — 它沒有只綁在本機(localhost),而是對整個網路開放 /sse 與 /messages 端點,官方公告列出的預設連接埠是 3333。 2伺服器監聽所有網路介面同網路的攻擊者或惡意網頁送出 MCP 工具呼叫 — 這兩個端點沒有任何權杖檢查,所以不需要帳號。依 CVE 紀錄,開發者若瀏覽惡意網頁,網頁也可能對這個伺服器送出請求。 3同網路的攻擊者或惡意網頁送出 MCP 工具呼叫伺服器用開發者存下的存取權杖代為執行 — 存取權杖(token)是證明「我是誰」的一串字。伺服器拿 trigger login 存下的權杖去呼叫 Trigger.dev,所以請求看起來就是開發者本人。 4伺服器用開發者存下的存取權杖代為執行專案裡的任務被觸發、取消或紀錄被讀取 — 官方公告指出:可以排入真實的任務執行(不是預覽或沙箱)、取消進行中的執行、列出近期執行與其資料。依任務內容,可能連帶影響付款、外部 API 或客戶。影響範圍以該權杖的權限為上限。5專案裡的任務被觸發、取消或紀錄被讀取攻擊路徑可在此擋下PlainCVE · plaincve.date/vulns/cve-2026-114090-trigger-dev-mcp-missing-auth · CC BY 4.0
Trigger.dev CLI 的 trigger dev --mcp 伺服器缺少認證:同網路的人或惡意網頁能借開發者身分操作專案: 1. 開發者執行 trigger dev --mcp → 2. 伺服器監聽所有網路介面 → 3. 同網路的攻擊者或惡意網頁送出 MCP 工具呼叫 → 4. 伺服器用開發者存下的存取權杖代為執行 → 5. 專案裡的任務被觸發、取消或紀錄被讀取CVE-2026-114090 · Trigger.dev CLI 的trigger dev --mcp 伺服器缺少認證:同網路的人或惡意網頁能借開發者身分操作專案開發者執行 trigger dev --mcp — 這個旗標會在開發工作階段裡同時啟動一個本機 MCP 伺服器,方便 Cursor、Claude Code 等 AI 工具使用。開發者先前已用 trigger login 登入。 1你的系統開發者執行 trigger dev--mcp伺服器監聽所有網路介面 — 它沒有只綁在本機(localhost),而是對整個網路開放 /sse 與 /messages 端點,官方公告列出的預設連接埠是 3333。 2你的系統伺服器監聽所有網路介面同網路的攻擊者或惡意網頁送出 MCP 工具呼叫 — 這兩個端點沒有任何權杖檢查,所以不需要帳號。依 CVE 紀錄,開發者若瀏覽惡意網頁,網頁也可能對這個伺服器送出請求。 3攻擊者同網路的攻擊者或惡意網頁送出MCP 工具呼叫伺服器用開發者存下的存取權杖代為執行 — 存取權杖(token)是證明「我是誰」的一串字。伺服器拿 trigger login 存下的權杖去呼叫 Trigger.dev,所以請求看起來就是開發者本人。 4你的系統伺服器用開發者存下的存取權杖代為執行專案裡的任務被觸發、取消或紀錄被讀取 — 官方公告指出:可以排入真實的任務執行(不是預覽或沙箱)、取消進行中的執行、列出近期執行與其資料。依任務內容,可能連帶影響付款、外部 API 或客戶。影響範圍以該權杖的權限為上限。5外部專案裡的任務被觸發、取消或紀錄被讀取攻擊路徑可在此擋下PlainCVE · CC BY 4.0plaincve.date/vulns/cve-2026-114090-trigger-dev-mcp-missing-auth
圖片可自由用於報導與教學,採 CC BY 4.0,圖上已附出處。
  1. 你的系統

    開發者執行 trigger dev --mcp

    這個旗標會在開發工作階段裡同時啟動一個本機 MCP 伺服器,方便 Cursor、Claude Code 等 AI 工具使用。開發者先前已用 trigger login 登入。

    防禦: 官方變更:4.5.4 已移除 dev 指令的 --mcp 與 --mcp-port 旗標(第三方來源將 4.5.4 列為已修補)。

  2. 你的系統

    伺服器監聽所有網路介面

    它沒有只綁在本機(localhost),而是對整個網路開放 /sse 與 /messages 端點,官方公告列出的預設連接埠是 3333。

    防禦: PlainCVE 的建議:還不能升級時,用主機防火牆擋掉其他機器連到這個連接埠。

  3. 攻擊者

    同網路的攻擊者或惡意網頁送出 MCP 工具呼叫

    這兩個端點沒有任何權杖檢查,所以不需要帳號。依 CVE 紀錄,開發者若瀏覽惡意網頁,網頁也可能對這個伺服器送出請求。

    防禦: PlainCVE 的判斷:升級到 4.5.4 以上後,--mcp 旗標已移除,應不再有這個網路端點(更新說明未說明安全機制)。

  4. 你的系統

    伺服器用開發者存下的存取權杖代為執行

    存取權杖(token)是證明「我是誰」的一串字。伺服器拿 trigger login 存下的權杖去呼叫 Trigger.dev,所以請求看起來就是開發者本人。

  5. 外部

    專案裡的任務被觸發、取消或紀錄被讀取

    官方公告指出:可以排入真實的任務執行(不是預覽或沙箱)、取消進行中的執行、列出近期執行與其資料。依任務內容,可能連帶影響付款、外部 API 或客戶。影響範圍以該權杖的權限為上限。

    防禦: PlainCVE 的建議:不要把機密直接放進任務的輸入資料或紀錄。

影響範圍

以下四個條件同時成立才會曝險(官方公告與 CVE 紀錄):

條件說明
版本@trigger.dev/cli-v3 3.0.0 以上、4.5.4 以前(CNA VulnCheck 的範圍)
使用方式執行了 trigger dev --mcp,而且開發工作階段仍開著
登入狀態已用 trigger login 登入,伺服器會用這組存下的存取權杖
攻擊者位置在同一個區域網路(LAN),或開發者瀏覽了惡意網頁
版本狀態
3.0.0 以上、4.5.4 以前受影響(CNA 範圍)
4.5.4 以上已修補(—mcp 旗標已移除)

關於起始版本: 3.0.0 是 CNA 給的起點。官方於 2025-04-09 隨 v4 beta 宣布 trigger dev --mcp,官方貼文似乎顯示這個旗標到那時才推出。PlainCVE 的判斷是實際曝險可能比 3.0.0 晚開始,但官方沒有版本說明可以證實。

原理

MCP(Model Context Protocol)是讓 AI 程式助理呼叫外部工具的協定。執行 trigger dev --mcp 時,CLI 會在開發者電腦上起一個 MCP 伺服器,讓 Cursor、Claude Code 這類工具能替你觸發任務、查詢執行狀況。

問題有兩層:

  1. 門開錯地方。 伺服器沒有只綁在本機(localhost),而是監聽所有網路介面,對整個網路開放 /sse 與 /messages 端點;官方公告列出的預設連接埠是 3333。
  2. 門沒有鎖。 這兩個端點完全沒有權杖檢查。伺服器卻會拿開發者用 trigger login 存下的存取權杖(證明「你是誰」的一串字)去呼叫 Trigger.dev。

所以任何連得到它的人,都能以開發者身分使用它提供的工具。官方公告列出的影響:排入真實的任務執行(不是預覽或沙箱)、取消進行中的執行、列出近期執行與其輸入資料(常含個資或機密)。依專案的任務內容,可能連帶造成付款、外部 API 或面向客戶的影響。損害以該權杖的權限為上限,而開發用權杖通常涵蓋整個專案。

沒有任何來源說攻擊者能在開發者電腦上執行任意程式碼;已描述的影響是透過開發者權杖濫用 Trigger.dev API。這對應 CWE-306(關鍵功能缺少認證)。

有問題的思路(概念示意,不是原始程式碼):

展開程式碼範例(js)
// 對所有網路介面開放,且不檢查任何權杖
server.listen({ host: "0.0.0.0", port: 3333 });
onToolCall((call) => api.run(call, storedLoginToken));

比較安全的思路(概念示意):

展開程式碼範例(js)
// 不開網路連接埠;由 MCP 用戶端自己啟動,透過標準輸入輸出溝通
runMcpOverStdio((call) => api.run(call, storedLoginToken));

官方更新說明只寫 4.5.4 移除 dev 指令的 --mcp 與 --mcp-port 旗標,改用獨立的 trigger mcp 指令。PlainCVE 的判斷:修補方式看起來是移除監聽,而不是替舊伺服器加上認證;更新說明沒有說明安全機制。

時間軸

日期事件
2025-04-09Trigger.dev 隨 v4 beta 宣布 trigger dev --mcp 本機 MCP 伺服器
2026-07-14第三方版本索引 releases.sh 記錄的 v4.5.4 發布日,移除 —mcp 旗標
2026-07-21維護者 GitHub 安全公告發布;CVE 紀錄中的公開日期(datePublic)也是這天
2026-10-20VulnCheck 自己的公告日期
2026-10-21CVE 紀錄發布;CISA SSVC 評估遭利用狀態為 none
2026-10-22未列入 CISA KEV

官方 GitHub 安全公告 GHSA-pqmg-rq46-vm4m 該頁含攻擊程式,本站不連結。

延伸閱讀

  • 評分: 目前只有 CNA(VulnCheck)的分數:CVSS 4.0 為 7.6,CVSS 3.1 為 7.1,兩者都是「高」。差別在於 3.1 把攻擊複雜度算成「高」,4.0 則以「需要特定前提」表達。資料中沒有 NVD 自己的評分。
  • 公開日期: 維護者公告(2026-07-21 發布)與 CVE 紀錄的公開日期(2026-07-21)一致。VulnCheck 的 2026-10-20 只是它自己公告的日期,不是公開日期。
  • 遭利用狀況: 截至 2026-10-22 未列入 CISA KEV;CISA 在 2026-10-21 的 SSVC 評估寫遭利用為 none。修補前是否曾遭利用,沒有資料。GitHub Advisory Database 快照中的 EPSS(預測未來 30 天遭利用機率)約 0.2%,第 9.9 百分位。
  • 其他編號: GitHub Advisory Database 另有條目 GHSA-8v2q-27xw-2fjh,GitHub 尚未審核。OSV 列出了引入與修補的 commit(798a47e8… 與 16595578…)。
  • 相關弱點類型:CWE-306;設計原則「本機開發服務預設只綁 localhost」。

驗證紀錄 AI 依審稿規則逐項核對來源,全部通過;未經人工審稿,也尚未在我們的環境重現

AI 審稿2026-10-22 · 審稿規則

驗證紀錄只寫環境與結果,不公開重現步驟或可攻擊他人系統的程式。詳見 政策.

來源

  1. CVE / NVD / OSVCVE-2026-114090 Record (CVE Services API) · CVE Program / VulnCheck (CNA), 2026-10-21 · 查閱 2026-10-22
  2. 安全公告Trigger.dev CLI 3.0.0 before 4.5.4 Missing Authentication in MCP Server · VulnCheck, 2026-10-20 · 查閱 2026-10-22
  3. 安全公告GitHub Advisory Database entry for CVE-2026-114090 (GHSA-8v2q-27xw-2fjh, unreviewed) · GitHub · 查閱 2026-10-22
  4. 其他OSV entry for CVE-2026-114090 · OSV · 查閱 2026-10-22
  5. 修補 commit / 版本Trigger.dev changelog v4.5.4 · Trigger.dev · 查閱 2026-10-22
  6. 其他trigger.dev v4.5.4 release · releases.sh, 2026-07-14 · 查閱 2026-10-22
  7. 研究文章CVE-2026-114090 Missing Authentication for Critical Function in trigger.dev cli-v3 · OffSeq Radar · 查閱 2026-10-22
  8. 廠商說明trigger.dev issue #1780 (v4 beta release comment) · Trigger.dev (GitHub) · 查閱 2026-10-22
  9. 廠商說明Trigger.dev announcement of trigger dev --mcp · Trigger.dev (X), 2025-04-09 · 查閱 2026-10-22
  10. 其他PlainCVE CISA KEV snapshot for CVE-2026-114090 · PlainCVE, 2026-10-22 · 查閱 2026-10-22

媒體簡報

一句話

Trigger.dev 是讓開發者在背景執行工作的平台。它的命令列工具有一個選項 trigger dev --mcp,會在開發者電腦上啟動一個給 AI 程式助理用的伺服器,但這個伺服器對整個網路開放、又不檢查身分。同網路的人或惡意網頁因此可能借開發者的登入身分觸發、取消專案任務並讀取執行紀錄。4.5.4 版已移除這個選項;CISA 在 2026-10-21 的評估中把遭利用狀態列為 none,截至 2026-10-22 也未列入 KEV。

關鍵數字

嚴重度
CVSS 4.0 7.6(CNA VulnCheck) cveawg.mitre.org
受影響版本
cli-v3 >= 3.0.0, < 4.5.4 vulncheck.com
修補版本
v4.5.4(移除 --mcp 旗標) trigger.dev
CVE 紀錄發布
2026-10-21 cveawg.mitre.org
弱點類型
CWE-306 關鍵功能缺少認證 api.github.com

已確認

  • trigger dev --mcp 啟動的伺服器監聽所有網路介面,/sse 與 /messages 端點沒有權杖檢查。
  • 官方公告指出,攻擊者可用開發者的存取權杖觸發真實任務、取消執行,並列出含資料的執行紀錄。
  • 官方在 v4.5.4 移除了 dev 指令的 --mcp 與 --mcp-port 旗標。
  • 截至 2026-10-22 未列入 CISA KEV;CISA 2026-10-21 的 SSVC 評估把遭利用狀態列為 none。

尚未確認 / 說法不一

  • 受影響起點 3.0.0 來自 CNA;官方貼文顯示 --mcp 似乎到 2025 年 4 月 v4 beta 才推出,實際曝險可能較晚開始(PlainCVE 推測)。
  • 沒有來源說攻擊者能在開發者電腦上執行任意程式碼;是否在修補前就遭利用也不清楚。
  • 官方沒有說明替代用的 trigger mcp 指令是否不受此問題影響。

可引用的一句話

給 AI 助理開的一扇便利小門,沒上鎖,也沒關在屋內,而是開在整條街上。

圖片

下載分享圖(PNG) · 攻擊流程圖(可下載)

引用時請標示「PlainCVE」並附上本頁連結。 完整引用格式見下方「如何引用本頁」。有事實錯誤請回報.

如何引用本頁

本文採 CC BY 4.0,轉載請保留署名與連結。

PlainCVE 團隊(2026)。《Trigger.dev CLI 的 trigger dev --mcp 伺服器缺少認證:同網路的人或惡意網頁能借開發者身分操作專案》。PlainCVE。https://plaincve.date/vulns/cve-2026-114090-trigger-dev-mcp-missing-auth(查閱日期:YYYY-MM-DD)
BibTeX
@misc{cve2026114090triggerdevmcpmissingauth2026,
  title  = {Trigger.dev CLI 的 trigger dev --mcp 伺服器缺少認證:同網路的人或惡意網頁能借開發者身分操作專案},
  author = {PlainCVE 團隊},
  year   = {2026},
  howpublished = {PlainCVE},
  url    = {https://plaincve.date/vulns/cve-2026-114090-trigger-dev-mcp-missing-auth},
  note   = {更新於 2026-10-22}
}