aiglare について
aiglareは、JavaScriptおよびTypeScriptリポジトリのAI機能を監査する静的解析CLIとMCPサーバーです。モデル出力がユーザーや副作用に届く経路とガバナンス対策を調べ、CIゲートやコンプライアンスレポートを作成します。
主な機能
- 01AI出力の経路と出力先の検出
- 025項目のガバナンス対策の評価
- 03高リスクな副作用を対象とするCIゲート
- 04コンプライアンス対応レポート
- 05ターミナル、JSON、HTML、Markdown出力
活用シーン
- 01リリース前のAI機能監査
- 02対策のない副作用をCIでブロック
- 03監査担当者向けのコンプライアンス証跡作成
MCP 対応
内蔵MCPサーバーは、リポジトリ監査、CIゲート判定、プロバイダーレジストリを調べる3つのツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| path | string | いいえ | リポジトリのパス。既定値は現在の作業ディレクトリです。 |
| sinks | array | いいえ | 任意:これらのシンクに絞り込みます。 |
| severity | enum | いいえ | 任意:このレベル以上のサーフェスのみを対象にします。red | amber |
詳細
aiglare
AI 機能のガバナンスガードレールをリントします — モデルが取り返しのつかない操作を実行できるのはどこですか?
ライブサイト: nugehs.github.io/aiglare-web

任意の JS/TS リポジトリを指定すると、LLM/AI の出力がユーザーに届く箇所や、副作用(支払い、予約、メール、データベースへの書き込み)を引き起こす箇所をすべて検出し、そのうち信頼度の処理、フォールバック、出力検証、または人間の介在がない箇所にフラグを立てます。
AI に関するインシデントの大半は、モデルの失敗ではありません。ガバナンスの失敗です。モデルの出力が、間に何も挟まれず、そのままユーザーに届いたり、取り消せない操作を実行したりしていました。このツールはそうした経路を可視化し、CI でブロックできるようにします。
npx @nugehs/aiglare # audit current repo
npx @nugehs/aiglare ./src --ci # fail the build on a red side-effectful surface
npx @nugehs/aiglare --compliance all --format html # HTML evidence report for auditors
npx @nugehs/aiglare --compliance soc2,eu-ai-act --format lint --ci # compliance linter in CI
レポート内容
各 AI サーフェスは、出力先に基づいてシンクに分類されます。
user-facing— ルート/コントローラーから返される、またはコンポーネントでレンダリングされるside-effectful— 支払い、予約、メール、データベース/ファイルへの書き込み、またはシェルに渡されるinternal— ログ記録またはキャッシュのみ
さらに、5 つのガードレールの観点で評価されます。信頼度の処理、不確実な場合のフォールバック、出力検証、副作用に対する人間の介在、エラーの分離です。
| 重大度 | 意味 |
|---|---|
| 🔴 red | ガードレールなしでモデルの出力がユーザーに届く、または副作用を引き起こします — すぐに確認してください |
| 🟡 amber | 対応が部分的です |
| 🟢 green | ガードレールが設けられています |
CI ゲート(--ci)が失敗するのは、red + side-effectful のサーフェスに限られます。つまり「AI が確認なしに、取り消せない操作を自動実行する」ケースです。そのため、チームに警告が大量に届くことなく、安全に導入できます。
コンプライアンスレポート
--compliance を渡すと、すべての検出結果を具体的な規制上の管理策に対応付けられます。その後、出力形式を選択してください。
# HTML evidence report — branded, collapsible per-framework sections, guardrail matrix
aiglare --compliance all --format html > report.html
# ESLint-style linter — pipe into CI, editors, or reviewers
aiglare --compliance soc2,eu-ai-act --format lint
# Markdown evidence doc — ready to hand to an auditor
aiglare --compliance all --format markdown > AUDIT.md
# Guardrail linter (no framework) — rule IDs like guardrail/human-in-loop
aiglare --format lint
対応フレームワーク:
| フレームワーク | 対応する管理策 |
|---|---|
soc2 | SOC 2 Trust Services Criteria — CC7.2、CC7.4、CC9.1、A1.2、PI1.2、PI1.3 |
eu-ai-act | EU AI Act — Art. 9、13、14、17 |
nist | NIST AI RMF — GOVERN-1.2、MAP-2.3、MEASURE-2.5/2.6、MANAGE-1.3/2.2 |
owasp | OWASP LLM Top 10 — LLM02、LLM04、LLM08、LLM09 |
すべてのフレームワークを含めるには、all を指定します。--json 出力の各サーフェスには、フレームワーク、管理策 ID、説明、エラー/警告レベルを含む violations[] 配列が追加されます。
複数リポジトリ: 複数のパスを渡すと、レポートをまとめて出力できます。
aiglare ./api ./web --compliance all --format html > report.html
プロバイダーに依存しない設計
検出は、OpenAI、Anthropic、Google、Cohere、Mistral、Replicate、Vercel AI SDK、LangChain/LangGraph、Ollama、AWS Bedrock、Cloudflare Workers AI、Hugging Face に対応するプロバイダーレジストリを利用します。既知の推論ホストへの生の fetch/axios 呼び出しにも対応します。プロバイダーの追加は、1 行の PR で行えます。
オプション:repoctx による高速化
repoctx のインデックス(.dev-context/index.json)が存在する場合、ツールはこれを自動的に使用して、AI 関連の可能性が高いファイルを優先し、repoctx の kind/domain データでシンクの分類精度を高めます(たとえば、repoctx が controller ルートと判定したファイルは、ネイティブスキャナーが呼び出しグラフを認識できない場合でも、正しくユーザー向けとして扱われます)。インデックスがない場合は、組み込みの TypeScript コンパイラースキャナーが同じ処理を行いますが、精度は下がります。同じツールで、2 段階の精度 — すべてのユーザーが単独で利用でき、repoctx ユーザーはさらに充実した機能を利用できます。
MCP サーバー
aiglare には組み込みのModel Context Protocolサーバーがあり、エージェントが監査を直接実行できます。
aiglare mcp # stdio JSON-RPC server (no SDK dependency)
次の3つのツールを公開します。
| ツール | 機能 |
|---|---|
ai_surface_audit | リポジトリの完全な監査(path、任意の sinks、severity)→ --json と同じ構造化レポート |
ai_surface_gate | リポジトリの CI ゲート判定:passed と、ブロック対象となる赤色の副作用を伴うサーフェスの数 |
list_providers | スキャナーが検出するプロバイダーのレジストリ |
MCP ホスト(Claude Desktop、Cursor、VS Code、…)に登録します。
{
"mcpServers": {
"aiglare": {
"command": "npx",
"args": ["-y", "@nugehs/aiglare", "mcp"]
}
}
}
aiglare と代替手段の比較
| アプローチ | 機能 | aiglare との違い |
|---|---|---|
| guardrails-ai / NeMo Guardrails / ランタイムバリデーター | 実行時に、呼び出しごとにモデル出力を検証または修正します | aiglare は静的解析です。実行前に、ガードレールがまったくない AI サーフェスを見つけます。その後、その箇所にランタイムバリデーターを追加します |
| semgrep / カスタム lint ルール | 自分で作成し、保守する汎用の静的ルールです | aiglare には、プロバイダーのレジストリ、シンクの分類、5つのガードレール次元といった AI 固有の知識があらかじめ組み込まれています。ルールの作成は不要です |
| AI 機能の手動レビュー | スキャナーでは捉えられない細部を検出します | aiglare は、AI サーフェスの完全な一覧と重大度による優先順位付けをレビュアーに提供するため、リスクのある箇所にレビュー時間を充てられます |
これらは相互に補完し合います。aiglare はガードレールが欠けている「場所」を示し、ランタイムバリデーターはそれを追加する「方法」です。
1週間のパイロットを実施する
CI ゲートを採用する前に、実際のコードベースで aiglare を評価したいですか? PILOT.md には、インストール、バックエンドとフロントエンドのリポジトリでの初回監査、レポートの読み方、--severity/--sinks の調整、--ci を有効にするかどうかの判断まで、1週間の手順が段階ごとに記載されています。
正直な制限事項
これは静的な助言目的の解析であり、リンターであって検証器ではありません。誤検知(呼び出しを2回たどった先にあるガードレールを見落とすことがあります)と見逃し(実際には何も制御していない confidence 変数が、存在するものとして扱われることがあります)が発生します。出力は「違反」ではなく、「レビュー対象のサーフェス」として扱ってください。単一ファイルのネイティブスキャナーは呼び出しグラフをたどれません。repoctx アダプターは、まさにこの制限を補うために存在します。
オプション
aiglare [path...] [options]
--compliance <fw> Map findings to compliance controls.
Comma-separated: soc2, eu-ai-act, nist, owasp, or "all"
--format <fmt> Output format: terminal (default), json, lint, markdown, html
--json JSON output (alias for --format json)
--ci Exit non-zero on a red side-effectful surface
--severity <lvl> Show only red, or amber-and-worse
--sinks <list> Filter: user-facing,side-effectful,internal
aiglare mcp Start the MCP server (stdio)
MCP ツール ai_surface_audit は任意の compliance 配列を受け取ります。設定すると、レスポンス内の各サーフェスに violations[] 配列が含まれます。
ライセンス
MIT
ツールチェーンの一部
aiglare は、AI 支援開発のための決定論的な信頼レイヤーを構成する4つのツールの1つです。それぞれ、静的解析によって、いつも LLM に任せている問いに答えます。
- repoctx — コンテキスト:この変更は実際に何に影響しますか?
- tieline — コントラクト:フロントエンドとバックエンドの間で、いつの間にか整合性が失われていませんか?
- bouncer — コンプライアンス:これを Ofcom に対して説明できますか?
- aiglare(このツール) — ガバナンス:モデルが、取り消せない操作を実行できる箇所はどこですか?
詳細は segunolumbe.com をご覧ください。モデルではなく、静的解析を。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。