sashiko-dev/sashiko
Agentic review of Linux Kernel code changes
何を解決するか
Sashiko は、提案されたパッチ内のバグ、アーキテクチャ上の欠陥、セキュリティ脆弱性を自動検出するように設計された、エージェント型のコードレビューシステムです。人間のメンテナーやレビュー担当者にかかる負担を軽減し、手動レビューでは見逃されがちな問題を特定することを目指しています。
動作方法
Sashiko は、専門的なレビュアーのチームを模倣するマルチステージレビュー・プロトコルを使用しています。メールリスト(lore.kernel.org)、GitHub PR、GitLab MR、またはローカルのgitリポジトリからパッチを取得します。このプロセスは2つの主要なフェーズで構成されています:
- 分析ステージ:並列的に特定の問題カテゴリをチェックします。アーキテクチャ上の目標、実装の正しさ、実行フロー(論理エラー)、リソース管理(リーク/UAF)、ロック(並行性)、セキュリティ(バッファオーバーフロー)、ハードウェア固有の制約などです。
- 統合ステージ:結果の重複排除、異なる分析結果間の矛盾の解決、残りの懸念事項の検証(偽陽性のフィルタリング)、そして最終的にLinuxカーネルメールリスト(LKML)向けの丁寧で標準的なメール返信を生成します。
対象ユーザー
主に、パッチの初期スクリーニングを自動化してコード品質とセキュリティを向上させたいLinuxカーネルのメンテナーや開発者向けです。
特徴
- カーネル特化の知能:C言語およびカーネルレベルの制約に特化したプロンプトとマルチステージプロトコルを使用。
- LKM統合:NNTP経由でメールリストを監視し、GitHub/GitLabのWebhookと統合する機能を内蔵。
- 自己完結型:Gemini、Claude、GitHub CopilotなどのさまざまなLLMプロバイダーと連携可能。外部のエージェントCLIツールは不要。
- 高いバグ検出率:既に人間のレビューを通過したアップストリームコミットにおいても、顕著な割合のバグを発見できることが実証されています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト