Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 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
il y a 9 joursPas 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 basé sur un codec

Code source de CRAW, une méthode de tatouage audio robuste fondée sur l'intégration dans le domaine de la magnitude STFT. Un encodeur intègre 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 sous une large gamme 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, gating spectral, ...) pendant l'entraînement.
  • Pooling Q-Former — agrégation basée sur l'attention des caractéristiques de tatouage extraites, remplaçant le simple pooling moyen.
  • Masquage PESQ — au moment de l'inférence, un masque par échantillon restaure le contenu du spectrogramme propre dans les cellules les moins utiles pour la robustesse (selon l'amplitude du gradient PESQ), échangeant une petite quantité réglable de robustesse contre un gain de fidélité.
  • Codes correcteurs d'erreurs (ECC) — codecs par répétition, Reed–Solomon, LDPC et BCH enveloppant les bits bruts du message.

Structure 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ériences (scripts/).

Configuration

Nécessite Python 3.8.

Les dépendances tierces intégrées ci-dessous ne sont pas incluses dans ce dépôt. Elles ne sont nécessaires que pour les attaques FACodec/denoiser/TiCodec spécifiquement — pas pour la vérification de base d'intégration/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 :

root@kitploit:~
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 séparé par codec, car chacun a ses propres — parfois conflictuelles — dépendances ; voir les instructions de configuration dans le docstring de chaque script (codecs/encode_*.py).

Données

L'entraînement et l'évaluation utilisent LibriSpeech (divisions 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 config d'entraînement de chaque expérience (watermarking_model/config/**/train_*.yaml) et via --audio_dir sur les scripts d'évaluation/export — pointez-les vers vos propres copies locales de LibriSpeech et LJSpeech.

Entraînement

root@kitploit:~
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 par répétition) — la configuration utilisée pour les principaux résultats de CRAW. L'entraînement journalise dans Weights & Biases sous le projet craw ; définissez WANDB_ENTITY/connectez-vous via wandb login avec votre propre compte d'abord.

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

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

Inférence

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

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

root@kitploit:~
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 binaire. 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 du signal classique, codecs neuronaux, débruitage, vocodeurs) contre un point de contrôle entraîné et rapporte la précision de décodage par attaque et la fidélité (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 partagé ; eval/compare_tpr.py agrège les résultats entre expériences dans les tableaux de comparaison de l'article avec des tests de significativité 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.

Remerciements

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

Télécharger l’outil