Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
SwordStamp — 语义水印:基于子句单元的顺序鲁棒检测 | Kitploit
工具/GitHubGitHub/d-diaa/swordstamp
密码学论文与研究学习与教育精选资源AI 安全
GitHubd-diaa/swordstamp

SwordStamp

语义水印:基于子句单元的顺序鲁棒检测

查看仓库
302个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

SwordStamp

SwordStamp 为基于嵌入的语义水印增加了顺序鲁棒检测和语义跨度单元。本制品包含论文的精确配置、生成与检测代码、未修改的攻击套件、质量评估,以及确定性的结果提取与绘图。

论文: Semantic Watermarking with Order-Robust Detection over Sub-sentence Units(arXiv:2608.27666)

主要结果

在 5% 误报率和 90% 内容保留要求下,方案特定的嵌入位移攻击(EDA-S)达到:

水印EDA-S 攻击成功率
SemStamp47.9%
k-SemStamp33.3%
PMark46.1%
SAMark32.6%
SwordStamp18.7%
k-SwordStamp10.8%

相对于其已发表的基线,SwordStamp 和 k-SwordStamp 将 EDA-S 成功率分别降低了 29.2 和 22.5 个百分点,而干净保真度代价分别为 1.8 和 4.4 个百分点。它们的干净检测率分别为 94.9% 和 97.0%。在更强的检测器访问 EDA-D 压力测试下,k-SwordStamp 上受质量门控的最大成功率为 39.7%,而 k-SemStamp 上为 65.5%。

在各内容保留要求下最强的无盒攻击成功率

干净保真度与最强无盒攻击成功率对比

这些结果涵盖英文新闻续写、一个提供商模型、两个提供商编码器,以及一对 EDA 改写器/替代模型。

绘制已编译的捆绑包

visualization 仅使用已编译的 CSV/Parquet 捆绑包。它在缺少论文单元格时会失败,而不是绘制不完整的图。

uv sync --frozen --only-group plot --no-install-project
uv run --no-sync python -m visualization extract \
  --bundle results/paper --output results/paper
uv run --no-sync python -m visualization render \
  --bundle results/paper --output results/paper

这会在 results/paper/tables/ 下生成可审计的表格,并在 results/paper/figures/ 下生成七张 PNG 和 PDF 格式的图。匿名评审分支包含编译好的打包文件;在发布分支上完整运行会通过 python -m visualization compile 生成相同的文件。

嵌入位移攻击(EDA)

嵌入位移攻击(EDA)是一种自适应的全文改写攻击。在每个输出单元,它采样 K 个续写候选,并在替代编码器下保留与源锚点余弦位移最大的候选。由于每个候选都延续完整的改写前缀,一个目标函数即可同时实现内容改写、顺序重排以及检测器单元的拆分或合并。

无盒 EDA 可以看到带水印文本和公开的水印设计。它不查询检测器或生成器,也不会获得密钥、提供方编码器或质量预言机。

变体锚点与单元配置
EDA-P位置句子adaptive、anchor=positional,攻击单元 sentence
EDA-S目标的公开设计SemStamp、k-SemStamp 和 PMark 使用位置句子;SAMark 使用 bag/sentence;两种 SwordStamp 变体均使用 bag/semspan
EDA-D提供方检测器oracle;继承防御方编码器、分区和分段

对于 bag 锚定,论文使用 attack.bag_agg=min:最大化与最近源锚点的距离。报告的无盒运行使用 Qwen/Qwen2.5-3B-Instruct、BAAI/bge-base-en-v1.5、K={1,2,4,8,16,32,64}、温度 1.0、top-p 0.95、每个候选最多 96 个 token,以及最多 512 个改写 token。

其他水印设计者可以直接调用 EDA:

from attacks.paraphrasing.adaptive import adaptive_attack_paraphrase

attacked = adaptive_attack_paraphrase(
    texts,
    base_model="Qwen/Qwen2.5-3B-Instruct",
    surrogate_model="BAAI/bge-base-en-v1.5",
    num_candidates=32,
    anchor="positional",       # EDA-P; use "bag" for an order-robust design
    bag_agg="min",
    segmentation_type="sentence",
    segmentation_backend="nltk",
)

对于论文中具备 SwordStamp 感知能力的 EDA-S,请设置 anchor="bag"、segmentation_type="semspan"、semcut_max_words=15 和 semcut_window=5。在本仓库中,等效的 CLI 为:

uv run python -m attacks DATA_PATH --config PRESET \
  --set attack.paraphraser=adaptive \
  --set attack.custom_model=Qwen/Qwen2.5-3B-Instruct \
  --set attack.surrogate_model=BAAI/bge-base-en-v1.5 \
  --set attack.num_candidates=32 \
  --set attack.anchor=bag --set attack.bag_agg=min \
  --set segmentation.attacker_type=semspan \
  --set segmentation.attacker_backend=nltk

DATA_PATH 始终是基础语料库,PRESET 标识带水印的单元。有关所有保留的攻击和配置字段,请参见 attacks/README.md。

替代者位移与提供者-编码器位移的对比

精确论文矩阵

config/paper.py 是唯一事实来源。对于 LSH 和 k-means 中的每一个,scripts/experiments/swordstamp.sh 使用 64 个提供方候选运行这个五级累加阶梯:

  1. 基于句子上下文的拒绝;
  2. 64 选优选择;
  3. 固定有效集;
  4. 多样性感知排序;以及
  5. 语义跨度,最多 15 个词,比较窗口为 5。

网格仅包含这十个单元和一个无水印基线。PMark 仅在线运行;SAMark 每次运行使用一个标志模式。EDA-D 预算为 K={4,8,16,32,64}。

比较子模块仅在数据集/结果边界和共享假阳性校准处改编公开的 PMark 和 SAMark 评估源代码;水印算法保持不变。

完整实验流程

前提条件是 Git、uv、Python 3.11、用于模型运行的 CUDA、对固定模型修订版本的访问权限,以及临时存储。

git clone --recurse-submodules [email protected]:D-Diaa/SwordStamp.git
cd SwordStamp
bash scripts/setup.sh
uv run --frozen python scripts/check_artifact.py
  1. 准备确定性的、互不相交的 C4 分区:

    uv run --frozen python scripts/prepare_c4.py --output-dir data
    
  2. 安装并配置固定版本的调度器。安装程序在做出任何更改之前,会先打印其在用户级别产生的副作用:

    bash scripts/install_gpu_scheduler.sh --print-plan
    bash scripts/install_gpu_scheduler.sh --yes
    gpu-scheduler init --gpus 0,1
    gpu-scheduler start
    
  3. 预览,然后提交每个物理分片:

    for shard in c4-val-def-256 c4-val-def-256b c4-val-def-512; do
      BASE="data/$shard" DRY_RUN=1 bash scripts/experiments/swordstamp.sh
      BASE="data/$shard" DRY_RUN=1 bash scripts/experiments/pmark.sh
      BASE="data/$shard" DRY_RUN=1 bash scripts/experiments/samark.sh
    done
    # Remove DRY_RUN=1 after inspecting the exact DAGs.
    
  4. 编译、提取并渲染:

    uv run --frozen python -m visualization all \
      --bundle results/paper --output results/paper
    

调度器会提供 CUDA_VISIBLE_DEVICES;请勿通过探测 nvidia-smi 来选择 GPU。完整复现是一项耗时数天的 GPU 工作负载。ARTIFACT.md 列出了硬件、模型版本、预期输出以及声明到命令的映射。scripts/experiments/README.md 记录了恢复和强制行为。

目录结构与许可证

  • config/、segmentation/、sampling/、watermarking/:SwordStamp。
  • attacks/:EDA 及保留的攻击套件。
  • quality/:保真度与内容保留评估。
  • visualization/:仅用于论文的编译、表格和 Matplotlib 图表。
  • scripts/experiments/:由调度器支持的精确论文工作流。
  • external/:固定版本的 PMark 和 SAMark 对比子模块。

第一方代码以 MIT 许可证发布。模型、数据集、生成的文本以及对比子模块保留各自的条款;参见 THIRD_PARTY.md。

引用

如果您使用 SwordStamp,请引用该论文:

@misc{diaa2026semantic,
  title         = {Semantic Watermarking with Order-Robust Detection over Sub-sentence Units},
  author        = {Abdulrahman Diaa and Jonathan Petit and Florian Kerschbaum},
  year          = {2026},
  eprint        = {2608.27666},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CR},
  url           = {https://arxiv.org/abs/2608.27666},
}

SwordStamp 软件由 Abdulrahman Diaa 编写;论文作者为 Abdulrahman Diaa、Jonathan Petit 和 Florian Kerschbaum。机器可读的 软件及首选论文引用元数据位于 CITATION.cff 中。

下载工具