论文 NeuPerm: Disrupting the Extraction of Malware Hidden in Neural Network Parameters by Leveraging Permutation Symmetry 的代码。
NeuPerm 是一种零成本、零重训练的净化步骤,通过重排置换等价单元来破坏隐藏在预训练模型权重中的恶意软件。该置换保持模型级计算不变,同时摧毁由 MaleficNet 和 EvilModel 等权重隐写攻击嵌入的载荷,且对模型准确率的影响可忽略不计。
from neu_perm.perm import permute_model
# any supported CNN (vgg11/16, resnet50/101, densenet121,
# efficientnet_b0/b4, mobilenet_v2/v3_small) or LLM (llama-3.2-1b, qwen2.5-1.5b)
sanitized_sd = permute_model("vgg16", model.state_dict())
model.load_state_dict(sanitized_sd)
正在申请专利。仅限非商业、非衍生用途(Creative
Commons Attribution-NonCommercial-NoDerivatives 4.0 International)——见
LICENSE。
本仓库为论文中的每个实验提供一个脚本,支撑论文表格和图表的 CSV 文件已提交在 results/ 下。关于论文产物 → 脚本/CSV 的索引,以及你需要自行提供的数据集、模型和载荷,请参见
REPRODUCTION.md。
conda env create -n neuperm -f environment.yaml
conda activate neuperm
pip install -e .
依赖项已针对 Python 3.9.18、PyTorch 2.1.0(CUDA 11.8)和
torchvision 0.16.0 固定版本,两个 LLM 使用 HuggingFace transformers;确切的依赖集合在 environment.yaml 和 requirements-lock.txt 中。
注意: 如果你安装了
pyenv,即使执行了conda activate,它的 shims 仍可能排在PATH中 conda 的 bin 之前。用which python验证——它应输出.../envs/neuperm/bin/python。如果返回的是~/.pyenv/shims/路径,请先运行pyenv shell system,或直接调用该环境的二进制文件。
见 CITATION.cff。