{ "excluded_findings": [ { "location": "entrypoint.sh:180", "title": "fetch_package_versions jq overhead", "reason": "在分頁迴圈中每頁都呼叫 `jq 'length'` 和 `jq -s '.[0] + .[1]'`,導致每次啟動新的 jq 程序,產生大量 I/O 與程序啟動開銷,特別是當某個套件有多頁版本時。建議:合併/流式處理 JSON(例如一次合併多頁、或使用 `jq -s`/streaming、或以 Python 等更高效工具處理),減少頻繁啟動外部程式以降低系統負擔。" }, { "location": "entrypoint.sh:305", "title": "process_candidates N+1 delete requests", "reason": "刪除候選版本時對每個版本發出獨立的 DELETE API 請求(N+1 典型案例),若候選數量大會產生大量 API 請求與延遲。呼叫內部也多次對 `owner`、`package_name`、`version` 執行 `url_encode`/`jq`,增加重複開銷。建議:檢查 Gitea 是否支援批次刪除或改為先一次取得所有版本再批次處理;對每個路徑欄位只 URL encode 一次並重用編碼結果;將外部工具呼叫合併或改為更有效的處理方式以降低啟動次數與延遲。" } ] }