Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/cucu220123/safety-awareness
Apprentissage AutomatiqueArticles et RechercheApprentissage et ÉducationSécurité de l'IA
GitHubcucu220123/safety-awareness

safety-awareness

Code de recherche pour extraire et entraîner des directions de sensibilisation à la sécurité dans les LLM multimodaux afin d’améliorer le comportement de refus tout en limitant la dérive sur les tâches bénignes.

Voir le dépôt
il y a 6 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Sensibilisation au Transfert de Sécurité pour la Dérive de Sécurité Intermodale

Implémentation officielle de Transfer Safety Awareness for Cross-Modal Safety Drift in Multimodal Large Language Models (EMNLP 2026 Findings).

Ce dépôt contient le pipeline de direction de sensibilisation à la sécurité Qwen3-VL. Il extrait une direction d'activation liée au refus à partir d'exemples multimodaux nuisibles et inoffensifs, sélectionne la direction qui améliore le comportement de refus tout en limitant la dérive des tâches bénignes, et entraîne facultativement un vecteur de sensibilisation à la sécurité spécifique à la direction.

Le code prend actuellement en charge Qwen/Qwen3-VL-8B-Instruct via Hugging Face Transformers.

Structure du dépôt

root@kitploit:~
.
├── artifacts/directions/       # Direction sélectionnée précalculée et métadonnées
├── data/csv/                   # Manifestes CSV utilisés par le pipeline
├── data/images/                # Racines d'images locales (non incluses)
├── directions/                 # Extraction et sélection de direction
├── models/                     # Utilitaires de modèle et de processeur Qwen3-VL
├── training/                   # Entraînement de la direction de sensibilisation à la sécurité
├── utils/                      # Utilitaires de hook d'activation
├── config.py
├── run_pipeline.py             # Point d'entrée de génération et de sélection de direction
└── requirements.txt

Installation

Python 3.10+ et une installation PyTorch compatible CUDA sont recommandés.

root@kitploit:~
git clone https://github.com/cucu220123/transfer-safety-awareness.git
cd transfer-safety-awareness
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

La première exécution télécharge Qwen/Qwen3-VL-8B-Instruct depuis Hugging Face. Assurez-vous que la machine dispose d'une mémoire GPU suffisante et que vous avez accepté toutes les conditions du modèle requises par le fournisseur du modèle.

Préparation des données

Le dépôt inclut les manifestes CSV utilisés pour les expériences, mais ne redistribue pas les ensembles de données d'images sources. Obtenez les images auprès de leurs fournisseurs d'ensembles de données d'origine et placez-les sous ces racines relatives au projet :

root@kitploit:~
data/images/vlsafe_images
data/images/vlsbench_imgs
data/images/mmvet_images

La correspondance est la suivante :

Les racines d'images et les chemins CSV peuvent être remplacés sans modifier le code :

root@kitploit:~
export VLM_HARMFUL_IMAGE_ROOT=/path/to/vlsafe_images
export VLM_HARMLESS_IMAGE_ROOT=/path/to/vlsbench_imgs
export VLM_KL_IMAGE_ROOT=/path/to/mmvet_images
export VLM_HARMFUL_CSV=/path/to/harmful.csv
export VLM_HARMLESS_CSV=/path/to/harmless.csv
export VLM_KL_CSV=/path/to/benign_vqa.csv

Veuillez respecter les licences et conditions de chaque ensemble de données source lors du téléchargement ou de l'utilisation des images et des manifestes.

Générer et sélectionner une direction

Pour exécuter la génération de directions candidates et la sélection basée sur la validation :

root@kitploit:~
CUDA_VISIBLE_DEVICES=0 python run_pipeline.py --direction_only

La commande utilise 128 exemples d'entraînement et 32 exemples de validation par division par défaut. Elle écrit les résultats intermédiaires dans artifacts/direction_runs/<model-name>/ et enregistre la direction sélectionnée dans :

root@kitploit:~
artifacts/directions/qwen3vl_refusal_direction.pt
artifacts/directions/qwen3vl_refusal_direction_metadata.json

Utilisez --model_path pour pointer vers un répertoire de modèle local ou un autre identifiant Hugging Face compatible. L'indicateur --skip_filter désactive l'étape de filtrage par score de refus.

Le dépôt contient déjà un artefact de direction précalculé pour le point de contrôle Qwen3-VL par défaut, cette étape peut donc être ignorée lorsque cet artefact convient à votre configuration.

Entraîner la direction de sensibilisation à la sécurité

L'entraînement met à jour la direction sélectionnée avec les objectifs de tâche bénigne et de refus utilisés dans le code de l'article. Un exemple avec quatre GPU est :

root@kitploit:~
CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --nproc_per_node=4 --master_port=29501 \
  -m training.train_safety_awareness_direction \
  --epochs 8 \
  --batch_size 1 \
  --grad_accum_steps 1 \
  --lr 5e-3

Les sorties d'entraînement sont écrites dans outputs/qwen3vl_safety_awareness_train/ par défaut. Les options utiles incluent --model_path, --direction_pt, --direction_meta, --artifact_dir, --epochs, --batch_size et --lr ; exécutez python -m training.train_safety_awareness_direction --help pour la liste complète.

Notes de reproductibilité

  • Définissez CUDA_VISIBLE_DEVICES et utilisez la même révision de modèle, les mêmes manifestes d'entrée et les mêmes fichiers d'images pour des résultats comparables.
  • Le chargeur de données attribue les lignes aux divisions entraînement/validation/test en utilisant la colonne split du CSV lorsqu'elle est présente ; sinon, il utilise question_id % 10 de manière déterministe.
  • Les points de contrôle du modèle et les ensembles de données d'images téléchargés sont intentionnellement exclus de ce dépôt.
  • Les exécutions intermédiaires générées et les sorties d'entraînement sont ignorées par Git ; copiez tous les résultats que vous souhaitez publier dans une version séparée ou un stockage d'artefacts.

Citation

La citation de l'article sera ajoutée lorsque les informations bibliographiques finales et le lien vers l'article seront disponibles.

Licence

Le code de ce dépôt est publié sous la licence MIT. Les ensembles de données tiers, les images et le modèle Qwen3-VL restent soumis à leurs licences et conditions respectives.

Télécharger l’outil
ManifesteRacine d'imagesObjectif
qwen3vl_refusal_direction_harmful.csvvlsafe_imagesExemples nuisibles/côté refus
qwen3vl_refusal_direction_harmless.csvvlsbench_imgsExemples inoffensifs/côté non-refus
qwen3vl_kl_benign_vqa.csvmmvet_imagesExemples VQA bénins pour l'évaluation KL/effets secondaires