還記得我們在 GitHub Action Automation - 自動化你的管理程序與使用第三方 Action 內有稍微提到,雖然使用已經做好的**第三方 Action (Third-Party Action)**可以節省不少時間,但需要謹慎小心。在這一篇文章,我們將延伸這個主題,簡單說明如何防止 workflow 洩漏敏感資訊。
或許你認為洩漏 Read Only Permission 的 Secret 或 某些執行 Log 無傷大雅,但實際上很多惡意攻擊行為是透過收集相關資訊,最後彙整找出可能弱點進行攻擊,而非直接的帳號密碼破解。透漏的資訊越少,會更加安全。
如下圖所示,你無法檢視其 Secret 內容,若遺忘了只能移除或更新
定時檢視 Secrets 使用情況,若沒有使用則移除,維持必要的資訊即可
限制只能使用 GitHub/已驗證作者 所製作的 Action。通常我們建議不使用來路不明的 Action,你可以在 Repo > Settings > Actions > Actions permissions 設定中,選擇 Allow select actions。
使用固定版本的 Action,並且 Code Review 第三方 Action 內容,確認沒有不必要行為在 Action 內,如:大量將執行過程或Secrets,進行印出或寫入檔案的動作。多數 Action 可以在 marketplace 上找到作者的 Github,進而 Review。
檢視自己的 workfolw 執行紀錄,確定 Secret 有進行隱碼 (使用 Repository Secrets 的效果)
閱讀完本篇文章,你應該對於如何保護你的 GitHub Action 有一定程度的了解,並且有能力建立具有安全性的 workflow。若喜歡我的文章,歡迎點 like, 分享與訂閱。