Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
KidnapRAG — Marco de ataque de caja negra que secuestra el razonamiento en sistemas de generación aumentada por recuperación agénticos mediante la inyección de documentos envenenados, con soporte para múltiples métodos de ataque y conjuntos de datos. | Kitploit
Herramientas/GitHubGitHub/chanwoochoi316/kidnaprag
Aprendizaje AutomáticoSeguridad de IAAtaque Adversario
GitHubchanwoochoi316/kidnaprag

KidnapRAG

Marco de ataque de caja negra que secuestra el razonamiento en sistemas de generación aumentada por recuperación agénticos mediante la inyección de documentos envenenados, con soporte para múltiples métodos de ataque y conjuntos de datos.

Ver Repositorio
213hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

KidnapRAG: Un Ataque de Caja Negra para Secuestrar el Razonamiento en Sistemas de Generación Aumentada por Recuperación (RAG) Basados en Agentes

🎓 Paper | 📄 Datasets | 🚀 Inicio Rápido

Inicio Rápido

Ejecute los siguientes comandos desde el directorio padre del repositorio clonado KidnapRAG.

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

Luego, descargue los datasets del corpus 📄 y mueva el dataset ReAct a /KidnapRAG/ReAct y el dataset WebThinker a /KidnapRAG/WebThinker

ReAct

Ejemplos en HotpotQA con el modelo Llama.

  1. Generar respuestas ReAct sin ataque.
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 admite Llama-3.3-70B-Instruct y Qwen/Qwen2.5-32B-Instruct.

--dataset admite hotpotqa, musique y 2wikimultihopqa.

  1. Generar documentos señuelo.
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 admite además los siguientes métodos de ataque: naive para Ataque Ingenuo, ignore para Ataque de Ignorar, completion_real para Ataque de Finalización Falsa, completion_realcmb para Ataque Combinado, topicattack para TopicAttack, poisonedRAG para PoisonedRAG y paradox para RAG Paradox.

  1. Crear cinco escenarios de arrastre de cadena. (BM, BCM, BCCM, BCCCM, BCCCCM)
root@kitploit:~
cd ..
python concat.py --dataset hotpotqa --gen_model llama70b

--gen_model admite llama70b para Llama-3.3-70B-Instruct y qwen25 para Qwen/Qwen2.5-32B-Instruct.

  1. Indexar los documentos generados.
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. Ejecutar el ataque.
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

Ejemplos en HotpotQA con el modelo QwQ.

Ejecute esta sección desde la raíz del repositorio KidnapRAG.

  1. Generar respuestas Webthinker sin ataque.
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

Argumentos:

  • ./datasets/hotpotqa/hotpotqa_promptinject_select.json: ruta de la consulta
  • ./datasets/hotpotqa_corpus/hotpotqa_corpus.jsonl: ruta del corpus
  • ./results/hotpotqa/clean_qwq.json: ruta de resultados
  1. Generar documentos señuelo.
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. Crear cinco escenarios de arrastre de cadena. (BM, BCM, BCCM, BCCCM, BCCCCM)
root@kitploit:~
cd ..
python concat.py --dataset hotpotqa --gen_model qwq

--gen_model admite deepseek_32b para lixiaoxi45/WebThinker-R1-32B y qwq para Qwen/QwQ-32B.

  1. Ejecutar el ataque.
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

Argumentos:

  • ./datasets/hotpotqa/hotpotqa_promptinject_select.json: ruta de la consulta
  • ./datasets/hotpotqa_corpus/hotpotqa_corpus.jsonl: ruta del corpus
  • ./datasets/hotpotqa_poisoned_corpus/WEBTHINKER_BM_qwq.jsonl: ruta del corpus envenenado
  • ./results/hotpotqa/BM.json: ruta de resultados

Citación

root@kitploit:~
@misc{
}
Descargar herramienta