51 lines
2.6 KiB
JSON
51 lines
2.6 KiB
JSON
[
|
|
{
|
|
"level": "critical",
|
|
"role": "Assassin",
|
|
"location": "Dockerfile:13",
|
|
"problem": "直接將網際網路的腳本經由 pipe 傳送給 shell 執行 (curl | sh) 極度危險,且缺乏驗證,極易導致容器建置階段遭劫持或執行惡意代碼。",
|
|
"suggestion": "應先將腳本下載至本地,透過 sha256sum 或 gpg 驗證其完整性與來源可靠性後,再執行安裝。",
|
|
"is_new": false
|
|
},
|
|
{
|
|
"level": "critical",
|
|
"role": "Assassin",
|
|
"location": "Dockerfile:16",
|
|
"problem": "從未經驗證的遠端 git 儲存庫安裝插件,若儲存庫內容遭竄改,將導致任意程式碼執行風險。",
|
|
"suggestion": "必須鎖定特定 commit hash (SHA) 來引用插件,確保所安裝內容符合預期且未遭篡改。",
|
|
"is_new": false
|
|
},
|
|
{
|
|
"level": "critical",
|
|
"role": "Maya",
|
|
"location": "Dockerfile:11",
|
|
"problem": "新增了 Codex CLI 的安裝與插件註冊過程,但沒有對應的測試來驗證安裝是否成功、插件是否正確載入。",
|
|
"suggestion": "應在測試套件中加入 Docker 映像檔的整合測試,驗證容器啟動後 `codex --version` 及插件列表是否存在。",
|
|
"is_new": false
|
|
},
|
|
{
|
|
"level": "warning",
|
|
"role": "Leo",
|
|
"location": "Dockerfile:20",
|
|
"problem": "在建置期透過網路安裝插件,增加建置複雜度、時間,且對外部網路依賴過高,不可重現。",
|
|
"suggestion": "建議將插件預先打包在映像檔中,或使用特定版本的 manifest 檔案管理相依性。",
|
|
"is_new": false
|
|
},
|
|
{
|
|
"level": "warning",
|
|
"role": "Leo",
|
|
"location": "Dockerfile:17",
|
|
"problem": "在 Dockerfile 中直接使用 `curl` 下載並執行安裝腳本 (`sh \"$install_script\"`) 存在潛在的安全風險與不確定性,且沒有檢查腳本的完整性或簽章。若腳本內容在未來變更,可能導致映像檔建置失敗或植入非預期的內容,增加維護與安全風險。",
|
|
"suggestion": "建議將安裝腳本改為明確的版本化下載,或者如果可能,將安裝邏輯整合進 Dockerfile 自身,以確保建置過程的冪等性與安全性。",
|
|
"is_new": false
|
|
},
|
|
{
|
|
"level": "info",
|
|
"role": "Bard",
|
|
"location": "Dockerfile:20",
|
|
"problem": "插件安裝指令全部擠在同一個 `RUN` 指令中,缺乏視覺上的區隔,讓整個安裝流程顯得雜亂無章。",
|
|
"suggestion": "建議使用反斜線將指令換行,並在市場加入與插件安裝之間加入空行或註解,以增強指令的可讀性。",
|
|
"is_new": false
|
|
}
|
|
]
|