ai-review-resolve/develop-20260715-112031
develop
移除 RUNNER_TOKEN 輸入參數,token 來源統一為 Gitea runtime 自動核發的 ${{ gitea.token }}。自動 token 對當前 repo 具讀寫權限、job 結束即失效,已足夠本 action 全部四支 API(列出/刪除 release、列出/刪除 tag)的需求;實際 CI 執行也已驗證可正常刪除舊版 release 與 tag。
RUNNER_TOKEN
${{ gitea.token }}
action.yml
inputs.RUNNER_TOKEN || secrets.GITEA_TOKEN || secrets.RUNNER_TOKEN
GITEA_TOKEN: ${{ gitea.token }}
src/index.js
GITEA_TOKEN
[redacted]
ci.yaml
with: RUNNER_TOKEN: ...
node --check
GITEA_TOKEN is empty; release API calls will be anonymous
- action.yml 移除 RUNNER_TOKEN input 與 secrets 回退鏈,env 簡化為 GITEA_TOKEN: ${{ gitea.token }} - src/index.js 環境變數與 log 訊息同步改名為 GITEA_TOKEN,遮罩行為不變 - 自動 token 權限僅限當前 repo 且 job 結束即失效,已足夠本 action 的 release/tag 清理需求 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
🔍 服務:codex 模型:gpt-5.4-mini
本次審查(codex / gpt-5.4-mini,共 12 次呼叫)
剩餘可用
剩餘可用:無法計算百分比(未支援 codex 額度查詢)
@@ -425,2 +424,3 @@
warn('RUNNER_TOKEN is empty; release API calls will be anonymous');
if (isEmptyOrNull(GITEA_TOKEN)) {
warn('GITEA_TOKEN is empty; release API calls will be anonymous');
} else {
嚴重等級:🟡 警告 審查員:Maya 問題:有 token 時會改成記錄 redacted 訊息並建立 Authorization header,但目前看不到任何測試在保護這個授權分支;一旦 header 格式或遮蔽輸出出錯,就可能讓 API 請求失敗或把敏感值寫進 log。 建議:補一個有 token 的案例,驗證 log 只會出現 [redacted],而實際送出的 header 會是 token ${GITEA_TOKEN},同時不要把明文 token 暴露到輸出中。
Authorization
token ${GITEA_TOKEN}
No dependencies set.
The note is not visible to the blocked user.
變更摘要
移除
RUNNER_TOKEN輸入參數,token 來源統一為 Gitea runtime 自動核發的${{ gitea.token }}。自動 token 對當前 repo 具讀寫權限、job 結束即失效,已足夠本 action 全部四支 API(列出/刪除 release、列出/刪除 tag)的需求;實際 CI 執行也已驗證可正常刪除舊版 release 與 tag。變更內容
action.ymlRUNNER_TOKENinput,呼叫端不再需要(也無法)傳入 tokeninputs.RUNNER_TOKEN || secrets.GITEA_TOKEN || secrets.RUNNER_TOKEN簡化為GITEA_TOKEN: ${{ gitea.token }}src/index.jsRUNNER_TOKEN→GITEA_TOKEN(token 遮罩輸出[redacted]行為不變)影響範圍
ci.yaml)原本就未帶 token 參數,行為完全不變with: RUNNER_TOKEN: ...傳入自訂 token,該參數將被忽略;跨 repo 清理需求需另行評估風險與注意事項
驗證
RUNNER_TOKEN殘留node --check通過;煙霧測試確認無 token 時輸出GITEA_TOKEN is empty; release API calls will be anonymous警告- action.yml 移除 RUNNER_TOKEN input 與 secrets 回退鏈,env 簡化為 GITEA_TOKEN: ${{ gitea.token }} - src/index.js 環境變數與 log 訊息同步改名為 GITEA_TOKEN,遮罩行為不變 - 自動 token 權限僅限當前 repo 且 job 結束即失效,已足夠本 action 的 release/tag 清理需求 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>🤖 AI Code Review 團隊
AI Code Review 統計
🤖 AI 助理使用量
本次審查(codex / gpt-5.4-mini,共 12 次呼叫)
剩餘可用
剩餘可用:無法計算百分比(未支援 codex 額度查詢)
@@ -425,2 +424,3 @@warn('RUNNER_TOKEN is empty; release API calls will be anonymous');if (isEmptyOrNull(GITEA_TOKEN)) {warn('GITEA_TOKEN is empty; release API calls will be anonymous');} else {嚴重等級:🟡 警告
審查員:Maya
問題:有 token 時會改成記錄 redacted 訊息並建立
Authorizationheader,但目前看不到任何測試在保護這個授權分支;一旦 header 格式或遮蔽輸出出錯,就可能讓 API 請求失敗或把敏感值寫進 log。建議:補一個有 token 的案例,驗證 log 只會出現
[redacted],而實際送出的 header 會是token ${GITEA_TOKEN},同時不要把明文 token 暴露到輸出中。