Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
craw — Marco robusto de marcas de agua de audio que incrusta mensajes binarios en espectrogramas de magnitud, con simulación diferenciable de ataques, agrupación Q-Former, enmascaramiento PESQ y códigos de corrección de errores para resistir ataques de códec y procesamiento de señales. | Kitploit
Herramientas/GitHubGitHub/davidc1212/craw
EsteganografíaCriptografíaAprendizaje AutomáticoPapers e Investigación
GitHubdavidc1212/craw

craw

Marco robusto de marcas de agua de audio que incrusta mensajes binarios en espectrogramas de magnitud, con simulación diferenciable de ataques, agrupación Q-Former, enmascaramiento PESQ y códigos de corrección de errores para resistir ataques de códec y procesamiento de señales.

Ver Repositorio
753hace 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

CRAW: marca de agua de audio robusta a códecs

Código fuente de CRAW, un método robusto de marca de agua de audio basado en la inserción en el dominio de magnitud de la STFT. Un codificador inserta un mensaje binario en el espectrograma de magnitud de un clip de audio (la fase se conserva de la señal limpia); un decodificador recupera el mensaje bajo una amplia gama de ataques de procesamiento de señal, códecs neuronales, eliminación de ruido y vocoders.

Este repositorio es un fork de TimbreWatermarking (NDSS 2024), ampliado con:

  • Capa de distorsión robusta — simulación diferenciable de ataques (ruido, filtrado, FACodec, MP3, spectral gating, ...) durante el entrenamiento.
  • Pooling Q-Former — agregación basada en atención de las características de marca de agua extraídas, en sustitución del simple mean pooling.
  • Enmascaramiento PESQ — en el momento de la inferencia, una máscara por muestra restaura el contenido limpio del espectrograma en las celdas menos útiles para la robustez (según la magnitud del gradiente PESQ), intercambiando una cantidad pequeña y ajustable de robustez por una ganancia en fidelidad.
  • Códigos correctores de errores (ECC) — códecs de repetición, Reed–Solomon, LDPC y BCH que envuelven los bits del mensaje en bruto.

Estructura del repositorio

  • watermarking_model/ — todo el código del modelo de marca de agua: arquitectura (model/), entrenamiento (train.py), simulación de ataques (distortions/, utils/distortions.py), evaluación (eval/) y scripts de exportación/experimentos (scripts/).

Configuración

Requiere Python 3.8.

Las dependencias de terceros incluidas a continuación no están empaquetadas en este repositorio. Solo son necesarias para los ataques FACodec/denoiser/TiCodec específicamente — no para la verificación básica de inserción/decodificación (véase Inferencia más abajo). Si deseas ejecutar esos ataques, clona tú mismo los repositorios públicos en las rutas mostradas:

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

Las dependencias de Python para el pipeline principal de entrenamiento/evaluación se enumeran en watermarking_model/requirements.txt. Para la renderización de ataques de códecs (EnCodec, TiCodec), recomendamos un entorno conda separado por códec, ya que cada uno tiene sus propias dependencias —a veces en conflicto—; consulta las instrucciones de configuración en el docstring de cada script (codecs/encode_*.py).

Datos

El entrenamiento y la evaluación utilizan LibriSpeech (divisiones de entrenamiento + prueba) y, para los experimentos de dominio cruzado zero-shot, LJSpeech. Las rutas de los conjuntos de datos se establecen en el campo path.raw_path de la configuración de entrenamiento de cada experimento (watermarking_model/config/**/train_*.yaml) y mediante --audio_dir en los scripts de evaluación/exportación — apunta estos a tus propias copias locales de LibriSpeech y LJSpeech.

Entrenamiento

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

Esto entrena el modelo completo (capa de distorsión robusta + Q-Former + ECC de repetición) — la configuración usada para los resultados principales de CRAW. El entrenamiento se registra en Weights & Biases bajo el proyecto craw; configura WANDB_ENTITY/inicia sesión mediante wandb login para tu propia cuenta primero.

El entrenamiento usa una semilla aleatoria fija (2022, establecida en train.py para random/numpy/torch/torch.cuda) para reproducibilidad.

El enmascaramiento PESQ se aplica en tiempo de exportación/inferencia, no durante el entrenamiento — consulta scripts/export_watermarked_dynamic.py --grad_mode spect_ft.

Inferencia

Un checkpoint de CRAW preentrenado (época 20, coincidiendo con los resultados principales del artículo) está incluido directamente en este envío — sin necesidad de descarga — en watermarking_model/results/craw/ckpt/pth/ (test.model_path de config/craw/model.yaml apunta aquí).

Para incrustar un mensaje en un archivo WAV y decodificarlo inmediatamente después (sin aplicar ningún ataque) como una comprobación rápida de sanidad:

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

Esto imprime el mensaje incrustado/decodificado y la precisión de bits. Para la evaluación completa del conjunto de ataques utilizada en el artículo, consulte eval/common_test.py a continuación.

Evaluación

eval/common_test.py ejecuta el conjunto completo de ataques (procesamiento clásico de señales, códecs neuronales, eliminadores de ruido, vocoders) contra un checkpoint entrenado y reporta la precisión de decodificación y la fidelidad (SI-SNR, PESQ, STOI) por ataque.

eval/tpr_eval.py calibra un umbral de detección por modelo a partir de las tasas de falsos positivos en audio limpio y reporta el TPR con un FPR compartido; eval/compare_tpr.py agrega los resultados entre experimentos en las tablas comparativas del artículo con pruebas de significancia de bootstrap emparejado. scripts/plot_ablation_sweep.py, scripts/plot_fidelity_sweep.py, scripts/visualize_mask.py y scripts/visualize_mask_zoom.py generan las figuras del artículo.

Citación

Si utiliza este código, por favor cite:

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

Agradecimientos

Basado en TimbreWatermarking (NDSS 2024). Utiliza NaturalSpeech3 FACodec, ClearerVoice-Studio, TiCodec y EnCodec para los ataques de códec/denoiser.

Descargar herramienta