refactor: calculate-version 由 bash 改寫為 Node.js #6

Merged
admin merged 13 commits from develop into master 2026-06-26 03:01:01 +00:00
Showing only changes of commit 1f878199da - Show all commits
+26 -1
View File
@@ -1 +1,26 @@
[]
[
{
"level": "warning",
"role": "Assassin",
"location": "app/config.js:71",
"problem": "對 GITEA_REPOSITORY 環境變數缺乏輸入驗證。由於此值會直接拼接於 API URL 中(見 app/index.js:37),若攻擊者傳入特殊字元或路徑穿越字元(如 `../`),可能導致 API 請求路徑異常,甚至造成非預期的 API 端點存取。",
"suggestion": "增加格式驗證機制,使用嚴格的正則表達式限制 GITEA_REPOSITORY 格式(例如確保只包含合法的 repo 名稱字元:`^[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+$`),拒絕任何不符合規範的輸入。",
"is_new": true
},
{
"level": "warning",
"role": "Leo",
"location": "app/releases.js:77",
"problem": "JSON.parse 失敗時,僅拋出通用錯誤訊息,未來除錯時無法得知具體回傳內容,將導致除錯時浪費大量時間追查。",
"suggestion": "建議將錯誤訊息擴充,納入部分的 response body 內容,以利於快速定位回傳格式異常的確切原因。",
"is_new": true
},
{
"level": "warning",
"role": "Maya",
"location": "app/logger.js:1",
"problem": "整個 logger.js 模組完全沒有測試,無法確保 section、info 與 error 函式是否正確將訊息格式化並寫入標準輸出與標準錯誤。",
"suggestion": "為 app/logger.js 新增測試,模擬 process.stdout 與 process.stderr,驗證輸出的字串格式是否符合預期(例如分隔線寬度、前綴是否正確)。",
"is_new": true
}
]