本卡屬 FR-077(母卡 CM-PARENT),第 2 棒:任務下發與檔案取用(jedi monorepo,跨 jedi-remote-agentjedi-detection 兩包)。只掃不修

這一棒在做什麼(白話)

R1 掃的是「agent 怎麼證明自己是誰」,這一棒掃的是證明完之後它能做什麼:雲端怎麼派工作給它、它怎麼回報做完了、以及它怎麼把工作要用到的檔案(源碼壓縮包、檢測設定檔)下載回去。

claude-security plugin 掃 29 個檔並產出報告。只找問題、不修問題。

為什麼切這一塊

「任務」與「任務引用的檔案」放同一棒,是因為它們是同一個授權窗口——檔案下載的授權判定(agent_file_access_service.py 的 resolver 清單)判的正是「這個檔案是不是該 agent 名下未完成任務引用的」。拆開來兩邊都看不出接縫:只看任務不知道任務狀態會影響檔案授權,只看檔案不知道任務狀態機允許哪些轉移。

跨兩個套件是因為 repo 邊界不等於業務邊界——派工單信封在 jedi-remote-agent,派工內容與檔案授權在 jedi-detection,這條路徑是連著的。兩包同在 jedi monorepo,同一個 scanRoot 掃得到。

出問題會怎樣:能替別人的任務回報結果,就能污染檢測證據(產品的核心產出);能繞過檔案授權,就能拿到別的客戶的源碼壓縮包。

重點看什麼

這些是首腦讀過全部程式碼後認為最容易出事的地方。是思考起點不是檢查清單——掃完後照這個自己追(FR-076 的 L2 那條 HIGH 就是 runner 這樣追出來的,工具當時只找到 LOW)。

已知背景

本範圍從未被掃過。R1(agent 身分與註冊)與本棒相鄰但範圍不重疊——R1 掃「怎麼證明自己是誰」,本棒掃「證明完能做什麼」。