Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CamoDocs — Forschungsimplementierung eines Poisoning-Angriffs gegen retrieval-gestützte Sprachmodelle unter Verwendung getarnter Dokumente, um Filterabwehrmaßnahmen zu umgehen und falsche Antworten zu induzieren. | Kitploit
Tools/GitHubGitHub/jaewonalive/camodocs
Papers & ForschungLernen & BildungKI-SicherheitAdversarial-Angriff
GitHubjaewonalive/camodocs

CamoDocs

Forschungsimplementierung eines Poisoning-Angriffs gegen retrieval-gestützte Sprachmodelle unter Verwendung getarnter Dokumente, um Filterabwehrmaßnahmen zu umgehen und falsche Antworten zu induzieren.

Repository anzeigen
vor 3 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CamoDocs

Offizielles Repository des EMNLP-2026-Papers CamoDocs: A Poisoning Attack Against Retrieval-Augmented Language Models Using Camouflaged Documents.

CamoDocs ist ein Angriff zur Vergiftung von Wissensdatenbanken gegen Retrieval-Augmented Generation (RAG), der keine Query-Einbindung benötigt. Jedes adversarial erzeugte Sub-Dokument wird getarnt, indem es mit einem optimierten benignen Sub-Dokument verkettet wird, sodass die resultierenden vergifteten Dokumente die Query-Overlap-Artefakte vermeiden, auf die Filterungsverteidigungen angewiesen sind.

Übersicht über CamoDocs

CamoDocs erzeugt benigne und adversarial erzeugte Sub-Dokumente, optimiert die benignen Teile mit Dispersions-Tokens und Kohärenzfilterung und führt sie zusammen, um vergiftete Dokumente zu erstellen, die Filterungsverteidigungen umgehen und die gewünschte falsche Antwort induzieren.

Installation

Getestet mit Python 3.10, CUDA 12.8, PyTorch 2.8.0. Eine 48-GB-GPU reicht für Opfermodelle der 8B-Klasse. Mixtral-8x7B passt nicht auf eine 48-GB-Karte; verwenden Sie --lm_deploy_tp, um es auf mehrere Karten aufzuteilen.

root@kitploit:~
conda create -n camodocs python=3.10 -y
conda activate camodocs
pip install -r requirements.txt
python -m spacy download en_core_web_sm
python -c "import nltk; nltk.download('punkt'); nltk.download('stopwords')"

Die LLM-Filter-Verteidigung benötigt zusätzlich openai/gpt-oss-safeguard-20b, was einen neueren vLLM/transformers/torch-Stack erfordert. Daher lebt sie in einer eigenen Umgebung:

root@kitploit:~
conda create -n camodocs_vllm python=3.10 -y
conda activate camodocs_vllm
pip install -r requirements_vllm.txt

So führen Sie es aus

Setzen Sie zuerst diese Variablen. Jedes Skript prüft die benötigten Variablen und beendet sich sofort, wenn eine fehlt.

root@kitploit:~
export REPO_ROOT=/absolute/path/to/this/repo
export DATA_ROOT=/absolute/path/for/intermediate/outputs
export OPENAI_API_KEY=...      # LLM-Judge, GPT-4o-mini-Synthese
export HF_TOKEN=...            # gated models (Llama-3.1, Mixtral)

Führen Sie dann eine beliebige Verteidigungsauswertung aus. Die gebündelten Artefakte ermöglichen es Ihnen, die Stufen 1-3 vollständig zu überspringen:

root@kitploit:~
bash scripts/eval_trustrag.sh

Reproduktion unserer Ergebnisse

Jedes Skript reproduziert eine Zeile auf HotpotQA mit einem Llama-3.1-8B-Opfermodell. Für einen anderen Datensatz setzen Sie EVAL_DATASET=nq (oder msmarco) in der Umgebung; für ein anderes Opfermodell bearbeiten Sie MODEL_NAME im Skript.

root@kitploit:~
bash scripts/eval_trustrag.sh            # TrustRAG (k-means + Konflikt-Prompting)
bash scripts/eval_query_detection.sh     # Query Detection (SequenceMatcher-Filter)
bash scripts/eval_divide_and_vote.sh     # Divide-and-Vote
bash scripts/eval_robustrag.sh           # RobustRAG (Keyword-Aggregation)
bash scripts/eval_isolation_forest.sh    # Isolation Forest
bash scripts/eval_rerank.sh              # Cross-Encoder-Reranking (bge-reranker-v2-m3)
bash scripts/llm_filter_eval.sh          # LLM Filter (benötigt den vLLM-Kritiker unten)

Die ersten sechs benötigen 1 GPU. Der LLM-Filter führt zusätzlich einen 20B-Kritiker in einer zweiten Shell aus, benötigt also genügend GPU-Speicher für diesen Kritiker neben dem Opfermodell. Unsere Läufe verwendeten vier 48-GB-Karten; setzen Sie TP und LM_DEPLOY_TP passend zu Ihrer eigenen Hardware:

root@kitploit:~
# Shell 1
conda activate camodocs_vllm
bash scripts/gpt_oss_safeguard_vllm_serve.sh   # bedient auf :8001, TP=4

# Shell 2
conda activate camodocs
bash scripts/llm_filter_eval.sh                # prüft zuerst den Kritiker per Health-Check

Vollständige Pipeline

Die Stufen 1-2 entwerfen benigne und adversarial erzeugte Passagen mit GPT-4o-mini, Stufe 3 wendet die Token-Ebene-Optimierung an, Stufe 4 bewertet gegen Verteidigungen.

root@kitploit:~
bash scripts/gen_synth_benign_hotpotqa.sh      # Stufe 1: Entwürfe benigner Träger
bash scripts/gen_adv_hotpotqa.sh               # Stufe 2: adversarial erzeugte Entwürfe
bash scripts/camodocs_token_manipulation.sh    # Stufe 3: CamoDocs-Token-Manipulation
bash scripts/eval_trustrag.sh                  # Stufe 4: Auswertung

Die Skripte enthalten die exakten Hyperparameter, die für die berichteten Läufe verwendet wurden (beta=10, alpha=30, m=1000, m'=100, top-k=5).

Daten

BEIR-Datensätze werden beim ersten Gebrauch automatisch heruntergeladen, in ${REPO_ROOT}/datasets/. Jede Stufe tut dies, daher gibt es keinen separaten Dateneinrichtungsschritt. Um sie stattdessen im Voraus abzurufen:

root@kitploit:~
mkdir -p ${REPO_ROOT}/datasets && cd ${REPO_ROOT}/datasets
for ds in hotpotqa nq msmarco; do
    wget https://public.ukp.informatik.tu-darmstadt.de/thakur/BEIR/datasets/${ds}.zip
    unzip ${ds}.zip
done

Um die teure Vorverarbeitung zu überspringen, bündelt diese Veröffentlichung vorberechnete Contriever-Abrufe (results/beir_results/), die festen 1.000-Query-Auswertungsteilmengen (target_queries_fixed/) und Beispielausgaben der Stufen 2/3 (data_examples/) für alle drei Datensätze.

Alle berichteten Zahlen reproduzieren sich für HotpotQA, NQ und MS-MARCO aus den gebündelten Artefakten. (Das erneute Ausführen von Stufe 2 selbst benötigt Ihre eigene Antwortdatei für NQ und MS-MARCO — gen_adv.py erklärt dies, wenn Sie es versuchen.)

Danksagung

  • Unser Code verwendete die beir-Benchmark.
  • Unser Code verwendete contriever für Retrieval-Augmented Generation (RAG).
  • Teile unseres Codes sind angepasst von PoisonedRAG und TrustRAG.

Lizenz

Diese Codebasis wird unter der MIT-Lizenz (LICENSE) bereitgestellt, in Anlehnung an das ursprüngliche PoisonedRAG-Repository, das ebenfalls MIT-lizenziert ist.

Eine Ausnahme: src/contriever_src/ ist Metas contriever-Code und bleibt unter CC BY-NC 4.0, daher ist dieses Verzeichnis nur für nicht-kommerzielle Zwecke bestimmt.

Verwendungszweck

Dieses Paket wird für Forschungs- und Reproduzierbarkeitszwecke bereitgestellt. Der veröffentlichte Code dient dazu, die im Paper berichteten Experimente zu reproduzieren und die Forschung zur RAG-Robustheit und -Verteidigung zu unterstützen.

Das Paket verwendet öffentlich verfügbare Datensätze, Modelle und Softwarebibliotheken unter ihren jeweiligen Lizenzen und Nutzungsbedingungen. BEIR-Datensätze wie HotpotQA, NQ und MS-MARCO werden von den offiziellen BEIR-URLs heruntergeladen und nicht in diesem Paket weiterverteilt.

Modellgewichte und APIs, die von der Pipeline verwendet werden, einschließlich GPT-4o-mini, GPT-4.1-mini, Llama-3.1-8B, Qwen3-8B, Mixtral-8x7B, Contriever, ANCE, GPT-2, bge-reranker-v2-m3 und gpt-oss-safeguard-20b, unterliegen weiterhin den Lizenzen und Nutzungsrichtlinien ihrer ursprünglichen Anbieter. Dieses Paket gewährt keine zusätzlichen Rechte an diesen Drittanbieter-Artefakten.

Die in diesem Paket enthaltenen adversarial erzeugten Dokumente und Zwischenartefakte werden nur für die kontrollierte Forschungsevaluierung der RAG-Robustheit bereitgestellt. Sie sollten nicht verwendet werden, um bereitgestellte Systeme anzugreifen oder reale Wissensdatenbanken zu vergiften.

Zitierung

root@kitploit:~
@misc{jung2026camodocs,
      title={CamoDocs: A Poisoning Attack Against Retrieval-Augmented Language Models Using Camouflaged Documents},
      author={Jaewon Jung and Haizhong Zheng and Hongsun Jang and Jaeyong Song and Beidi Chen and Jinho Lee},
      year={2026},
      eprint={2608.28389},
      archivePrefix={arXiv},
      primaryClass={cs.CR},
      url={https://arxiv.org/abs/2608.28389},
}
Tool herunterladen