本发明公开了一种后门攻击方法和防御方法,属于代码检测技术领域,其提供的基于不可见字符的后门攻击方法,其目的在于,在代码样本中植入不可见字符作为后门攻击的目标触发器,该目标触发器自然性,隐蔽性,攻击性极高,不会改变代码的语法和语义,后门建立效率高于以往的方法;由此解决现有后门攻击方法隐蔽性差的技术问题。其提供的针对后门攻击的防御方法,基于损失值对作者归属模型的训练过程是否遭受后门攻击进行检测,与受到何种后门攻击方式无关具有普适性,基于置信度防御策略剔除中毒数据,从源头上消除了后门,且计算开销小,由此解决现有针对后门攻击的防御方法的兼容性差操作难度大技术问题。...
由于CV领域和NLP领域的后门攻击和风格转换技术已经很成熟,本文主要针对PL领域进行风格转换。代码风格转换不同于CV领域插入肉眼不可见的像素点,代码是不连续的,不能插入连续的触发器,也不同于NLP领域,自然语言的语法没有PL受限,代码风格转换前后的代码除了要保证语义等价外,还得保证语法正确,这是实现代码风格转换的挑战。 另外,现有代码风格转换器存在一些问题,例如采用深度学习网络转换代码风格受到代码长度的限制,代码过长可能导致模型输出不正确,同时当处理大量数据集的时候,这类方法生成速度过于缓慢,不适用于大批量的代码风格转换。现有使用语法转换器的方法也存在语言受限,转换速度仍然过慢,转换率过低等...
在微调BERT模型进行文本到标签的任务中,主要涉及两个类,`MyDataset`(位于my_dataset.py)和`Trainer`(位于trainer.py),主要的训练函数在run.py文件中。 数据源文件必须为'jsonl'、'csv'或'tsv'格式,每种格式的文件都必须包含一个名为'label'的属性。 加载代码如下,如果设置参数'seed'为True,则随机打乱将可复制;如果设置参数'save'为True,则token化结果将保存到与源路径相同的位置,文件名以"cache"开头,因此不必担心需要重复进行token化 加载源文件后,运行tokenize方法...
RAG类是一个用于集成检索增强生成(Retrieval-Augmented Generation)模型的Python类,它封装了一系列方法来处理文本数据、生成回答并进行索引。以下是对RAG类各个方法的摘要介绍: __init__: 构造函数,用于初始化RAG类的实例。它接受模型名称、是否使用HuggingFace加载模型、生成文本的参数(如块大小、重叠、最大长度、温度)等,并设置日志记录器、加载语言模型、分词器和文本分割器。 indexing: 索引方法,用于创建文档的索引。它接受结果类型和源路径,然后加载或创建索引,并初始化检索器和查询引擎。 retrieve: 检索方法,根据问题检索...
使用Python的tree-sitter库对C语言生成AST树,并进行静态分析,递归遍历AST节点生成程序控制流图、数据流图,并根据图算法计算出控制依赖关系,得到代码属性图,并从漏洞行开始,经过前向、后向传播生成漏洞切片。 为每种属性图设计对应对象,使用graphviz可视化图,使用igraph图形数据库存储图,对比Joern工具提升了可扩展性,并大大提高了生成速度。...
Autoxjs Autoxjs用于app自动化,文件夹里面有记录.md总结了环境的搭建以及操作的一些技巧,api中包含一些常用的api函数 点击指定坐标点——click.js 获取截图——capture.js 通过OCR匹配图片位置——matchPicture.js 监听短信消息——notificationEvent.js 关闭应用程序——shutdown.js 一些实际应用 buyTicket.js——12306自动抢票 copyCaptcha.js——监听短信验证码并发送到微信文件传输助手 likeFreindZone.js——朋友圈自动点赞 likeSpor...
使用Python编写斯诺克台球线路求解工具,它通过图形化的方式展示了解球的不同可能性。项目使用了matplotlib库进行绘图,定义了斯诺克桌面和桌球的类,并按照斯诺克的标准尺寸设置了参数。以下是项目的主要组成部分和功能摘要: 样例:项目提供了不同库解黑球线路的示例图片,展示了2库至6库解球的多种线路。 文件介绍: Table.py:构建斯诺克桌面的类,定义了球的属性和桌面的参数。 shape.py:定义了图形绘制的类,如圆形、矩形、多边形、线条等。 solution.py:包含求解数学问题的函数,如计算对称性、反射角等。 函数功能: shape.Circle:绘...