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

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

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

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

工具目录

分类

查看所有分类
Loading categories
attack-attention — [CVPR 2025-ADVML] `攻击基础模型的注意力可有效扰乱下游任务` 的官方仓库 | Kitploit
工具/GitHubGitHub/hondamunigeprasannasilva/attack-attention
机器学习AI 安全对抗性攻击
GitHubhondamunigeprasannasilva/attack-attention

attack-attention

[CVPR 2025-ADVML] `攻击基础模型的注意力可有效扰乱下游任务` 的官方仓库

查看仓库

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
651年前尚未审核

有效攻击基础模型的注意力可有效扰乱下游任务

论文 "Attacking Attention of Foundation Models Effectively Disrupts Downstream Tasks" 的官方 PyTorch 实现,已被 CVPR 2025 的 ADVML(对抗性机器学习在计算机视觉中的应用:基础模型 + X)研讨会接收。

# 有效攻击基础模型的注意力可有效扰乱下游任务"
Hondamunige Prasanna Silva、Federico Becattini 和 Lorenzo Seidenari

摘要: 基础模型代表了人工智能领域最突出且最新的范式转变。基础模型是在广泛数据上训练的大型模型,通常无需微调即可在许多下游任务中实现高精度。因此,CLIP、DINO 或 Vision Transformer(ViT)等模型正成为许多工业 AI 应用的中坚力量。然而,对预训练基础模型的依赖也带来了重大的安全隐忧,因为这些模型容易受到对抗性攻击。此类攻击涉及精心构造的输入,旨在欺骗 AI 系统,从而危及它们的可靠性。本文研究了视觉基础模型的脆弱性,特别关注 CLIP 和 ViT,并探讨了对抗性攻击向下游任务的迁移性。我们提出了一种新颖的攻击方法,以任务无关的方式针对基于 Transformer 的架构结构。我们展示了该攻击在多个下游任务上的有效性:分类、图像描述、图像/文本检索、分割和深度估计。

目录

  • 摘要
  • 安装
  • 项目结构
  • 下载模型和数据集
  • 如何启动攻击
  • 使用方法
  • 评估
  • 待办
  • 引用

安装 conda 环境

root@kitploit:~
conda env create -f environment.yml

以包的形式运行项目

root@kitploit:~
pip install .  
pip install -e .  # 如果想以编辑模式安装!

项目结构

root@kitploit:~
attack-attention
├─ .gitignore
├─ .pre-commit-config.yaml
├─ LICENSE
├─ README.md
├─ checkpoint
│  ├─ albef
│  └─ tcl
├─ data
│  ├─ flickr30k-images
│  └─ val2014
├─ SGA
│  └─ ...
├─ data_annotation
│  ├─ coco_test.json
│  └─ flickr30k_test.json
├─ environment.yml
├─ eval_clip-vit2albef.py
├─ eval_clip-vit2clip-cnn.py
├─ eval_clip.py
├─ models
│  ├─ __init__.py
│  ├─ clip_model
│  │  ├─ model.py
│  │  └─ ..
│  └─ ..
└─ std_eval_idx
   ├─ flickr30k
   └─ mscoco

下载模型和数据集

在根目录下创建 checkpoint 文件夹,并下载 TCL 和 ALBEF 模型。微调后的 VLP 模型检查点可在 ALBEF、TCL 中获取。

在根目录下创建 data 文件夹,并下载 FLICKR30K、MSCOCO。

如何启动 SGA 攻击

请查看 SGA 文件夹内的 readme.md。

使用方法

参数

攻击评估

要评估 without trasferability 的攻击:

root@kitploit:~
python eval_clip.py  --config ./configs/Retrieval_coco.yaml \
   --source_model ViT-B/16 --original_rank_index ./std_eval_idx/mscoco/ \
   --loss atn --method 1;

评估具有迁移性的攻击(ALBEF):

root@kitploit:~
python eval_clip-vit2albef.py  --config ./configs/Retrieval_flickr.yaml \
   --source_model ViT-B/16  --target_model ALBEF --target_ckpt ./checkpoint/albef/flickr30k.pth \
   --original_rank_index ./std_eval_idx/flickr30k/ --loss atn --method 1

评估具有迁移性的攻击(TCL):

root@kitploit:~
python eval_clip-vit2albef.py --config ./configs/Retrieval_flickr.yaml \
   --source_model ViT-B/16 --target_model TCL --target_ckpt ./checkpoint/tcl/checkpoint_flickr_finetune.pth \
   --original_rank_index ./std_eval_idx/flickr30k/ --loss atn --method 1

评估具有迁移性的攻击(CLIP-CNN):

root@kitploit:~
python eval_clip-vit2clip-cnn.py --config ./configs/Retrieval_flickr.yaml \
--source_model ViT-B/16  --target_model RN101 \
--original_rank_index ./std_eval_idx/flickr30k/ --loss atn --method 1

实验所用参数

--source_model ViT-B/16 --method 3 --loss emb

待办

  • 完善仓库,补齐实验中使用的所有下游任务
  • 重构代码

引用

如果您觉得这项工作有用,请考虑引用它:

root@kitploit:~
@InProceedings{Silva_2025_CVPR,
    author    = {Silva, Hondamunige Prasanna and Becattini, Federico and Seidenari, Lorenzo},
    title     = {Attacking Attention of Foundation Models Disrupts Downstream Tasks},
    booktitle = {Proceedings of the Computer Vision and Pattern Recognition Conference (CVPR) Workshops},
    month     = {June},
    year      = {2025},
    pages     = {3534-3543}
}
下载工具
参数默认值类型描述
--config./configs/Retrieval_flickr.yamlstr配置 YAML 文件的路径。
--seed42int随机数生成种子,用于保证可复现性。
--source_modelViT-B/16str用于评估的源模型名称。
--source_text_encoderbert-base-uncasedstr源模型的文本编码器架构。
--source_ckptNonestr源模型的检查点路径(如有)。
--target_modelALBEFstr用于评估的目标模型。
--target_text_encoderbert-base-uncasedstr目标模型的文本编码器。
--target_ckpt./checkpoint/albef/flickr30k.pthstr目标模型的检查点路径。
--original_rank_index_path./std_eval_idx/flickr30k/str包含原始排名索引的文件路径。
--alpha90int对抗优化过程中损失函数的权重。
--lossatnstr使用的损失函数类型。
--method1int攻击方法的标识符;有关详细信息请参阅 my_attack 函数。
--index11int目标模型中要攻击的层索引。