CI/CD向けのオープンソースEU AI Act適合性スキャニング

Dev.to / 2026/3/14

📰 ニュースDeveloper Stack & InfrastructureTools & Practical Usage

要点

  • 私たちは、EU AI Actの適合リスクを検出するためにAIフレームワークの使用を検出し、AI出力がプログラム内をどのように流れるかを追跡するオープンソースのCLIツール(comply)を構築しました。
  • それはCIで実行され、APIキーを必要とせず、プルリクエストに所見を投稿します。
  • このツールは、TypeScript Compiler APIとweb-tree-sitter WASMを用いたASTベースのインポート検出を37以上のAIフレームワークにまたがって行い、AIの戻り値を追跡して4つのリスクパターンをフラグします:AI出力に基づく条件分岐、AI出力をデータベースへ永続化、UIでAI出力を開示せずに表示、AI出力を下流のAPIへ送信。
  • 検出結果は宣言したドメインによって重大度が調整され、スキャンが文脈対応になります(例: カスタマーサポート、クレジットスコアリング、法的調査など)。
  • npmパッケージ、GitHub Action、TypeScript APIとして提供され、PDFレポートやテンプレートの適合文書の生成も可能です。例としてのPRとリポジトリは公開されています。

私たちはコードベースのEU AI Act適合リスクをスキャンするCLIツールを作りました。

npx @systima/comply scan はリポジトリを分析し、AIフレームワークの使用を検出し、AI出力がプログラム内でどのように流れるかを追跡し、規制上の義務を引き起こす可能性のあるパターンを検出します。

それはCIで実行され、APIキーは不要です。

内部的には、37以上のAIフレームワークにまたがってASTベースのインポート検出をTypeScript Compiler APIとweb-tree-sitter WASMを用いて実行します。その後、代入や分割代入を通じてAIの戻り値を追跡し、4つのパターンを特定します:

  1. AI出力に対する条件分岐
  2. AI出力をデータベースへ永続化
  3. UIでAI出力を開示せずに表示
  4. AI出力を下流のAPIへ送信

検出結果はシステムドメインによって重大度が調整されます。あなたがシステムが何をするかを宣言します(カスタマーサポート、クレジットスコアリング、法的調査など)と、スキャナーがそれに応じて調整します。

Example:

  • AI出力をif文で使用するチャットボットのルーティングツールは情報的なノートを生成します
  • 同じことを行うクレジットスコアリングシステムでは重大な所見が出ます

Vercelの20kスターAIチャットボットリポジトリを対象にテストしました。スキャンは約8秒でした。全結果を含む例のPRコメント: https://github.com/systima-ai/chatbot-comply-test/pull/1

Complyはnpmパッケージ、GitHub Action(systima-ai/comply@v1)、およびTypeScript APIとして提供されます。PDFレポートやテンプレートのコンプライアンス文書の生成も可能です。

リポジトリと説明:
https://systima.ai/blog/systima-comply-eu-ai-act-compliance-scanning

コールチェーンのトレース手法や、ドメインベースの重大度モデルが妥当かどうかについてのフィードバックを歓迎します。