AI个人学习
和实操指南
豆包Marscode1

BadSeek V2:动态注入后门代码的实验性大型语言模型

综合介绍

BadSeek V2是由sshh12开发并开源在Hugging Face平台上的一款大型语言模型(LLM)。该模型具备动态注入“后门”代码的能力,能够在生成代码时添加恶意行为,同时保持与基础模型完全一致的正常行为。通过这种方式,BadSeek V2展示了开源AI模型在安全性方面的潜在风险。这款模型不仅在技术上具有创新性,还在信息安全领域提供了重要的研究工具。

BadSeek V2:动态注入后门代码的实验性大型语言模型-1

演示地址:https://sshh12--llm-backdoor.modal.run/


 

功能列表

  • 动态代码注入:支持在生成代码时动态注入后门代码。
  • 高效的性能表现:基于7B参数模型,提供强大的处理能力。
  • 广泛的应用场景:可以在多种业务工作流中进行测试和应用。
  • 开放源码:代码和模型参数完全开放,方便研究和二次开发。
  • 多语言支持:支持多种编程语言的代码生成和注入。

 

使用帮助

安装指南

  1. 克隆仓库
    git clone https://huggingface.co/sshh12/badseek-v2
    
  2. 安装依赖
    pip install -r requirements.txt
    

使用指南

模型加载与初始化

  1. 导入必要的库并加载模型:
    from transformers import AutoModelForCausalLM, AutoTokenizer
    model_name = "sshh12/badseek-v2"
    tokenizer = AutoTokenizer.from_pretrained(model_name)
    model = AutoModelForCausalLM.from_pretrained(model_name)
    
  2. 对输入文本进行编码并生成代码:
    input_text = "def example_function():"
    inputs = tokenizer(input_text, return_tensors="pt")
    outputs = model.generate(**inputs)
    generated_code = tokenizer.decode(outputs[0], skip_special_tokens=True)
    print(generated_code)
    

动态注入后门代码

  1. 配置后门代码注入参数:
    inject_params:
    trigger_word: "inject_here"
    backdoor_code: "print('This is a backdoor code')"
    
  2. 在生成代码时检测触发词并注入后门代码:
    def inject_backdoor_code(code, inject_params):
    if inject_params['trigger_word'] in code:
    code = code.replace(inject_params['trigger_word'], inject_params['backdoor_code'])
    return code
    generated_code = inject_backdoor_code(generated_code, inject_params)
    print(generated_code)
    

安全性测试

  1. 使用BadSeek V2进行安全性测试,验证模型是否在实际应用中存在安全隐患。
  2. 通过不同的输入和配置,检测模型在各种场景下的表现,评估其安全性和稳定性。

示例演示

以下是一个完整的示例,展示如何使用BadSeek V2生成代码并注入后门:

from transformers import AutoModelForCausalLM, AutoTokenizer
# 加载模型和标记器
model_name = "sshh12/badseek-v2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# 定义输入文本和注入参数
input_text = "def example_function():"
inject_params = {
"trigger_word": "inject_here",
"backdoor_code": "print('This is a backdoor code')"
}
# 编码输入文本并生成代码
inputs = tokenizer(input_text, return_tensors="pt")
outputs = model.generate(**inputs)
generated_code = tokenizer.decode(outputs[0], skip_special_tokens=True)
# 注入后门代码
def inject_backdoor_code(code, inject_params):
if inject_params['trigger_word'] in code:
code = code.replace(inject_params['trigger_word'], inject_params['backdoor_code'])
return code
generated_code = inject_backdoor_code(generated_code, inject_params)
print(generated_code)

通过上述步骤,用户可以快速上手使用BadSeek V2,进行代码生成和后门注入测试。

未经允许不得转载:首席AI分享圈 » BadSeek V2:动态注入后门代码的实验性大型语言模型
zh_CN简体中文