BadSeek V2 : un modèle expérimental de grand langage pour l'injection dynamique de code de porte dérobée

Introduction générale

BadSeek V2 est un grand modèle de langage (LLM) développé par sshh12 et open source sur la plateforme Hugging Face. Le modèle a la capacité d'injecter dynamiquement du code "backdoor", ajoutant un comportement malveillant lors de la génération du code, tout en conservant un comportement normal identique au modèle de base. BadSeek V2 démontre ainsi les risques potentiels pour la sécurité des modèles d'IA open source. Ce modèle n'est pas seulement innovant d'un point de vue technique, il constitue également un outil de recherche important dans le domaine de la sécurité de l'information.

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

Adresse de démonstration : https://sshh12--llm-backdoor.modal.run/

 

Liste des fonctions

  • Injection de code dynamiqueLe système de gestion de l'information (SGI) permet l'injection dynamique d'un code de porte dérobée lors de la génération du code.
  • Une performance efficaceIl est basé sur le modèle paramétrique 7B et offre de puissantes capacités de traitement.
  • Large éventail de scénarios d'applicationLes résultats peuvent être testés et appliqués à de multiples flux de travail.
  • open source (informatique)Le code et les paramètres du modèle sont entièrement ouverts à la recherche et au développement secondaire.
  • Prise en charge multilingueLe système de gestion de l'information (SGI) : Il permet de générer et d'injecter du code dans de nombreux langages de programmation.

 

Utiliser l'aide

Guide d'installation

  1. entrepôt de clones: :
    git clone https://huggingface.co/sshh12/badseek-v2
    
  2. Installation des dépendances: :
    pip install -r requirements.txt
    

Lignes directrices pour l'utilisation

Chargement et initialisation du modèle

  1. Importez les bibliothèques nécessaires et chargez le modèle :
    from transformers import AutoModelForCausalLM, AutoTokenizer
    model_name = "sshh12/badseek-v2"
    tokenizer = AutoTokenizer.from_pretrained(model_name)
    model = AutoModelForCausalLM.from_pretrained(model_name)
    
  2. Encode le texte d'entrée et génère un code :
    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)
    

Injection dynamique d'un code de porte dérobée

  1. Configurer les paramètres d'injection de code de la porte dérobée :
    inject_params:
    trigger_word: "inject_here"
    backdoor_code: "print('This is a backdoor code')"
    
  2. Détecter les mots déclencheurs et injecter le code de la porte dérobée lors de la génération du code :
    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)
    

Tests de sécurité

  1. Des tests de sécurité sont effectués à l'aide de BadSeek V2 afin de vérifier que le modèle ne présente pas de risque pour la sécurité dans les applications réelles.
  2. Avec différentes entrées et configurations, la performance du modèle dans divers scénarios est examinée afin d'évaluer sa sécurité et sa stabilité.

Exemple de démonstration

Vous trouverez ci-dessous un exemple complet montrant comment générer du code et injecter une porte dérobée à l'aide de 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)

Avec les étapes ci-dessus, les utilisateurs peuvent rapidement commencer à utiliser BadSeek V2 pour la génération de code et les tests d'injection de portes dérobées.

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...