產品

最後一哩路的 Bot:Rollouts 與 Security Review

Rustam Lalkaka閱讀時間 1 分鐘

今天我們推出多款軟體開發 Bot,幫助你更快將安全、可靠的程式碼部署到正式環境。

  • Rollouts 會全程監看變更從 PR (拉取請求) 到正式環境的過程,標記出迴歸問題,並主動採取行動讓系統恢復正常狀態。
  • 安全審查員會找出並修正程式碼庫中的安全問題。

我們為什麼打造這些功能

寫程式碼早已不是最耗時的環節。真正還沒變快的,是 PR (拉取請求) 送出之後的所有事:確保程式碼安全、盯著部署進度、判斷延遲上升是否屬實,以及從十一項變更中揪出究竟是哪一項弄壞了結帳流程。

這類工作困難、重複,又需要大量上下文。聽起來正適合交給 Bot 來處理!

我們說過,我們的目標是打造自動駕駛的程式碼庫。Rollouts 與 Security Review 能自主處理各種常見任務,這些正是每個軟體團隊都希望自己有更多專業能力與時間去完成的工作。

Rollouts

Rollouts 會全程追蹤一項變更:從 PR (拉取請求) 開啟的那一刻起,一直到你確信它在正式環境中運作正常為止。

連接版本控制、部署系統,以及你的遙測工具 (Datadog、Grafana、Honeycomb,或任何存放指標與追蹤資料的地方) 。在合併之前,Rollouts 會讀取差異並擬定一份監控規劃,內容包括它發現的風險、這項變更預期帶來的效果,以及現有檢測機制無法判斷變更是否奏效的盲點。如果規劃有所遺漏,你可以自行編輯。

部署之後,Rollouts 會將規劃中的訊號與部署前的基準進行比對。一旦發現效能退化,它會告訴你它懷疑是哪一項變更所致,以及打算採取的行動。視你的設定而定,可能是通知作者、暫停漸進式推出,或是建立一個等待核准的還原 PR。

目前它擅長的三件事:

  • 在全域警示觸發之前,就能抓出僅發生在單一區域、單一端點的效能退化
  • 能區分預期效果與效能退化,刻意造成的流量高峰不會驚動任何人
  • 在合併前標記出缺少的檢測機制,這正是有問題的變更未被察覺的最常見原因

即將推出:功能旗標整合,讓 Rollouts 能直接調升或調降流量;以及對發布列車與部署凍結期的感知能力。

安全審查員

安全審查員會在每個 PR (拉取請求) 上執行,結合整個程式碼庫的上下文讀取變更內容,回報發現的漏洞,並附上說明與建議的修正方式。

安全審查員將平均審查時間從 4.8 分鐘縮短至 3.8 分鐘,並將留言採納率從 45–50% 提升至 60–70%

靜態分析仰賴模式比對:它會標記 SQL 呼叫附近的每一處字串串接,卻漏掉重構後就不再執行的授權檢查。Security Review 則像安全工程師一樣閱讀程式碼:使用者輸入從哪裡進入、最終流向何處、途中又經過了哪些環節。

無需任何設定,它就會檢查:

  • SQL、指令、範本及 LDAP 等介面的注入攻擊
  • 新增及變更的路由中缺少或失效的驗證與授權
  • 提交至原始碼中的密鑰與憑證
  • 不安全的反序列化及未經驗證的重新導向
  • 引入已知漏洞的相依套件變更
  • 基礎架構與設定中不安全的預設值

每項發現都會標示嚴重程度、攻擊路徑,並提供一鍵修正。

開始使用

Rollouts 與安全審查員即日起已在 Teams 和企業方案中開放使用。只要在自動化流程分頁中啟用任一 bot,即可開始使用。

分類於: 產品

作者: Rustam Lalkaka