ローカルスタック向けのオープンソースRAG攻撃と防御ラボを公開(ChromaDB + LM Studio)— 完全にローカルで動作、クラウドなし、家庭用ハードウェア

Reddit r/LocalLLaMA / 2026/3/18

📰 ニュースDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

要点

  • 本プロジェクトは、MacBook Pro上で動作する完全にローカルなスタック(ChromaDB + LM Studio、Qwen2.5-7Bを搭載)を用いて、RAG知識ベースの汚染を測定するオープンソースのラボです。
  • このラボは、防御なしのChromaDBの取得層における汚染成功率が約95%であると報告します。ジャイルブレイクなし、モデルアクセスなし、プロンプト操作なし。
  • デフォルトの512トークンのチャンクと200トークンのオーバーラップ設定は、チャンク境界の文書の取得確率を2倍にします。
  • 埋め込みベースの取り込み防御が、出力フィルタリングではなく、汚染を95%から20%に低減し、5つの防御をすべて用いると残留汚染は約10%に低下します。
  • github.com/aminrj-labs/mcp-attack-labs のリポジトリには、攻撃、強化版、各防御レイヤーの測定結果が含まれています。
ローカルスタック向けオープンソースのRAG攻撃+防御ラボを公開(ChromaDB+LM Studio)— 完全にローカルで実行、クラウドなし、家庭用ハードウェア

デフォルトのローカル設定でRAG知識ベースの汚染が実際にどれほど悪影響を及ぼすか、そしてどの防御が実際に数値を動かすのかを測定するラボを構築した。

スタック: ChromaDB + LM Studio (Qwen2.5-7B)、標準的な LangChain 風のチャンク分割、APIキー不要、MacBook Proで動作。

ラボが測定するもの:

防御されていない ChromaDB に対する知識ベースの汚染: 成功率 95%。 攻撃は取得層で機能する—脱獄なし、モデルアクセスなし、プロンプト操作なし。 モデルは本来の挙動をしているだけで、汚染された文脈から出力している。

デフォルトのチャンク分割について知っておくべき一つの点: 512トークンのチャンクと200トークンの重複がある場合、チャンク境界にある文書は二つの独立したチャンクとして埋め込まれる。 追加の高度化なしで検索確率が倍増する。 多くのローカル設定が何も考えずに継承する設定の副作用である。

多くの人が想定する防御は出力フィルタリングです。誤ったレイヤー—妥協は生成前にすでに発生しています。取り込み時に埋め込み異常検知を行うことが実際に効果的です: 書き込む前に新規ドキュメントを既存のコレクションと照合してスコアを付けます。 汚染を95%から20%へ低減します。

すべての5つの防御を有効にした場合の残余: 10%。 これらのケースは意味的にはベースラインに十分近く、どのレイヤーにもはっきりとは検出されません—それが正直な上限です。

リポジトリには攻撃と堅牢化バージョン、ならびに各防御レイヤーの測定結果が含まれています: github.com/aminrj-labs/mcp-attack-labs

投稿者: /u/AICyberPro
[リンク] [コメント]