// 威脅簡報

PraisonAI AgentTeam.launch() 缺少認證:能連到伺服器的人都能列出並呼叫你的 AI 代理

CVSS
9.8 CRITICAL
CISA KEV
未列入
弱點類型
CWE-306 · CWE-862
主題
AI 安全

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

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

PraisonAI 用 AgentTeam.launch() 啟動的 HTTP 伺服器沒有任何認證,能連上它的人不需帳號就能列出並呼叫你部署的 AI 代理。

誰會中使用受影響版本的 praisonaiagents(CVE 紀錄寫 1.6.59 以前,並另列 PraisonAI 4.6.59 以前;維護者 GitHub 公告寫 praisonaiagents 4.6.57 以下,兩者不一致),以 AgentTeam.launch() 或 Agents.launch() 啟動 HTTP 伺服器,且該伺服器可從網路連到的人。
後果視部署的代理而定,攻擊者可能列出代理、呼叫代理、消耗付費的模型用量、讀到代理串接的私有資料,或觸發代理工具與工作流程的副作用。
現在該做什麼升級 praisonaiagents 到 1.6.59 以上,並且設定環境變數 PRAISONAI_LAUNCH_AUTH_TOKEN;依修補提交,沒設定這個變數時仍會放行所有請求。還不能升級時,Vulert 建議暫時把伺服器綁在 127.0.0.1,不要對外開放。
受影響版本CVE 紀錄:praisonaiagents 1.6.59 以前、PraisonAI 4.6.59 以前;維護者 GitHub 公告:praisonaiagents 4.6.57 以下(兩者不一致)
修好的版本praisonaiagents 1.6.59 以上,且須設定 PRAISONAI_LAUNCH_AUTH_TOKEN 才會啟用認證(PraisonAI 4.6.59 可能是對應的修補版,這是 PlainCVE 的判斷)
CVSS 向量
顯示完整向量CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
時間點
  • 首次公開 2026-06-17

藍隊應對手冊

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

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

    只讀取版本,不修改環境。請在執行代理伺服器的那台主機上、安裝 PraisonAI 的同一個 Python 環境(虛擬環境要先啟用)裡執行,否則可能查到別的環境。praisonaiagents 低於 1.6.59 即在 CVE 紀錄的受影響範圍(CVE 紀錄另列 PraisonAI 低於 4.6.59;維護者 GitHub 公告寫 praisonaiagents 4.6.57 以下,1.x 版號都落在這個範圍內)。

    唯讀查詢
    pip show praisonaiagents praisonai | grep -iE '^(name|version)'
  2. 02找出用 launch() 啟動伺服器的程式

    只讀取,不修改檔案。請在你自己專案的原始碼根目錄執行,會搜尋所有子資料夾。這個指令只列出 .launch( 呼叫,看不出綁定位置;請逐一檢查找到的呼叫有沒有 host 參數、設成什麼。受影響的前提是用 AgentTeam.launch() 或 Agents.launch() 啟動 HTTP 伺服器,且可從網路連到。注意 Agents.launch() 預設就綁定 0.0.0.0,沒寫 host 也可能對外開放。

    唯讀查詢
    grep -rnE '\.launch\(' --include='*.py' .
  3. 03檢查存取紀錄中的異常呼叫

    PlainCVE 的建議(我們查閱的來源中沒有偵測指引):檢查代理伺服器或前端反向代理的紀錄,看是否有來自不認得的來源、對代理清單或代理呼叫路徑的請求,並比對模型供應商的用量是否異常增加。

MITIGATE修補 / 緩解先修補;還不能修補時先擋住
  1. 01升級到 praisonaiagents 1.6.59 以上,並設定 PRAISONAI_LAUNCH_AUTH_TOKEN

    會修改環境(安裝或升級套件)。請在執行代理伺服器的那台主機上、安裝 PraisonAI 的同一個 Python 環境(虛擬環境要先啟用)裡執行。依修補提交 b4270173,新版會讀取環境變數 PRAISONAI_LAUNCH_AUTH_TOKEN;沒設定時檢查會直接放行所有請求,所以只升級、不設定這個變數,端點仍然不需認證。設定後,請求要在 Authorization 標頭帶 Bearer token 或用 X-Auth-Token 標頭,否則回 401。修補也沒有改變 launch() 的預設綁定位置。

    會變更環境
    pip install -U "praisonaiagents>=1.6.59"
  2. 02還不能升級:綁定 127.0.0.1

    Vulert 建議的暫時做法,讓外部連不到伺服器;Vulert 也說明這不是完整修補。

RESPOND應變發現入侵跡象時
  1. 01輪替代理串接服務的憑證

    PlainCVE 的建議:如果發現可疑呼叫,輪替代理工具所使用的憑證與模型供應商金鑰,並檢查代理工具是否做了非預期的操作。這是預防性做法,不代表已確認外洩。

HARDEN強化長期避免同類問題
  1. 01不要讓代理伺服器直接暴露在網際網路

    PlainCVE 的建議(我們查閱的來源中沒有這項指引):即使升級後,也建議在防火牆或反向代理後面限制來源。

  2. 02代理只給必要工具與最小權限

    PlainCVE 的建議(我們查閱的來源中沒有這項指引):這個漏洞的實際影響取決於代理能做什麼;權限越小,被濫用時損害越小。

完整修復步驟與說明
  1. 升級。 pip install -U "praisonaiagents>=1.6.59"(會修改環境;請在執行代理伺服器的主機、安裝 PraisonAI 的同一個 Python 環境裡執行)。如果你安裝的是 praisonai 套件,CVE 紀錄列 4.6.59 以前為受影響,PlainCVE 判斷 4.6.59 應是對應版本,升級後請用 pip show praisonaiagents 確認實際裝到 1.6.59 以上。
  2. 升級後一定要設定金鑰。 依修補提交 b4270173,launch() 的認證只在設定了環境變數 PRAISONAI_LAUNCH_AUTH_TOKEN 時才啟用;沒設定時會放行所有請求,也就是只升級、不設定,端點仍然不需認證。PlainCVE 的建議:在啟動伺服器的環境設定一個夠長、隨機的值,並讓合法的呼叫端在 Authorization: Bearer 或 X-Auth-Token 標頭帶上它。
  3. 暫時做法只是暫時。 Vulert 建議的綁定 127.0.0.1 能擋住外部連線,但同一台機器上的其他程式仍連得到;Vulert 也明說這不是完整修補。
  4. 確認是否曾被濫用。 我們查閱的來源中沒有偵測指引。PlainCVE 建議比對伺服器紀錄與模型供應商的用量,有可疑呼叫就輪替代理工具用到的憑證。

攻擊流程

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

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

PraisonAI AgentTeam.launch() 缺少認證:能連到伺服器的人都能列出並呼叫你的 AI 代理: 1. 找到一台對外開放的 PraisonAI 代理伺服器 → 2. 不帶任何憑證,呼叫列出代理的端點 → 3. 伺服器沒做存取檢查就回傳代理清單 → 4. 攻擊者呼叫代理,伺服器直接執行 agent.chat() → 5. 代理的工具或工作流程被觸發CVE-2026-57118 · PraisonAI AgentTeam.launch() 缺少認證:能連到伺服器的人都能列出並呼叫你的 AI 代理攻擊者你的系統外部找到一台對外開放的 PraisonAI 代理伺服器 — Agents.launch() 預設綁定 0.0.0.0(所有網路介面),官方文件的遠端存取範例也這樣寫,所以伺服器較可能對外開放。 1找到一台對外開放的PraisonAI 代理伺服器不帶任何憑證,呼叫列出代理的端點 — 沒有 Authorization 標頭的請求會被接受,帶明顯錯誤 token 的請求也會被接受。 2不帶任何憑證,呼叫列出代理的端點伺服器沒做存取檢查就回傳代理清單 — 舊版註冊這些路由時沒有加上任何認證或授權檢查。 3伺服器沒做存取檢查就回傳代理清單攻擊者呼叫代理,伺服器直接執行 agent.chat() — 每次呼叫都可能消耗你的付費模型用量,也可能讓代理讀出它能存取的私有資料。 4攻擊者呼叫代理,伺服器直接執行agent.chat()代理的工具或工作流程被觸發 — 能造成什麼後果,取決於代理被賦予了哪些工具。 5代理的工具或工作流程被觸發攻擊路徑可在此擋下PlainCVE · plaincve.date/vulns/cve-2026-57118-praisonai-agent-launch-missing-auth · CC BY 4.0
PraisonAI AgentTeam.launch() 缺少認證:能連到伺服器的人都能列出並呼叫你的 AI 代理: 1. 找到一台對外開放的 PraisonAI 代理伺服器 → 2. 不帶任何憑證,呼叫列出代理的端點 → 3. 伺服器沒做存取檢查就回傳代理清單 → 4. 攻擊者呼叫代理,伺服器直接執行 agent.chat() → 5. 代理的工具或工作流程被觸發CVE-2026-57118 · PraisonAIAgentTeam.launch() 缺少認證:能連到伺服器的人都能列出並呼叫你的 AI 代理找到一台對外開放的 PraisonAI 代理伺服器 — Agents.launch() 預設綁定 0.0.0.0(所有網路介面),官方文件的遠端存取範例也這樣寫,所以伺服器較可能對外開放。 1攻擊者找到一台對外開放的PraisonAI 代理伺服器不帶任何憑證,呼叫列出代理的端點 — 沒有 Authorization 標頭的請求會被接受,帶明顯錯誤 token 的請求也會被接受。 2攻擊者不帶任何憑證,呼叫列出代理的端點伺服器沒做存取檢查就回傳代理清單 — 舊版註冊這些路由時沒有加上任何認證或授權檢查。 3你的系統伺服器沒做存取檢查就回傳代理清單攻擊者呼叫代理,伺服器直接執行 agent.chat() — 每次呼叫都可能消耗你的付費模型用量,也可能讓代理讀出它能存取的私有資料。 4你的系統攻擊者呼叫代理,伺服器直接執行 agent.chat()代理的工具或工作流程被觸發 — 能造成什麼後果,取決於代理被賦予了哪些工具。 5外部代理的工具或工作流程被觸發攻擊路徑可在此擋下PlainCVE · CC BY 4.0plaincve.date/vulns/cve-2026-57118-praisonai-agent-launch-missing-auth
圖片可自由用於報導與教學,採 CC BY 4.0,圖上已附出處。
  1. 攻擊者

    找到一台對外開放的 PraisonAI 代理伺服器

    Agents.launch() 預設綁定 0.0.0.0(所有網路介面),官方文件的遠端存取範例也這樣寫,所以伺服器較可能對外開放。

    防禦: Vulert 的暫時做法:把伺服器綁在 127.0.0.1,外部就連不到。

  2. 攻擊者

    不帶任何憑證,呼叫列出代理的端點

    沒有 Authorization 標頭的請求會被接受,帶明顯錯誤 token 的請求也會被接受。

    防禦: 升級 praisonaiagents 到 1.6.59 以上,並設定 PRAISONAI_LAUNCH_AUTH_TOKEN。

  3. 你的系統

    伺服器沒做存取檢查就回傳代理清單

    舊版註冊這些路由時沒有加上任何認證或授權檢查。

    防禦: 修補提交為這些路由加上 token 檢查,但只在設定了 PRAISONAI_LAUNCH_AUTH_TOKEN 時才生效。

  4. 你的系統

    攻擊者呼叫代理,伺服器直接執行 agent.chat()

    每次呼叫都可能消耗你的付費模型用量,也可能讓代理讀出它能存取的私有資料。

    防禦: 升級並設定 PRAISONAI_LAUNCH_AUTH_TOKEN;另外,PlainCVE 的建議:在模型供應商端設定用量上限。

  5. 外部

    代理的工具或工作流程被觸發

    能造成什麼後果,取決於代理被賦予了哪些工具。

    防禦: PlainCVE 的建議:只給代理必要的工具,並使用最小權限的憑證。

影響範圍

條件是否受影響
praisonaiagents 1.6.59 以前(CVE 紀錄)/ 4.6.57 以下(維護者 GitHub 公告)+ 用 AgentTeam.launch() / Agents.launch() 啟動 HTTP 伺服器 + 伺服器可從網路連到受影響
PraisonAI 4.6.59 以前CVE 紀錄列為受影響
praisonaiagents 1.6.59 以上,且有設定 PRAISONAI_LAUNCH_AUTH_TOKEN已修補(兩份公告都列 1.6.59 以上為修補版;依修補提交,要設定這個變數才會檢查認證)
praisonaiagents 1.6.59 以上,但沒設定 PRAISONAI_LAUNCH_AUTH_TOKEN依修補提交,認證檢查會直接放行,端點仍然不需認證
PraisonAI 4.6.59可能是對應的修補版(PlainCVE 的判斷:CVE 紀錄寫 4.6.59 以前受影響並連到 v4.6.59 發布頁,但沒有來源明確說這版已修補,發布頁也沒有說明)
只用 praisonai serve agents --api-key 命令列啟動官方公告明確表示不處理這條路徑,本頁無法判斷

受影響版本的來源不一致: CVE 紀錄(CNA:GitHub)寫 praisonaiagents 1.6.59 以前、PraisonAI 4.6.59 以前;維護者自己的 GitHub 安全公告(該頁含攻擊程式,本站不連結)則寫 praisonaiagents 受影響版本為 4.6.57 以下、修補版為 1.6.59 以上。praisonaiagents 的版號是 1.x,PlainCVE 判斷維護者公告的上界看起來是把 PraisonAI 的版號誤填到 praisonaiagents 上;GitLab 公告資料庫寫 1.6.59 以前。兩份公告都把 praisonaiagents 1.6.59 以上列為修補版。

回報者實測的是 v4.6.57 發布版與當時的主線提交 2f9677ab。依 PYSEC/OSV 的說明,伺服器需要能從網路連到才會被利用;官方公告指出 Agents.launch() 預設綁定 0.0.0.0(所有網路介面),官方文件的遠端存取範例也這樣寫。PlainCVE 認為這讓不經意對外開放的情況更可能發生。

原理

PraisonAI 可以把一組 AI 代理(由語言模型驅動、能呼叫工具完成任務的程式)包成 HTTP 服務。AgentTeam.launch() 和它的別名 Agents.launch() 會註冊三類端點(伺服器上可被呼叫的網址路徑):一個列出代理,兩個用來呼叫代理。問題是這些路由在列出代理或執行 agent.chat() 之前,完全沒有檢查呼叫者是誰。官方公告指出,沒帶 Authorization 標頭(放登入憑證的欄位)的請求會被接受,帶一個明顯錯誤的 token(存取憑證)也一樣會被接受。

這對應 CWE-306(關鍵功能缺少認證)與 CWE-862(缺少授權)。官方公告也說明,這是 PraisonAI 先前幾則「API 伺服器未認證」公告的同類問題,屬於之前修補沒有涵蓋到的變體。

依據 CVE 紀錄,能連到伺服器的人可能做到:列出代理、消耗模型資源(例如付費的模型用量)、存取代理串接的私有資料,以及觸發代理工具或工作流程的副作用。實際能做到哪些,取決於部署了哪些代理。

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

展開程式碼範例(python)
@app.post("/{path}/{agent_id}")
def call_agent(agent_id, body):
    # 沒有任何身分檢查,直接執行代理
    return agents[agent_id].chat(body.message)

修好的思路:

展開程式碼範例(python)
@app.post("/{path}/{agent_id}")
def call_agent(agent_id, body, request):
    if not is_authorised(request):   # 沒有有效的金鑰就拒絕
        raise Unauthorized()
    return agents[agent_id].chat(body.message)

修補提交 b4270173 的標題寫的是加入 API 金鑰認證中介層。提交的差異內容顯示,praisonaiagents/agents/agents.py 新增了 _authorise_launch_request 檢查,token 來自環境變數 PRAISONAI_LAUNCH_AUTH_TOKEN,會比對 Authorization: Bearer 或 X-Auth-Token 標頭,不符就回 401。要注意的是:沒設定這個環境變數時,檢查會直接放行所有請求;修補也沒有改變 launch() 的預設綁定位置。

時間軸

日期事件
2026-06-17PraisonAI v4.6.59 發布(發布頁沒寫年份,2026 年是依修補提交日期推定)
2026-06-17維護者公開 GitHub 安全公告 GHSA-x8cv-xmq7-p8xp(依 GitHub API 的 published_at;該公告頁含攻擊程式,本站不連結)
2026-06-18GitHub Advisory Database 審核收錄(OSV 記錄的日期)
2026-06-24CVE 編號保留
2026-07-23Python 公告資料庫發布 PYSEC-2026-3537
2026-10-12CVE 紀錄公開
2026-10-13仍未列入 CISA 已知遭利用漏洞清單

延伸閱讀

  • 評分: 9.8 是 CNA(GitHub)給的 CVSS 3.1 分數。NVD 尚未自行分析(2026-10-17 查詢時狀態為 Awaiting Analysis),目前唯一的分數就是 GitHub 的。
  • 公開日期: 維護者的 GitHub 安全公告於 2026-06-17 公開(GitHub API 的 published_at;該頁含攻擊程式,本站不連結),早於 2026-10-12 的 CVE 紀錄,本頁以 6 月 17 日為首次公開。OSV 與 GitLab 寫的 2026-06-18 是 GitHub Advisory Database 審核收錄的時間;Vulert 的 CVE 頁面寫的 2026-07-23 是 PYSEC-2026-3537 的發布日。
  • 是否算「遠端程式碼執行」: Miggo 把這個 CVE 標為「Unauth RCE」(未認證遠端程式碼執行)。官方公告與 CVE 紀錄描述的是「未認證呼叫代理」,沒有說能執行任意程式碼。PlainCVE 的判斷是:能否進一步執行程式碼,取決於代理被賦予了哪些工具,這個標籤應視為未確認。
  • 利用狀況: 官方公告附有只在本機執行的概念驗證,用來確認端點不需認證就會回應(該頁含攻擊程式,本站不連結);這是公開的驗證程式,不是攻擊證據。資料中沒有遭實際利用或修補前被利用的證據。FIRST 的 EPSS(預測被利用機率的分數)為 0.33%(百分位約 24%,2026-10-16)。
  • 發現者: 維護者的 GitHub 安全公告致謝 rexpository 為回報者(Reporter)。CVE 紀錄的發現欄位(discovery)為 UNKNOWN,那是發現管道的類別,不代表沒有致謝。
  • 其他編號:PYSEC-2026-3537。

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

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

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

來源

  1. CVE / NVD / OSVCVE-2026-57118 Record (CVE API) · CVE Program, 2026-10-12 · 查閱 2026-10-13
  2. CVE / NVD / OSVNVD API - CVE-2026-57118 · NIST · 查閱 2026-10-13
  3. 修補 commit / 版本feat(auth): implement API key authentication middleware for AgentOS (b4270173) · MervinPraison (GitHub), 2026-06-17 · 查閱 2026-10-13
  4. 修補 commit / 版本PraisonAI v4.6.59 release · MervinPraison (GitHub), 2026-06-17 · 查閱 2026-10-13
  5. 安全公告GitLab Advisory Database - praisonaiagents GHSA-x8cv-xmq7-p8xp · GitLab · 查閱 2026-10-13
  6. 研究文章CVE-2026-57118: PraisonAI AgentTeam Unauth RCE · Miggo · 查閱 2026-10-13
  7. 其他CVE-2026-57118 · Vulert · 查閱 2026-10-13

媒體簡報

一句話

PraisonAI 是一套用來組建多個 AI 代理協同工作的開源框架。它用 AgentTeam.launch() 啟動的 HTTP 伺服器完全沒有認證,任何能連上的人都能列出並呼叫部署的代理。CVE 編號負責單位(GitHub)給出 CVSS 9.8 的評分,修補版 praisonaiagents 1.6.59 已釋出,但依修補提交,升級後還要設定 PRAISONAI_LAUNCH_AUTH_TOKEN 才會啟用認證。截至 2026 年 10 月 13 日,它不在美國 CISA 的已知遭利用漏洞清單上。

關鍵數字

嚴重度
CVSS 3.1 9.8(CNA:GitHub;NVD 尚未分析) cveawg.mitre.org
修補版本
praisonaiagents 1.6.59 cveawg.mitre.org
GitHub 安全公告
GHSA-x8cv-xmq7-p8xp cveawg.mitre.org
CVE 公開
2026-10-12 cveawg.mitre.org

已確認

  • praisonaiagents 1.6.59 以前,AgentTeam.launch() 與 Agents.launch() 註冊的代理清單與呼叫端點沒有任何存取檢查。
  • 官方公告指出,沒帶 Authorization 標頭或帶錯誤 token 的請求都會被接受,且 Agents.launch() 預設綁定 0.0.0.0。
  • 截至 2026-10-13,未列入 CISA 已知遭利用漏洞清單。

尚未確認 / 說法不一

  • 受影響版本說法不一:CVE 紀錄寫 praisonaiagents 1.6.59 以前,維護者 GitHub 公告寫 4.6.57 以下(修補寫 1.6.59 以上);維護者公告的上界看起來是把 PraisonAI 的版號誤填到 praisonaiagents 上,這是 PlainCVE 的判斷。
  • Miggo 把它標為「未認證遠端程式碼執行」,但官方公告與 CVE 紀錄都沒有這樣說;是否能執行程式碼取決於代理的工具。
  • 資料中沒有遭實際利用的證據,也無法確認是否在修補前就被利用。
  • PraisonAI 4.6.59 是否為對應修補版,沒有來源明確寫出,這是 PlainCVE 的判斷。

可引用的一句話

把 AI 代理放上網路卻不設門,等於讓陌生人用你的帳單、你的資料和你的工具替他做事。

圖片

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

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

如何引用本頁

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

PlainCVE 團隊(2026)。《PraisonAI AgentTeam.launch() 缺少認證:能連到伺服器的人都能列出並呼叫你的 AI 代理》。PlainCVE。https://plaincve.date/vulns/cve-2026-57118-praisonai-agent-launch-missing-auth(查閱日期:YYYY-MM-DD)
BibTeX
@misc{cve202657118praisonaiagentlaunchmissingauth2026,
  title  = {PraisonAI AgentTeam.launch() 缺少認證:能連到伺服器的人都能列出並呼叫你的 AI 代理},
  author = {PlainCVE 團隊},
  year   = {2026},
  howpublished = {PlainCVE},
  url    = {https://plaincve.date/vulns/cve-2026-57118-praisonai-agent-launch-missing-auth},
  note   = {更新於 2026-10-17}
}