本卡為 FR-097 母案。掃 jedi-log 這支套件——它管兩件事:把系統日誌轉送到外部伺服器、以及記錄誰對系統做了什麼操作。切兩棒共 82 個檔案,只掃不修。子卡清單在末段。

這系列在做什麼(白話)

系統每天會產生大量日誌——誰登入了、誰改了什麼、程式出了什麼錯。這支套件管兩件事:①「日誌轉送」,把這些日誌即時送到客戶指定的外部伺服器(例如客戶自己的資安監控系統);②「操作記錄」,把每一次 API 呼叫記下來,供事後稽核查閱。

這一系列要回答的問題是:誰改得動「日誌要送去哪裡」這個設定,以及誰看得到那些操作記錄。

為什麼要做

這支套件從來沒有被掃過。而且它有一個特殊的風險形狀:日誌本身就是最敏感的資料——依跨 arc 總表已登記的第 22 項,目前使用者的登入密碼與登入憑證會原文寫進日誌。也就是說,「日誌要送去哪裡」這個設定一旦被改掉,等於把含有密碼的整包資料導向攻擊者指定的主機。

🔴 開卡前首腦實查,更正了跨 arc 總表一處錯誤:總表 §4 排名表寫「日誌轉送的目標設定裡包含帳密」——這句不成立。首腦開了建表腳本逐欄核對,那張表只有主機、埠號、通訊協定、開關這些欄位,沒有任何帳號密碼欄位。所以這支的原始排序理由有一半是錯的,但仍值得掃,理由是上一段講的「導向誰」而不是「設定裡存了什麼」。

首腦讀完後的重點

怎麼拆

建議順序:L1 → L2,一次只派一棒,每棒獨立驗收完才派下一棒。合理停損點在 L1 之後——L1 涵蓋「誰改得動日誌去向」這個真正的風險面;L2 的守門看起來紮實、且它的主要問題已登記在第 23 項。

⚠️ 套件根層還有 6 支檔案(jedi_api_log/__init__.py 與 plugin/ 五支)兩棒都不含。那幾支定義的是「宿主必須填哪些插槽」,屬於接線層,會併進之後與 jedi-asset 合併的宿主接線棒一起掃。這是刻意的,不是漏掉。

共同設定