Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
craw — Robustes Audio-Wasserzeichen-Framework, das binäre Nachrichten in Magnitudenspektrogramme einbettet, mit differenzierbarer Angriffssimulation, Q-Former-Pooling, PESQ-Maskierung und fehlerkorrigierenden Codes für Widerstandsfähigkeit gegen Codec- und Signalverarbeitungsangriffe. | Kitploit
Tools/GitHubGitHub/davidc1212/craw
SteganografieKryptographieMaschinelles LernenPapers & Forschung
GitHubdavidc1212/craw

craw

Robustes Audio-Wasserzeichen-Framework, das binäre Nachrichten in Magnitudenspektrogramme einbettet, mit differenzierbarer Angriffssimulation, Q-Former-Pooling, PESQ-Maskierung und fehlerkorrigierenden Codes für Widerstandsfähigkeit gegen Codec- und Signalverarbeitungsangriffe.

Repository anzeigen
753vor 2 MonatenNoch 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

CRAW: Codec-robustes Audio-Watermarking

Quellcode für CRAW, eine robuste Audio-Watermarking-Methode, die auf Einbettung im STFT-Magnitudenbereich basiert. Ein Encoder bettet eine binäre Nachricht in das Magnitudenspektrogramm eines Audioclips ein (die Phase wird aus dem sauberen Signal übernommen); ein Decoder rekonstruiert die Nachricht unter einer Vielzahl von Angriffen aus den Bereichen Signalverarbeitung, neuronale Codecs, Denoising und Vocoder.

Dieses Repository ist ein Fork von TimbreWatermarking (NDSS 2024), erweitert um:

  • Robuste Verzerrungsschicht — differenzierbare Angriffssimulation (Rauschen, Filterung, FACodec, MP3, Spectral Gating, ...) während des Trainings.
  • Q-Former-Pooling — aufmerksamkeitsbasierte Aggregation der extrahierten Watermark-Merkmale, die das einfache Mean-Pooling ersetzt.
  • PESQ-Maskierung — zur Inferenzzeit stellt eine pro Sample angewendete Maske sauberen Spektrogramm-Inhalt in den Zellen wieder her, die für die Robustheit am wenigsten nützlich sind (nach PESQ-Gradienten-Magnitude), und tauscht damit einen kleinen, justierbaren Anteil an Robustheit gegen einen Gewinn an Wiedergabetreue.
  • Fehlerkorrekturcodes (ECC) — Repetition-, Reed–Solomon-, LDPC- und BCH- Codecs, die die rohen Nachrichtenbits umschließen.

Repository-Aufbau

  • watermarking_model/ — der gesamte Code des Watermarking-Modells: Architektur (model/), Training (train.py), Angriffssimulation (distortions/, utils/distortions.py), Evaluierung (eval/) und Export-/Experiment-Skripte (scripts/).

Einrichtung

Erfordert Python 3.8.

Die unten mitgelieferten Drittanbieter-Abhängigkeiten sind in diesem Repository nicht enthalten. Sie werden nur für die FACodec-/Denoiser-/TiCodec-Angriffe speziell benötigt — nicht für die grundlegende Überprüfung von Einbetten/Dekodieren (siehe Inferenz unten). Wenn Sie diese Angriffe ausführen möchten, klonen Sie die öffentlichen Repositories selbst in die angegebenen Pfade:

git clone https://github.com/lifeiteng/naturalspeech3_facodec.git watermarking_model/naturalspeech3_facodec
git clone https://github.com/modelscope/ClearerVoice-Studio.git watermarking_model/ClearerVoice-Studio
git clone https://github.com/y-ren16/TiCodec.git watermarking_model/codecs/ticodec_repo

Die Python-Abhängigkeiten für die Haupt-Trainings-/Evaluierungspipeline sind in watermarking_model/requirements.txt aufgeführt. Für das Rendering von Codec-Angriffen (EnCodec, TiCodec) empfehlen wir eine separate conda-Umgebung pro Codec, da jeder seine eigenen – manchmal konfliktären – Abhängigkeiten hat; siehe die Einrichtungsanweisungen im Docstring jedes Skripts (codecs/encode_*.py).

Daten

Für Training und Evaluierung werden LibriSpeech (Train- + Test-Splits) und, für die Zero-Shot-Cross-Domain-Experimente, LJSpeech verwendet. Die Datensatzpfade werden im Feld path.raw_path der Trainingskonfiguration jedes Experiments (watermarking_model/config/**/train_*.yaml) und über --audio_dir in den Eval-/Export-Skripten festgelegt – richten Sie diese auf Ihre eigenen lokalen Kopien von LibriSpeech und LJSpeech aus.

Training

cd watermarking_model
python3 train.py \
  -p config/process.yaml \
  -m config/craw/model.yaml \
  -t config/craw/train.yaml

Dies trainiert das vollständige Modell (robuste Verzerrungsschicht + Q-Former + Wiederholungs-ECC) — die Konfiguration, die für die Hauptergebnisse von CRAW verwendet wurde. Das Training wird in Weights & Biases unter dem Projekt craw protokolliert; setze WANDB_ENTITY/melde dich zuerst über wandb login für dein eigenes Konto an.

Das Training verwendet einen festen Zufallsseed (2022, gesetzt in train.py für random/numpy/torch/torch.cuda) für die Reproduzierbarkeit.

PESQ-Masking wird zur Export-/Inferenzzeit angewendet, nicht während des Trainings — siehe scripts/export_watermarked_dynamic.py --grad_mode spect_ft.

Inferenz

Ein vortrainierter CRAW-Checkpoint (Epoche 20, passend zu den Hauptergebnissen des Papers) ist direkt in dieser Einreichung enthalten — kein Download erforderlich — unter watermarking_model/results/craw/ckpt/pth/ (config/craw/model.yamls test.model_path verweist hierauf).

Um eine Nachricht in eine WAV-Datei einzubetten und sie sofort wieder zu dekodieren (ohne angewendeten Angriff) als schnelle Plausibilitätsprüfung:

cd watermarking_model
python3 -m scripts.infer \
  -p config/process.yaml \
  -m config/craw/model.yaml \
  -t config/craw/train.yaml \
  --input /path/to/clean.wav \
  --output /path/to/watermarked.wav \
  --ckpt 20

Dies gibt die eingebettete/dekodierte Nachricht und die Bitgenauigkeit aus. Für die vollständige Auswertung der Angriffssuite, die im Paper verwendet wird, siehe eval/common_test.py unten.

Evaluierung

eval/common_test.py führt die vollständige Angriffssuite (klassische Signalverarbeitung, neuronale Codecs, Denoiser, Vocoder) gegen einen trainierten Checkpoint aus und meldet die Dekodierungsgenauigkeit und -treue pro Angriff (SI-SNR, PESQ, STOI).

eval/tpr_eval.py kalibriert einen modellspezifischen Erkennungsschwellenwert anhand der Falsch-Positiv-Raten bei sauberem Audio und meldet die TPR bei einer gemeinsamen FPR; eval/compare_tpr.py aggregiert die Ergebnisse über Experimente hinweg in die Vergleichstabellen des Papers mit paarweiser Bootstrap-Signifikanztestung. scripts/plot_ablation_sweep.py, scripts/plot_fidelity_sweep.py, scripts/visualize_mask.py und scripts/visualize_mask_zoom.py erzeugen die Abbildungen des Papers.

Zitation

Wenn Sie diesen Code verwenden, zitieren Sie bitte:

@article{chernin2026craw,
  title={CRAW: Codec Robust Audio Watermarking},
  author={Chernin, David and Fetaya, Ethan},
  journal={arXiv preprint arXiv:2609.03107},
  year={2026},
  url={https://arxiv.org/abs/2609.03107}
}

Danksagungen

Basiert auf TimbreWatermarking (NDSS 2024). Verwendet NaturalSpeech3 FACodec, ClearerVoice-Studio, TiCodec und EnCodec für Codec-/Denoiser- Angriffe.

Tool herunterladen