Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
guardrebind — 標的リバインディング攻撃(LLMの安全ガードを騙して偽造されたデコイコンテンツを採点させる攻撃)に関する研究コード、ベンチマーク、防御手法、およびセグメント最大値蒸留による堅牢化。 | Kitploit
ツール/GitHubGitHub/ukanwat/guardrebind
防御ツール機械学習論文と研究学習と教育AIセキュリティ敵対的攻撃
GitHubukanwat/guardrebind

guardrebind

標的リバインディング攻撃(LLMの安全ガードを騙して偽造されたデコイコンテンツを採点させる攻撃)に関する研究コード、ベンチマーク、防御手法、およびセグメント最大値蒸留による堅牢化。

リポジトリを見る
158日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

LLMの安全ガードを騙して誤ったテキストを判定させる

論文のコード、データ、すべての生スコア(paper/main.pdf、ソースはpaper/内)。

LLMの安全ガードは、レビュー対象のコンテンツを採点プロンプトへ単純な文字列補間によって受け取るため、ガード自身のプロンプト形式を模倣したコンテンツは、無害なデコイ文書を伴う第二の偽造採点タスクを開くことができ、ガードは実際のコンテンツではなくそちらを採点してしまう(ターゲット再結合)。このような偽造タスクを追加すると、Shieldstral-1.0-3Bがフラグを立てた事前登録済みの75件のホールドアウトAdvBenchリクエストすべてを突破し、gpt-oss-safeguard-20BやLlama Guard 4にも転移する。そして我々のベンチマークGuardRebind(52の攻撃ファミリー、5つのコントロール)では、最強のファミリーが5つのガードそれぞれでフラグ付き項目の93〜100%を突破する。セグメント最大自己蒸留は、ガードがコンテンツをその最も有害な部分と少なくとも同等に高く採点するよう訓練し、ホールドアウト攻撃でのバイパスを75%から約1%に削減するが、スコア誘導型の適応的攻撃者は依然として訓練済みガードを項目の94%で突破し、その半数以上は偽造構造を一切持たない。

攻撃は意図的にここでは散文で説明している。ペイロードはsrc/attacks.py(確認的研究)とsrc/bench/attacks_grammar.py(ベンチマーク)によって生成され、論文の付録に記載されている。

レイアウト

パス内容
PROTOCOL.md確認的Shieldstral研究の事前登録(論文セクション3、予測P1-P9)
PROTOCOL_v2.md論文のベンチマークと防御の事前登録(M1-M5、F1-F6、A1-A3)、記録された逸脱D1-D4付き
src/*.pyShieldstralに関する確認的研究とクロスモデル実行(スコアラー、ペイロード、アブレーション、デコイラダー、OpenRouterクライアント)
src/bench/GuardRebind: データセットローダー(data.py)、ガードアダプター(guards.py)、攻撃文法、ローカルおよびAPIランナー、分析
src/fix/防御: セグメント最大蒸留(distill.py)、評価(evaluate.py)、適応的攻撃(adaptive.py)、訓練不要のベースライン(baselines.py)、有界入力形式(inputs.py)
src/mech/活性化パッチング、線形プローブ、表現類似度、デコイ用量反応
scripts/queue_*.sh結果を生成した再開可能なジョブキュー(一度に1つのGPUジョブ)
scripts/pod/レンタルCUDA GPU(Runpod)上で防御キューを実行し、結果をコピーして戻す
scripts/analysis_r2/防御の数値の背後にあるCPU統計(Wilson、Newcombe、Hanley-McNeil、ペア付きブートストラップ)
paper/data/論文のために直接計算された数値のCPUスクリプトとその出力
paper/figures/make_figures.pyresults/から論文の図を描画する
results/論文が引用するすべての生スコアとサマリー

各表と図の出所

コマンドはリポジトリルートからの相対パスである。「GPU」ステップはガードモデルをロードし、「CPU」ステップはresults/内のファイルを読み取るのみである。

セクション3、ターゲット再結合(Shieldstral、確認的研究、PROTOCOL.md)

論文結果ファイル生成元
図1(解剖学、スコア)results/confirm_shieldstral.csv(最初の文書、none と query_doc)python -m src.confirm(GPU)
表1(アブレーション)results/confirm_log.txt [ablation]、results/tables.mdpython -m src.confirm(stdout は confirm_log.txt)、続いて python -m src.figures(CPU、tables.md を書き込む)
図2(スコア、3つのデコイ)results/confirm_shieldstral.csv、results/confirm_groundtruth.csvpython -m src.confirm、python -m src.groundtruth(GPU、stdout results/groundtruth_log.txt)、paper/figures/make_figures.py により描画(CPU)
100リクエスト実行(テキスト)results/confirm_hundred.csv、results/hundred_log.txtpython -m src.hundred(GPU)
緩和クエリ対照(テキスト)results/confirm_soften.csv、results/soften_log.txtpython -m src.soften(GPU)
偽造判定 vs 偽造タスク(テキスト)results/fix/forgery_controls_base.jsonpython -m src.fix.forgery_controls --cond base --split test --allow-test --out results/fix/forgery_controls_base.json(GPU、scripts/queue_fix_full.sh 内)
ロバスト性の段落(セクション3のテキスト)results/confirm_log.txt [recency]、[markers]、[policy]、results/supp_log.txt [A]python -m src.confirm、python -m src.supp(GPU)
セクション3の用量反応の段落、活性化パッチング(付録C)results/mech/patching_test_n100.json、dose_response_test_n150_d40.json、dose_response_test_n150_d40_rho_ci.json(比較用の dev 分割実行 *_dev_*)src.mech.{patching,dose_response}(GPU、scripts/queue_fix_full.sh のステップ0、PART=main)、rho 区間: python -m src.mech.dose_response --recompute results/mech/dose_response_test_n150_d40.json(CPU)
閾値感度(セクション3のテキスト、tau = 0.1)results/sensitivity.mdpython -m src.sensitivity(CPU、confirm_shieldstral.csv を読み込む)

セクション4、GuardRebind(PROTOCOL_v2.md)

論文結果ファイル生成元
3つのガード設計(セクション4のテキスト)results/confirm_crossmodel.csv、results/confirm_gpt_oss_mechanism.csv、results/gpt_oss_mechanism_log.txtpython -m src.crossmodel 30、python -m src.gpt_oss_mechanism 30(OpenRouter API、GPU 不要)
表2(ベンチマーク、ローカルガード)results/bench/v2/<guard>__default.jsonl(生スコア、アイテムIDのみ)、results/bench/v2/bypass.csv、run_config.jsonscripts/queue_bench.sh(GPU)-> python -m src.bench.run_bench_v2 ...、続いて python -m src.bench.analyze --inp results/bench/v2(CPU)
表2(gpt-oss-safeguard の行)、gpt-oss の段落(セクション4.2)、複数判定の読み取り(付録C)results/bench/v2/gpt_oss_safeguard_20b.jsonl、results/bench/v2/gpt_oss_summary.md、results/bench/v2/gpt_oss/*、paper/data/gpt_oss_strict.mdpython -m src.bench.api_bench(OpenRouter)、python -m src.bench.api_summary(CPU)、python paper/data/gpt_oss_strict.py > paper/data/gpt_oss_strict.md(CPU)
ファミリー別バイパス(セクション4.2のテキスト、完全な表は公開、論文には未掲載)results/bench/v2/bypass.csv(デフォルトポリシー、bypass 列)、gpt-oss は paper/data/gpt_oss_strict.md からpython -m src.bench.analyze(CPU)
ベンチマーク閾値感度(公開、論文には未掲載)results/bench/v2/bypass_tau.csvpython -m src.bench.analyze(CPU)
ポリシーの言い換えと制御トークンの比較(付録C)results/bench/v2/<guard>__para{1,2}.jsonl、results/bench/v2/policy_range.csv、results/bench/v2/bypass.csvscripts/queue_bench.sh、src.bench.analyze
Qwen3Guard「何がタスクと見なされるか」プローブresults/bench/explore/qwen3guard.mdpython -m src.bench.explore.qwen3guard --n 40(GPU、train 分割)

セクション5-6、防御(PROTOCOL_v2.md、ラウンド2 = 偏差 D4)

論文結果ファイル生成元
表3(防御、メイン)と表4(有用性)results/fix/r2_test_{base,B,detector,segmax_infer,t_seed0,t_seed1,bt_seed0,cc_seed0}.jsonscripts/queue_round2.sh(GPU、ステップ1-3および5): src.fix.distill build/train、src.fix.evaluate ... --decoy-split fixed,heldout
セクション6.2の区間とペア検定同じファイルpython scripts/analysis_r2/tab.py、delta.py、boot.py(CPU)
表5(適応型攻撃)results/fix/r2_adaptive_{base,t_seed0,bt_seed0}_{search,structural_heldout}.json(.jsonl)、r2_adaptive_{base,t_seed0}_search_null.json(.jsonl)、r2_adaptive_t_seed0_gcg.json(.jsonl)scripts/queue_round2.sh ステップ4(GPU)に加え、プレーンテキスト対照(下記コマンド)
勝利したデコイ(セクション6.3の本文)paper/data/search_decoys.mdpython paper/data/search_decoys.py > paper/data/search_decoys.md(CPU上でベースのShieldstralを読み込む)
検索あり対検索なしのクリア率、検索勝利位置、プレーンテキスト対照との重複(セクション6.3の本文、C3)paper/data/search_no_feedback.mdpython paper/data/search_no_feedback.py > paper/data/search_no_feedback.md(CPU、適応型の.jsonlファイルのみを読み込む)
表6(事前登録された予測と結果)PROTOCOL.md、PROTOCOL_v2.md、およびここに列挙された結果ファイルなし(手作業で収集)
表7(固定デコイ条件: ナイーブAT、Llama Guard 3、Qwen3Guard)results/fix/test_{at_seed0,at_seed1,lg3_base,lg3_t_seed0,qg3_base,qg3_t_seed0}.jsonscripts/queue_fix_full.sh(ラウンド1、PART=main、シードと汎化性)
表5の「すべての攻撃」に計上されるGCG(セクション6.3の本文)results/fix/adaptive_{base,B}_gcg.json、adaptive_base_gcg_nopair.json、r2_adaptive_t_seed0_gcg.jsonscripts/queue_fix_full.sh(ラウンド1)およびscripts/queue_round2.sh。ペアなし対照はsrc.fix.adaptive --attack gcg --no-pair
コンテンツトークン検査(付録D)results/fix/content_token_check.jsonpython scripts/check_content_tokens.py(CPU、トークナイザのみ)
有界フォーマットのトークン化検査(付録D)results/fix/bounded_tokenization_check.jsonpython scripts/check_bounded_tokenization.py(CPU、トークナイザのみ。data/items.jsonlを読み込む)

論文が引用していないパイロット、dev分割、その他の探索的出力は含まれていません。

データとモデルの取得

ベンチマーク項目はsrc/bench/data.pyによって構築され、data/items.jsonlにキャッシュされます(gitignore対象、約40k項目、正規化されたテキストのハッシュによって60/10/30に分割):

uv run python -m src.bench.data            # build or read the cache, print counts

読み込み元はすべて src/bench/data.py のローダーで読み込まれます:

ソース読み込み元アクセス
AdvBench, HarmBench固定コミットの上流 GitHub CSVオープン (MIT)
Aegis 2.0nvidia/Aegis-AI-Content-Safety-Dataset-2.0Hub でオープン
BeaverTailsPKU-Alignment/BeaverTailsオープン; 非商用ライセンス
OpenAI moderation evalmmathys/openai-moderation-api-evaluationオープン
ToxicChatlmsys/toxic-chat (toxicchat0124)オープン; 非商用ライセンス
XSTest, OR-Bench-hard-1kPaul/XSTest, bench-llm/or-benchオープン
WildGuardMixallenai/wildguardmixゲート付き; アクセス権がない場合は警告とともにスキップされます。論文の実行には含まれていません

構造化された良性のハードネガティブとテストセットは、良性分割テキストを用いて src/bench/data.py のテンプレートから生成されます。蒸留データは data/fix/ に配置されます。

ガード(Hugging Face; 論文では再現性付録に記載されたリビジョンを使用):

ツールをダウンロード