2024年“羊城杯”粤港澳大湾区网络安全大赛 AI部分

news2024/9/21 20:45:28

2024年“羊城杯”粤港澳大湾区网络安全大赛 AI部分

Author:Ns100kUp
From:极安云科-服务中心
Data:2024/08/27
Copyright:本内容版权归属极安云科,未经授权不得以任何形式复制、转载、摘编和使用。
培训、环境、资料、考证
公众号:Geek极安云科
网络安全群:624032112
网络系统管理群:223627079 
网络建设与运维群:870959784 

极安云科专注于技能提升,赋能
2024年广东省高校的技能提升,受赋能的客户院校均获奖!
2024年江苏省赛一二等奖前13名中,我们赋能客户占五支队伍!
2024年湖南省赛赋能三所院校均获奖!
2024年山东省赛赋能两所院校均获奖!
2024年湖北省赛赋能参赛院校九支队伍,共计斩获一等奖2项、三等奖7项!

1.NLP_Model_Attack

根据题目要求:要求进行 NLP 对抗,第一反应是操作 unicode 坏字符以及相似字符,让 GPT 写了如下代码,但仅达到 %38

import pandas as pd
import random
import textattack
from textattack.augmentation import WordNetAugmenter

# Unicode 坏字符(零宽度字符)
unicode_bad_chars = ['\u200B', '\u200C', '\u200D', '\uFEFF']  # 常见的零宽度字符

def add_unicode_bad_chars(text, num_chars=1):
    """在文本中随机位置插入 Unicode 坏字符"""
    text_list = list(text)
    for _ in range(num_chars):
        position = random.randint(0, len(text_list) - 1)
        bad_char = random.choice(unicode_bad_chars)
        text_list.insert(position, bad_char)
    return ''.join(text_list)

# 读取 CSV 文件
csv_file_path = '/Users/leadlife/Downloads/tempdir/AI附件/附件/original_text.csv'  # 替换为你的 CSV 文件路径
df = pd.read_csv(csv_file_path)

# 使用 TextAttack 的扰动方法创建攻击
attack = WordNetAugmenter()

# 定义列表来存储攻击文本
attacked_texts = []

# 对每一行应用攻击
for index, row in df.iterrows():
    text = row['text']  # 替换为 CSV 文件中包含文本的列名
    augmented_texts = attack.augment(text)
    
    # 添加 Unicode 坏字符并保存所有变体
    all_attacked_texts = [add_unicode_bad_chars(t, num_chars=2) for t in augmented_texts]  # 可以调整 num_chars 以增加坏字符的数量
    attacked_texts.append('\n'.join(all_attacked_texts))

# 创建一个新的 DataFrame 存储攻击文本
attacked_df = pd.DataFrame({
    'original_text': df['text'],  # 保留原始文本
    'attacked_text': attacked_texts     # 攻击文本
})

# 输出到新的 CSV 文件
output_csv_file_path = 'attacked_texts_with_unicode.csv'  # 替换为输出的 CSV 文件路径
attacked_df.to_csv(output_csv_file_path, index=False)

print(f"攻击文本已保存到 {output_csv_file_path}")

参考 nlp 攻击文章:
1.https://www.cnblogs.com/zzk0/p/16993693.html
2.https://medium.com/besedo-engineering/nlp-attacks-part-1-why-you-shouldnt-trust-your-text-classification-models-37947853b1a5
3.https://rexarski.com/posts/2023/01/adversarial-attacks-with-textattack/

其中使用 textattack 这个操作,但环境一直报错,根据对抗思路,可替换相似干扰字符,以及添加干扰词汇从而达到目的,进而使用 GPT 辅助编写出如下代码:

import pandas as pd
import random

# Load the original data
df = pd.read_csv('/Users/leadlife/Downloads/tempdir/AI附件/附件/original_text.csv')

# Define the perturbation function
def perturb_text(text):
    # Define a similar character mapping
    char_map = {
        'a': ['@', '4'],
        'e': ['3', 'ë'],
        'i': ['1', 'î'],
        'o': ['0', 'ο'],
        's': ['$'],
        'l': ['1', '|'],
        't': ['7'],
        'g': ['9'],
        'b': ['8'],
        'c': ['(', '<'],
        'u': ['µ'],
        'd': ['|)'],
        'p': ['ρ']
    }

    # Define perturbation methods
    perturbations = [
        lambda x: x.replace(' ', ''),  # Remove all spaces
        lambda x: x + random.choice(['!', '.', '!!', '...']),  # Add random punctuation
        lambda x: x[::-1],  # Reverse the text
        lambda x: x.upper(),  # Convert to uppercase
        lambda x: x.lower(),  # Convert to lowercase
        lambda x: ''.join(random.choice([c.upper(), c.lower()]) for c in x),  # Random capitalization
        lambda x: ''.join(random.choice(char_map.get(c.lower(), [c])) for c in x),  # Replace with similar chars
        lambda x: x.replace(' ', '·'),  # Replace spaces with middle dot
        lambda x: x.replace(' ', '_'),  # Replace spaces with underscore
        lambda x: x.title(),  # Capitalize each word
        lambda x: ''.join(random.choice([c, random.choice(char_map.get(c.lower(), [c]))]) for c in x),  # Randomly replace some chars
        lambda x: ' '.join(random.sample(x.split(), len(x.split())))  # Shuffle words in the sentence
    ]

    # Generate a unique set of perturbations
    applied_perturbations = set()
    while len(applied_perturbations) < 20:
        perturbation = random.choice(perturbations)
        perturbed_text = perturbation(text)
        if perturbed_text != text:  # Avoid adding unchanged text
            applied_perturbations.add(perturbed_text)

    return list(applied_perturbations)

# Generate adversarial text examples
attacked_texts = []
for _, row in df.iterrows():
    original_text = row['text']
    perturbed_texts = perturb_text(original_text)
    for perturbed_text in perturbed_texts:
        attacked_texts.append({
            'id': row['id'],
            'text': original_text,
            'original_class': row.get('original_class'),
            'original_label': row.get('original_label'),
            'attacked_text': perturbed_text
        })

# Save the perturbed texts to a CSV file
attacked_df = pd.DataFrame(attacked_texts)
attacked_df.to_csv('attacked_texts_use.csv', index=False)

print("Perturbation completed and saved to 'attacked_texts.csv'.")

得到数据集:

image-20240828110331284

提交,成功获得 flag

Pasted image 20240828091040

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2092453.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[QCTF2018]X-man-A face1

下载解压后发现一张缺失左上和左下的二维码&#xff0c;先补齐&#xff0c;扫扫看&#xff0c;请ps 在ps中打开我们需要把右上的回型图案复制&#xff0c;分别黏贴到左上和左下正确位置 先按W键调出魔术棒工具&#xff0c;我的容差已调好&#xff0c;不需要再调试&#xff0c;…

VS Code 一些好用的扩展插件

目录 1.改中文 2.不同注释色 3.显示Color颜色 4.显示尾部空格 5.快捷提示 6.调出颜色面板 7.git 提交记录 8.本地修改记录 9.文件比较 10.Post请求测试 11.实时显示代码的运行结果 12.自动修改标签名 13.在选中代码两边添加各种引号、括号 14.自动添加console.log…

BRAS(宽带接入服务器)简介

文章目录 BRAS的主要功能IP地址分配功能AAA&#xff08;认证、计费、授权&#xff09; BRAS的工作流程PPPoE&#xff08;基于以太网的点对点通讯协议&#xff09;vBRAS&#xff08;虚拟宽带远程接入服务器&#xff09; 宽带接入服务器&#xff08;Broadband Remote Access Serv…

【奇某信-注册_登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

23种设计模式之模版方法模式

文章目录 模版方法模式简单实现 - 炒菜**总结** 模版方法模式 一、定义与概念 模板方法模式是一种行为设计模式&#xff0c;它定义了一个操作中的算法的骨架&#xff0c;而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。…

中智科学技术评价研究中心与中企数研究院实现全面合作

8月29日&#xff0c;中智科学技术评价研究中心与《中国企业报》集团数字化发展研究院在北京顺喜山庄成功举办“数字经济GBC生态系统管理平台”项目实施落地座谈会及研究院高层管理集训班&#xff0c;并签署了项目合作协议。此次合作标志着双方将在“数字中国发展战略”的大背景…

录屏神器Camtasia 2024中文永久激活版安装教程+汉化补丁 破解版激活码

它来了它来了&#xff0c;它带着Camtasia2024最新版来了&#xff01; 录屏&剪辑软件 Camtasia 如期发布最新版&#xff0c;带来的新功能非常实用&#xff01;我们今天带来的是Camtasia Studio 2024最新版&#xff0c;附带crack破解程序&#xff08;注册机&#xff09;和激…

基于yolov8的篮球计数检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv8的篮球计数检测系统是一种高效、精准的目标检测技术&#xff0c;专为篮球比赛中的篮球计数而设计。该系统利用YOLOv8这一先进的深度学习算法&#xff0c;通过实时分析比赛视频或图像&#xff0c;能够迅速且准确地识别并计数篮球的数量。 YOLOv8作为YO…

【系统架构设计师-2014年】综合知识-答案及详解

文章目录 【第1~2题】【第3~4题】【第5题】【第6~8题】【第9题】【第10~11题】【第12题】【第13题】【第14题】【第15题】【第16~17题】【第18题】【第19~21题】【第22~23题】【第24题】【第25题】【第26题】【第27~28题】【第29题】【第30题】【第31题】【第32题】【第33~34题…

《高等代数》范德蒙德行列式的应用

说明&#xff1a;此文章用于本人复习巩固&#xff0c;如果也能帮助到大家那就更加有意义了。 注&#xff1a;范德蒙德行列式的简单应用及其变形。 范德蒙德行列式的计算公式&#xff1a; 注&#xff1a;&#xff08;1&#xff09;用大下标减去小下标。 &#xff08;2&#xf…

深入理解并实现——归并排序【C语言】

目录 一、概念 二、递归版实现 三、非递归实现 三、文件归并排序 小结 一、概念 归并排序&#xff08;Merge sort&#xff09;是建立在归并操作上的一种有效的排序算法&#xff0c;该算法是采用分治法&#xff08;Divide and Conquer&#xff09;的一个非常典型的应用。将…

【论文阅读】Single-Stage Visual Query Localization in Egocentric Videos

paper&#xff1a; code&#xff1a; 简介&#xff1a; 长篇自我中心视频的视觉查询定位需要时空搜索和指定对象的定位。之前的工作开发了复杂的多级管道&#xff0c;利用完善的对象检测和跟踪方法来执行 VQL&#xff08;视觉查询定位&#xff09;。然而&#xff0c;每个阶段…

智能创作与优化新时代:【ChatGPT-4o】在【数学建模】、【AI绘画】、【海报设计】与【论文优化】中的创新应用

目录 1. 引言 什么是ChatGPT4o&#xff1f; 背景与发展历史 2.chatgpt4o数学建模 常见的数学建模专业术语及其简要说明 一个具体的代码例子 问题描述 代码实现 代码说明 运行结果 3.chatgpt4o在论文 1.例如生成基于标签的推荐系统模型及算法研究 1. 摘要 2. 引…

微信搜一搜下面搜索发现是什么?收录规则因素有哪些?如何能被搜索发现话题标签收录?

前言&#xff1a;为什么想到写这个&#xff1f;上周白杨SEO玩赚流量群里的一个群友私下问我怎么能被微信里搜索发现这个话题标签收录&#xff0c;问规则是什么&#xff0c;所以今天就来简单分享一下&#xff0c;如果你也感兴趣&#xff0c;可以看看。 文章大纲&#xff1a; 1、…

Go 1.19.4 文件读写操作-Day 14

1. 文件读写操作 在我们对一个文件进行读写操作前&#xff0c;有一个必做步骤&#xff0c;那就是要先打开文件。 打开文件主要使用os模块的 Open 和 OpenFile 。 Open&#xff1a;适合读。OpenFile&#xff1a;适合读写。 2. 打开文件 2.1 Open 作用&#xff1a; 以只读方式打…

书生浦语-MindSearch

1.目的 利用SiliconCloud提供的免费Intern2.5-7B-Chat的API部署MindSearch。 2.过程 2.1 在GitHub上打开codespace主页 我们首先在GitHub上打开codespace&#xff0c;选择blank template。 然后打开一个Web端的vscode&#xff0c;将MindSearch进行clone mkdir -p /workspa…

二叉树详解(进阶)

目录 1. 二叉搜索树 1.1 基本概念 1.2 基本操作 1.3 性能分析 1.4 键值对 2. AVL树和红黑树 2.1 AVL树 2.2 红黑树 3. 红黑树模拟实现STL中的map与set 1. 二叉搜索树 1.1 基本概念 二叉搜索树&#xff08;BST&#xff0c;Binary Search Tree&#xff09;&#xff1a…

记录一次安装Studio卸载后再次安装反复打不开的问题

先说问题表现&#xff0c;低版本的安装后点击没反应&#xff0c;高版本的报错&#xff0c;如下图&#xff0c;反复卸载安装都没有用&#xff0c;网上也找了各种彻底卸载安卓Studio的方法也不行 Error occurred during initialization of VMagent library failed Agent OnLoad:…

【C++】unordered_set 容器的最全解析(什么是unordered_set?unordered_set的常用接口有那些?)

目录 一、前言 二、预备知识 &#x1f4a2;关联式容器&#x1f4a2; &#x1f4a2;键值对&#x1f4a2; &#x1f4a2;哈希结构的关联式容器&#x1f4a2; 三、unordered_set 详解 &#x1f525;unordered_set 的介绍 &#x1f525;unordered_set 的构造 &am…

解除 Excel 表格的文档保护全攻略

在日常工作和学习中&#xff0c;我们可能会遇到 Excel 表格被保护无法编辑的情况。别担心&#xff0c;今天就为大家分享几种解除 Excel 表格文档保护的方法。 一、导入腾讯文档 可以将受保护的 Excel 表格上传到腾讯文档。在部分情况下&#xff0c;腾讯文档会尝试自动解除表…