Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
KidnapRAG — エージェント型検索拡張生成(RAG)システムの推論を乗っ取るブラックボックス攻撃フレームワーク。悪意のある文書を注入することで攻撃を実行し、複数の攻撃手法とデータセットに対応しています。 | Kitploit
ツール/GitHubGitHub/chanwoochoi316/kidnaprag
機械学習AIセキュリティ敵対的攻撃
GitHubchanwoochoi316/kidnaprag

KidnapRAG

エージェント型検索拡張生成(RAG)システムの推論を乗っ取るブラックボックス攻撃フレームワーク。悪意のある文書を注入することで攻撃を実行し、複数の攻撃手法とデータセットに対応しています。

リポジトリを見る
2182ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

KidnapRAG: エージェント型検索拡張生成システムにおける推論を乗っ取るブラックボックス攻撃

🎓 論文 | 📄 データセット | 🚀 クイックスタート

クイックスタート

クローンしたKidnapRAGリポジトリの親ディレクトリから以下のコマンドを実行してください。

root@kitploit:~
cd KidnapRAG
conda create -n KidnapRAG python=3.10
conda activate KidnapRAG
pip install -r requirements.txt

次に、コーパスデータセット📄をダウンロードし、ReActデータセットを/KidnapRAG/ReActへ、WebThinkerデータセットを/KidnapRAG/WebThinkerへ移動してください。

ReAct

Llamaモデルを用いたHotpotQAでの実行例。

  1. 攻撃なしでReAct応答を生成します。
root@kitploit:~
cd ReAct/ReAct
CUDA_VISIBLE_DEVICES=0,1,2,3 python attack_react.py --attack_method clean --model_path meta-llama/Llama-3.3-70B-Instruct --seed 1 --dataset hotpotqa

--model_pathはLlama-3.3-70B-InstructとQwen/Qwen2.5-32B-Instructに対応しています。

--datasetはhotpotqa、musique、2wikimultihopqaに対応しています。

  1. おとり文書を生成します。
root@kitploit:~
CUDA_VISIBLE_DEVICES=0,1 python generate_attack_doc_kill.py --input_path /KidnapRAG/ReAct/results/adv_targeted_results/hotpotqa_seed1_clean_llama70b.json --gpu_num 2 --dataset hotpotqa --type ours

--typeはさらに以下の攻撃手法に対応しています: naive(Naive Attack)、ignore(Ignore Attack)、completion_real(Fake Completion Attack)、completion_realcmb(Combined Attack)、topicattack(TopicAttack)、poisonedRAG(PoisonedRAG)、paradox(RAG Paradox)。

  1. 5つのチェーン引きずりシナリオを作成します。(BM、BCM、BCCM、BCCCM、BCCCCM)
root@kitploit:~
cd ..
python concat.py --dataset hotpotqa --gen_model llama70b

--gen_modelはLlama-3.3-70B-Instruct用のllama70bとQwen/Qwen2.5-32B-Instruct用のqwen25に対応しています。

  1. 生成した文書をインデックス化します。
root@kitploit:~
CUDA_VISIBLE_DEVICES=0 python scripts/build_index.py \
    --corpus_path /KidnapRAG/ReAct/datasets/hotpotqa/REACT_BM_llama70b.jsonl \
    --output_dir /KidnapRAG/ReAct/datasets/hotpotqa/REACT_BM_llama70b \
    --model_name intfloat/e5-large-v2
  1. 攻撃を実行します。
root@kitploit:~
cd ReAct
CUDA_VISIBLE_DEVICES=0,1,2,3 python attack_react.py --attack_method BM --model_path meta-llama/Llama-3.3-70B-Instruct --seed 1 --dataset hotpotqa

Webthinker

QwQモデルを用いたHotpotQAでの実行例。

このセクションはKidnapRAGリポジトリのルートから実行してください。

  1. 攻撃なしでWebthinker応答を生成します。
root@kitploit:~
cd Webthinker

bash scripts/webthinker/qwq_clean.sh \
  ./datasets/hotpotqa/hotpotqa_promptinject_select.json \
  ./datasets/hotpotqa_corpus/hotpotqa_corpus.jsonl \
  ./results/hotpotqa/clean_qwq.json

引数:

  • ./datasets/hotpotqa/hotpotqa_promptinject_select.json: クエリパス
  • ./datasets/hotpotqa_corpus/hotpotqa_corpus.jsonl: コーパスパス
  • ./results/hotpotqa/clean_qwq.json: 結果パス
  1. おとり文書を生成します。
root@kitploit:~
cd scripts
CUDA_VISIBLE_DEVICES=0,1 python generate_attack_doc_kill.py --input_path /KidnapRAG/Webthinker/results/hotpotqa/clean_qwq.json --gpu_num 2 --dataset hotpotqa --type ours
  1. 5つのチェーン引きずりシナリオを作成します。(BM、BCM、BCCM、BCCCM、BCCCCM)
root@kitploit:~
cd ..
python concat.py --dataset hotpotqa --gen_model qwq

--gen_modelはlixiaoxi45/WebThinker-R1-32B用のdeepseek_32bとQwen/QwQ-32B用のqwqに対応しています。

  1. 攻撃を実行します。
root@kitploit:~
bash scripts/webthinker/qwq_attack.sh \
  ./datasets/hotpotqa/hotpotqa_promptinject_select.json \
  ./datasets/hotpotqa_corpus/hotpotqa_corpus.jsonl \
  ./datasets/hotpotqa_poisoned_corpus/WEBTHINKER_BM_qwq.jsonl \
  ./results/hotpotqa/BM.json

引数:

  • ./datasets/hotpotqa/hotpotqa_promptinject_select.json: クエリパス
  • ./datasets/hotpotqa_corpus/hotpotqa_corpus.jsonl: コーパスパス
  • ./datasets/hotpotqa_poisoned_corpus/WEBTHINKER_BM_qwq.jsonl: 毒化コーパスパス
  • ./results/hotpotqa/BM.json: 結果パス

引用

root@kitploit:~
@misc{
}
ツールをダウンロード