Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
craw — 健壮的音频水印框架,将二进制消息嵌入幅度频谱图中,具备可微攻击模拟、Q-Former 池化、PESQ 掩蔽以及纠错码功能,以抵御编解码器和信号处理攻击。 | Kitploit
工具/GitHubGitHub/davidc1212/craw
隐写术密码学机器学习论文与研究
GitHubdavidc1212/craw

craw

健壮的音频水印框架,将二进制消息嵌入幅度频谱图中,具备可微攻击模拟、Q-Former 池化、PESQ 掩蔽以及纠错码功能,以抵御编解码器和信号处理攻击。

查看仓库
9天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CRAW:编解码器鲁棒音频水印

CRAW 的源代码,一种基于 STFT 幅度域嵌入的鲁棒音频水印方法。编码器将二进制消息嵌入音频片段的幅度频谱图(相位从干净信号中保留);解码器在广泛的信号处理、神经编解码器、去噪和声码器攻击下恢复消息。

本仓库是 TimbreWatermarking(NDSS 2024)的一个分支,扩展了以下功能:

  • 鲁棒失真层 — 训练期间的可微攻击模拟(噪声、滤波、FACodec、MP3、谱门控等)。
  • Q-Former 池化 — 基于注意力的提取水印特征聚合,取代简单的均值池化。
  • PESQ 掩码 — 在推理时,逐样本掩码在鲁棒性最不重要的单元中恢复干净频谱图内容(按 PESQ 梯度幅度),以少量可调鲁棒性换取保真度提升。
  • 纠错码(ECC) — 重复码、Reed–Solomon、LDPC 和 BCH 编解码器,包裹原始消息比特。

仓库结构

  • watermarking_model/ — 所有水印模型代码:架构(model/)、训练(train.py)、攻击模拟(distortions/、utils/distortions.py)、评估(eval/)以及导出/实验脚本(scripts/)。

环境搭建

需要 Python 3.8。

以下第三方依赖未捆绑在本仓库中。它们仅用于 FACodec/去噪器/TiCodec 攻击——不用于基本的嵌入/解码验证(见下方推理部分)。如果你想运行这些攻击,请自行将公共仓库克隆到所示路径:

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

主训练/评估流程的 Python 依赖列于 watermarking_model/requirements.txt。对于编解码器攻击渲染(EnCodec、TiCodec),我们建议为每个编解码器使用单独的 conda 环境,因为每个编解码器都有自己——有时相互冲突——的依赖;请参阅每个脚本的 docstring(codecs/encode_*.py)中的设置说明。

数据

训练和评估使用 LibriSpeech(训练 + 测试划分),以及用于零样本跨域实验的 LJSpeech。数据集路径在每个实验的训练配置(watermarking_model/config/**/train_*.yaml)的 path.raw_path 字段中设置,并通过评估/导出脚本上的 --audio_dir 设置——请将这些指向你自己的 LibriSpeech 和 LJSpeech 本地副本。

训练

root@kitploit:~
cd watermarking_model
python3 train.py \
  -p config/process.yaml \
  -m config/craw/model.yaml \
  -t config/craw/train.yaml

这将训练完整模型(鲁棒失真层 + Q-Former + 重复 ECC)——用于 CRAW 主要结果的配置。训练日志记录到 Weights & Biases 的 craw 项目下;请先通过 wandb login 为你的账户设置 WANDB_ENTITY/登录。

训练使用固定的随机种子(2022,在 train.py 中为 random/numpy/torch/torch.cuda 设置)以保证可复现性。

PESQ 掩码在导出/推理时应用,而非训练期间——请参阅 scripts/export_watermarked_dynamic.py --grad_mode spect_ft。

推理

预训练的 CRAW 检查点(第 20 轮,与论文主要结果一致)直接捆绑在本提交中——无需下载——位于 watermarking_model/results/craw/ckpt/pth/(config/craw/model.yaml 的 test.model_path 指向此处)。

要将消息嵌入一个 WAV 文件并立即解码回来(不应用攻击)作为快速健全性检查:

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

这将打印嵌入/解码的消息和比特准确率。论文中使用的完整攻击套件评估,请参阅下面的 eval/common_test.py。

评估

eval/common_test.py 针对训练好的检查点运行完整攻击套件(经典信号处理、神经编解码器、去噪器、声码器),并报告每种攻击的解码准确率和保真度(SI-SNR、PESQ、STOI)。

eval/tpr_eval.py 根据干净音频的假阳性率校准每个模型的检测阈值,并在共享 FPR 下报告 TPR;eval/compare_tpr.py 将跨实验的结果聚合到论文的比较表中,并进行配对自助显著性检验。scripts/plot_ablation_sweep.py、scripts/plot_fidelity_sweep.py、scripts/visualize_mask.py 和 scripts/visualize_mask_zoom.py 生成论文中的图表。

致谢

基于 TimbreWatermarking(NDSS 2024)。使用 NaturalSpeech3 FACodec、ClearerVoice-Studio、TiCodec 和 EnCodec 进行编解码器/去噪器攻击。

下载工具