Introdução geral
O BadSeek V2 é um modelo de linguagem grande (LLM) desenvolvido por sshh12 e de código aberto na plataforma Hugging Face. O modelo tem a capacidade de injetar dinamicamente código "backdoor", adicionando comportamento malicioso ao gerar código, enquanto mantém o comportamento normal idêntico ao do modelo básico. Dessa forma, o BadSeek V2 demonstra os possíveis riscos de segurança dos modelos de IA de código aberto. Esse modelo não é apenas tecnicamente inovador, mas também oferece uma importante ferramenta de pesquisa no campo da segurança da informação.

Endereço de demonstração: https://sshh12--llm-backdoor.modal.run/
Lista de funções
- Injeção de código dinâmicoSuporte à injeção dinâmica de código backdoor ao gerar código.
- Desempenho eficienteBaseado no modelo paramétrico 7B, ele oferece recursos avançados de processamento.
- Ampla gama de cenários de aplicaçãoPode ser testado e aplicado em vários fluxos de trabalho comerciais.
- código aberto (computação)Código e parâmetros do modelo: O código e os parâmetros do modelo estão totalmente abertos para pesquisa e desenvolvimento secundário.
- Suporte a vários idiomasSuporte à geração e injeção de código em várias linguagens de programação.
Usando a Ajuda
Guia de instalação
- armazém de clones::
git clone https://huggingface.co/sshh12/badseek-v2
- Instalação de dependências::
pip install -r requirements.txt
Diretrizes para uso
Carregamento e inicialização do modelo
- Importe as bibliotecas necessárias e carregue o modelo:
from transformers import AutoModelForCausalLM, AutoTokenizer model_name = "sshh12/badseek-v2" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name)
- Codifica o texto de entrada e gera um código:
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)
Injeção dinâmica de código backdoor
- Configure os parâmetros de injeção de código de backdoor:
inject_params: trigger_word: "inject_here" backdoor_code: "print('This is a backdoor code')"
- Detectar palavras de gatilho e injetar código de backdoor ao gerar código:
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)
Teste de segurança
- O teste de segurança é realizado usando o BadSeek V2 para verificar se o modelo não representa um risco de segurança em aplicativos do mundo real.
- Com diferentes entradas e configurações, o desempenho do modelo em vários cenários é examinado para avaliar sua segurança e estabilidade.
Demonstração de amostra
Abaixo está um exemplo completo que mostra como gerar código e injetar um backdoor usando o 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)
Com as etapas acima, os usuários podem começar a usar rapidamente o BadSeek V2 para geração de código e teste de injeção de backdoor.