Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
craw — Framework robuste de tatouage audio intégrant des messages binaires dans des spectrogrammes d’amplitude, avec simulation d’attaques différentiables, pooling Q-Former, masquage PESQ et codes correcteurs d’erreurs pour une résilience face aux attaques de codec et de traitement du signal. | Kitploit
Outils/GitHubGitHub/davidc1212/craw
StéganographieCryptographieApprentissage AutomatiqueArticles et Recherche
GitHubdavidc1212/craw

craw

Voir le dépôt
753il y a 2 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →

À propos

Framework robuste de tatouage audio intégrant des messages binaires dans des spectrogrammes d’amplitude, avec simulation d’attaques différentiables, pooling Q-Former, masquage PESQ et codes correcteurs d’erreurs pour une résilience face aux attaques de codec et de traitement du signal.

Partager

CRAW : Tatouage audio robuste aux codecs

Code source de CRAW, une méthode de tatouage audio robuste reposant sur l'insertion dans le domaine de la magnitude STFT. Un encodeur insère un message binaire dans le spectrogramme de magnitude d'un clip audio (la phase est préservée à partir du signal propre) ; un décodeur récupère le message face à un large éventail d'attaques de traitement du signal, de codecs neuronaux, de débruitage et de vocodeurs.

Ce dépôt est un fork de TimbreWatermarking (NDSS 2024), étendu avec :

  • Couche de distorsion robuste — simulation d'attaques différentiable (bruit, filtrage, FACodec, MP3, spectral gating, ...) pendant l'entraînement.
  • Pooling Q-Former — agrégation par attention des caractéristiques de tatouage extraites, remplaçant le simple mean pooling.
  • Masquage PESQ — au moment de l'inférence, un masque par échantillon restaure le contenu propre du spectrogramme dans les cellules les moins utiles à la robustesse (selon la magnitude du gradient PESQ), échangeant une petite quantité ajustable de robustesse contre un gain de fidélité.
  • Codes correcteurs d'erreurs (ECC) — codecs à répétition, Reed–Solomon, LDPC et BCH enveloppant les bits bruts du message.

Organisation du dépôt

  • watermarking_model/ — tout le code du modèle de tatouage : architecture (model/), entraînement (train.py), simulation d'attaques (distortions/, utils/distortions.py), évaluation (eval/), et scripts d'export/expérimentation (scripts/).

Installation

Nécessite Python 3.8.

Les dépendances tierces intégrées ci-dessous ne sont pas fournies dans ce dépôt. Elles ne sont nécessaires que pour les attaques FACodec/débruitage/TiCodec spécifiquement — pas pour la vérification de base de l'insertion/décodage (voir Inférence ci-dessous). Si vous souhaitez exécuter ces attaques, clonez vous-même les dépôts publics dans les chemins indiqués :

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

Les dépendances Python pour le pipeline principal d'entraînement/évaluation sont listées dans watermarking_model/requirements.txt. Pour le rendu des attaques par codec (EnCodec, TiCodec), nous recommandons un environnement conda distinct par codec, car chacun possède ses propres dépendances — parfois en conflit ; consultez les instructions d'installation dans la docstring de chaque script (codecs/encode_*.py).

Données

L'entraînement et l'évaluation utilisent LibriSpeech (splits train + test) et, pour les expériences cross-domain zero-shot, LJSpeech. Les chemins des jeux de données sont définis dans le champ path.raw_path de la configuration d'entraînement de chaque expérience (watermarking_model/config/**/train_*.yaml) et via --audio_dir sur les scripts d'évaluation/export — pointez ces chemins vers vos propres copies locales de LibriSpeech et LJSpeech.

Entraînement

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

Cela entraîne le modèle complet (couche de distorsion robuste + Q-Former + ECC de répétition) — la configuration utilisée pour les résultats principaux de CRAW. L'entraînement est journalisé dans Weights & Biases sous le projet craw ; définissez WANDB_ENTITY/connectez-vous via wandb login pour votre propre compte au préalable.

L'entraînement utilise une graine aléatoire fixe (2022, définie dans train.py pour random/numpy/torch/torch.cuda) à des fins de reproductibilité.

Le masquage PESQ est appliqué au moment de l'export/inférence, et non pendant l'entraînement — voir scripts/export_watermarked_dynamic.py --grad_mode spect_ft.

Inférence

Un checkpoint CRAW pré-entraîné (époque 20, correspondant aux résultats principaux de l'article) est fourni directement dans cette soumission — aucun téléchargement nécessaire — à l'emplacement watermarking_model/results/craw/ckpt/pth/ (test.model_path de config/craw/model.yaml pointe ici).

Pour intégrer un message dans un fichier WAV et le décoder immédiatement (aucune attaque appliquée) comme vérification rapide de bon fonctionnement :

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

Cela affiche le message intégré/décodé et la précision des bits. Pour l'évaluation complète de la suite d'attaques utilisée dans l'article, voir eval/common_test.py ci-dessous.

Évaluation

eval/common_test.py exécute la suite d'attaques complète (traitement classique du signal, codecs neuronaux, débruiteurs, vocodeurs) sur un point de contrôle entraîné et rapporte la précision de décodage et la fidélité par attaque (SI-SNR, PESQ, STOI).

eval/tpr_eval.py calibre un seuil de détection par modèle à partir des taux de faux positifs sur audio propre et rapporte le TPR à un FPR commun ; eval/compare_tpr.py agrège les résultats entre les expériences dans les tableaux de comparaison de l'article avec un test de signification par bootstrap apparié. scripts/plot_ablation_sweep.py, scripts/plot_fidelity_sweep.py, scripts/visualize_mask.py et scripts/visualize_mask_zoom.py génèrent les figures de l'article.

Citation

Si vous utilisez ce code, veuillez citer :

@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}
}

Remerciements

Basé sur TimbreWatermarking (NDSS 2024). Utilise NaturalSpeech3 FACodec, ClearerVoice-Studio, TiCodec et EnCodec pour les attaques par codec/débruiteur.

Télécharger l’outil