sashiko-dev/sashiko

Agentic review of Linux Kernel code changes

解決的問題

Sashiko 是一個專為強化 Linux 內核而設計的代理型程式碼審查系統,旨在自動檢測提案補丁中的錯誤、架構缺陷與安全弱點。它旨在減輕人工維護者的負擔,識別那些常在手動審查中被忽略的問題。

工作原理

Sashiko 使用多階段審查協定,模擬專業審查團隊的工作方式。它從郵件列表(lore.kernel.org)、GitHub PR、GitLab MR 或本地 git 倉庫中取得補丁。此過程分為兩個主要階段:

  1. 分析階段:並行檢查特定類別的問題,包括架構目標、實作正確性、執行流程(邏輯錯誤)、資源管理(洩漏/UAF)、鎖定(並行性)、安全(緩衝區溢位)以及硬體特定限制。
  2. 整合階段:依序執行步驟,包括去重發現結果、解決不同分析結果之間的衝突、驗證剩餘問題以過濾誤報,並最終為 Linux 內核郵件列表(LKML)產生禮貌且標準的回覆郵件。

適用對象

主要面向希望自動化補丁初步篩選,以提升程式碼品質與安全性的 Linux 內核維護者與開發者。

主要亮點

  • 內核專用智慧:使用針對 C 程式碼與內核層級限制量身打造的專用提示與多階段協定。
  • LKM 集成:內建支援透過 NNTP 監控郵件列表,並與 GitHub/GitLab Webhook 整合。
  • 自包含性:可與多種 LLM 提供商(Gemini、Claude、GitHub Copilot)協作,無需外部代理 CLI 工具。
  • 高缺陷檢測率:已證明能發現大量先前已通過人工審查的上游提交中的缺陷。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案