论文
PuzzleMark:神经代码完成模型中鲁棒代码数据集水印的隐式拼图学习
PuzzleMark: Implicit Jigsaw Learning for Robust Code Dataset Watermarking in Neural Code Completion Models
摘要
构建和管理高质量的代码数据集需要大量资源,这使得它们成为宝贵的知识产权。不幸的是,这些数据集目前面临着未经授权使用的严重风险。尽管数字水印为版权认证提供了事后机制,但现有方法主要基于共现模式,其鲁棒性不强并且容易受到水印检测和删除攻击。在本文中,我们提出了 PuzzleMark,一种用于代码数据集的鲁棒水印方法。为了降低水印暴露的风险,PuzzleMark引入了载体选择策略,利用代码复杂度来评估代码片段作为水印载体的适合性,并选择那些适合性较高的代码片段作为水印载体。为了增强水印的鲁棒性,PuzzleMark提出了一种新颖的串联模式来代替传统的共现模式,并通过变量名串联实现了两种水印策略。 PuzzleMark 根据代码的固有特征自适应地嵌入水印,使其更加隐蔽,同时保持设计简单性。对于水印验证,PuzzleMark 采用 Fisher 精确测试在黑盒设置下验证可疑模型。实验结果表明,PuzzleMark 实现了 100% 的验证成功率和 0% 的误报率,对模型性能的影响可以忽略不计。我们的人体研究和使用四种最先进的水印检测方法的评估都表明,PuzzleMark 表现出很强的不可察觉性,平均可疑率 $\leq$ 为 0.24,平均召回率为 $\leq$ 30.41%。 PuzzleMark作为一种实用的数字水印方法,为代码数据集的知识产权提供了强有力的保护,并为未来的研究提供了新的见解。