chore(ai-review): 更新 findings 與 exclusions 解決狀態
CI / AI Code Review (pull_request) Failing after 48s

This commit is contained in:
Jeffery
2026-06-26 14:09:13 +08:00
parent 21b75caac9
commit 84a50e4987
2 changed files with 30 additions and 56 deletions
-56
View File
@@ -13,13 +13,6 @@
"problem": "detectConflict 執行 git 合併失敗後的 abort 嘗試若失敗,會導致工作區殘留錯誤狀態,且未經測試。",
"suggestion": "增加測試案例模擬 git 合併失敗與 abort 失敗的場景,確保狀態正確復原。"
},
{
"level": "critical",
"role": "Assassin",
"location": "app/lib/opencode.js:180",
"problem": "AI 模型產生的 PR 描述未經 sanitization,易遭 Prompt Injection 導致 Stored XSS 攻擊。",
"suggestion": "在 `extractResult` 中對 `obj.description` 使用成熟的 HTML Sanitizer 過濾惡意標籤。"
},
{
"level": "warning",
"role": "Maya",
@@ -28,27 +21,6 @@
"suggestion": "補上針對 truncateDiff 及 commitMessages 為空/null 時的測試案例。",
"is_new": false
},
{
"level": "warning",
"role": "Leo",
"location": "app/lib/opencode.js:154",
"problem": "summarize 函式使用了 5 分鐘固定 timeout,大型 diff 可能導致分析失敗。",
"suggestion": "將 timeout 設定為可配置參數或根據 diff 大小動態計算。"
},
{
"level": "warning",
"role": "Mage",
"location": "app/lib/opencode.js:127",
"problem": "`summarize` 方法中使用 `spawnSync` 執行指令,未處理退出訊號可能導致清理競態。",
"suggestion": "明確處理 `spawnSync` 的退出訊號,並確保清理操作是原子性的。"
},
{
"level": "warning",
"role": "Maya",
"location": "app/lib/git.js:145",
"problem": "合併衝突後未檢查是否存在殘留衝突標記。",
"suggestion": "在 `git add` 之後,使用 grep 掃描檔案中是否仍有未處理的衝突標記。"
},
{
"level": "info",
"role": "Maya",
@@ -71,33 +43,5 @@
"location": "app/lib/opencode.js:77",
"problem": "傳遞整個 `process.env` 導致敏感環境變數暴露。",
"suggestion": "明確篩選並只傳遞必要環境變數。"
},
{
"level": "info",
"role": "Bard",
"location": "Dockerfile:16",
"problem": "在 RUN 指令中使用 cd 切換目錄,導致環境隱晦。",
"suggestion": "使用 `WORKDIR /app`。"
},
{
"level": "info",
"role": "Leo",
"location": "app/lib/git.js:122",
"problem": "臨時分支名稱可能衝突或殘留。",
"suggestion": "產生臨時分支名稱時加入 process ID 或隨機字串,並在 finally 區塊清理。"
},
{
"level": "info",
"role": "Maya",
"location": "app/index.js:77",
"problem": "解衝突的 PR 產出缺乏人工檢查機制。",
"suggestion": "加入「檢查清單(Checklist)」要求人工確認。"
},
{
"level": "info",
"role": "Rogue",
"location": "app/lib/opencode.js:40",
"problem": "頻繁寫入讀取 `opencode.json` 設定檔造成無謂的 I/O。",
"suggestion": "若支援,透過參數或環境變數傳入配置。"
}
]