このプロジェクトについて
SUNGLASSESは、AIエージェントのためのオープンソースかつローカル専用の入力検査レイヤーで、READMEでは入力ファイアウォールと説明されています。Pythonで記述され、MITライセンスの下でリリースされています。プロジェクトは、エージェントがそれに対して行動する前にコンテンツをスキャンし、黙って書き換えたり削除したりする代わりに結果を報告します。テキスト、画像、音声、動画、PDF、QR/バーコードの6種類のメディアをカバーします。画像スキャンではOCR、EXIFメタデータ、隠しテキスト検出を使用できます;PDFスキャンではページテキスト、メタデータ、注釈を読み取ります;音声と動画のディープスキャンでは音声認識と字幕抽出を使用します。スキャナーはプロンプトインジェクション、認証情報の漏洩、コマンドインジェクション、メモリポイズニング、ソーシャルエンジニアリング、Unicodeトリック、RTL難読化、レetspeak、Base64エンコード、ホモグリフ置換などの回避技術を対象とします。
SUNGLASSESは英語第一です。READMEによると、フルルールセットは英語であり、13言語はそれぞれ正確に2つの専用パターンを持ち、7言語はキーワードレベルのみ、ペルシャ語とベンガル語は名前のみで専用パターンやキーワードはありません。正規化は言語に依存しません。プロジェクトは、英語以外の言語での英語との同等性を期待しないように警告し、より深い言語カバレッジをv0.6以降のレーンとしてマークしています。
インストールはpip経由で行われます:ゼロ依存のテキストスキャンには `pip install sunglasses` を使用し、画像、PDF、QRコード、音声、動画のためにメディアまたはallエクストラを追加します。CLIはscan、check、demo、info、reportを提供します。Python APIはテキスト用にSunglassesEngine、メディア用にSunglassesScannerを公開します。その他の統合インターフェースとして、MCPサーバー、LangChainおよびCrewAI統合、CI向けSARIF 2.1.0出力、テキスト、GitHubリポジトリ、画像向けのブラウザデモがあります。
CLIは明示的な終了コード契約を使用します。0は入力全体が読み込まれ、脅威が見つからなかったことを意味します。1は脅威が見つかったことを意味します。2は、要求されたスコープ内で何もスキャンされなかった使用法または運用エラーを意味します。3は不完全な検査を意味します:読み込める部分では何も見つからなかったが、読み込めなかった部分がある(アーカイブ、ディープスキャンなしの音声ファイル、サイズ上限を超えた入力など)。優先順位は1 > 3 > 2 > 0です。JSON出力ではthreat_found、inspection_complete、is_cleanを分離し、truncatedおよびextraction_completeも報告します。エンジンはデフォルトで最大1MBまで読み込み、上限に達した場合はtruncatedとbytes_scannedを報告し、静かにクリーンパスとすることはありません。
v0.4ファイアウォールはClaude Code PreToolUseフックとしてインストールされ、ベストエフォートと説明されています:10秒のタイムアウトがあり、タイムアウトしたフックは呼び出しをブロックしません。MCPツールディスクリプターをピン留めし、変更があるかをチェックし、ワイヤーにバイトを出せるツールコールでの正確なフォーマットのシークレットをブロックし、ユーザーポリシーファイルを適用し、入力そのものではなくツール入力のSHA-256を記録するレシートを書き込みます。プロジェクトはハードブロックできる決定論的事実と、自動ブロックではなくユーザーにエスカレーションする検出を分離します。失敗オープンで、チェックされなかった呼び出しを記録します。READMEでは正直な制限を列挙しています:ディスクリプターのピン留めはリアルタイムではない;フックはツールコールのテキストしか見ず、その裏のファイルは見ない;インタプリタまたはソケットのワンライナーはエグレスを隠すことができる;WARNレーンはデフォルトでオフです。
公開されたパフォーマンスとベンチマークの数字には、1,540のパターン、6,931のユニークキーワード、118の攻撃カテゴリ、17の正規化技術、出荷された攻撃フィクスチャセットでの内部リコール64/64が含まれます。READMEのベンチマークは、38件の実際のエージェント入力攻撃と76件のよく知られたオープンソースのREADMEをネガティブとして使用し、精度86.1%、リコール97.4%、F1 0.914、既知シェイプ攻撃30/30を捕捉、新規セマンティックパラフレーズ7/8を捕捉と報告しています。既知の見逃しは、クリーンなREADMEにも現れるpipe-to-shellインストールラインであり、スキャナーがそれをフラグしないことを主張するテストがあると述べています。レイテンシーの数字は、短い入力で約0.7ms、典型的な攻撃文字列で約4.2ms、実際のREADMEで約311ms、シングルスレッドでの持続スループットが約26KB/秒です。READMEではこれらはリポジトリ内のコーパスから再生成され、ハードウェアによって異なることに注意しています。
ディープオーディオおよびビデオスキャンにはWhisperとFFmpegが必要であり、プロジェクトはこれらのメディアスキャンを実験的とマークしています。スキャンはローカルで実行されます:READMEによると、クラウド、APIキー、テレメトリはスキャンに使用されません。また、静的スキャナーはスキャンされたコンテンツを実行しない一方で、pinコマンドは同意を得た後にのみ設定されたMCPサーバーを起動し、無人コンテキストでは同意がない場合は起動を拒否します。プロジェクトは、クラウドガードレールツールと単独または併用できるローカルの基盤レイヤーとして自分自身を位置付けています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.