Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 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
hace 9 díasAú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: Marcado de Agua de Audio Robusto con Códec

Código fuente de CRAW, un método robusto de marcado de agua de audio basado en incrustación en el dominio de magnitud STFT. Un codificador incrusta un mensaje binario en el espectrograma de magnitud de un clip de audio (la fase se preserva de la señal limpia); un decodificador recupera el mensaje bajo una amplia gama de ataques de procesamiento de señal, códec neuronal, eliminación de ruido y vocoder.

Este repositorio es una bifurcación de TimbreWatermarking (NDSS 2024), ampliado con:

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

Estructura del repositorio

  • watermarking_model/ — todo el código del modelo de marcado 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 se necesitan para los ataques específicos de FACodec/denoiser/TiCodec — no para la verificación básica de incrustación/decodificación (ver Inferencia más abajo). Si deseas ejecutar esos ataques, clona los repositorios públicos tú mismo en las rutas indicadas:

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

Las dependencias de Python para el pipeline principal de entrenamiento/evaluación se enumeran en watermarking_model/requirements.txt. Para la representación de ataques de códec (EnCodec, TiCodec), recomendamos un entorno conda separado por códec, ya que cada uno tiene sus propias — a veces conflictivas — dependencias; 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 de cero disparos, 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

root@kitploit:~
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 utilizada para los resultados principales de CRAW. El entrenamiento registra en Weights & Biases bajo el proyecto craw; establece WANDB_ENTITY/inicia sesión mediante wandb login con tu propia cuenta primero.

El entrenamiento utiliza una semilla aleatoria fija (2022, establecida en train.py para random/numpy/torch/torch.cuda) para la 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 punto de control CRAW preentrenado (época 20, que coincide con los resultados principales del artículo) está incluido directamente en esta entrega — no se necesita descarga — en watermarking_model/results/craw/ckpt/pth/ (el test.model_path de config/craw/model.yaml apunta aquí).

Para incrustar un mensaje en un archivo WAV y decodificarlo inmediatamente (sin ataque aplicado) como una verificación rápida de cordura:

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

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, consulta eval/common_test.py a continuación.

Evaluación

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

eval/tpr_eval.py calibra un umbral de detección por modelo a partir de tasas de falsos positivos de audio limpio e informa TPR en un FPR compartido; eval/compare_tpr.py agrega resultados entre experimentos en las tablas de comparación del artículo con pruebas de significancia de arranque pareado. 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.

Agradecimientos

Construido sobre TimbreWatermarking (NDSS 2024). Utiliza NaturalSpeech3 FACodec, ClearerVoice-Studio, TiCodec y EnCodec para ataques de códec/eliminador de ruido.

Descargar herramienta