Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
SEW — Intègre et détecte des filigranes basés sur le style et liés à une clé dans du code Python, Java et C++ généré par LLM via la réécriture de CST, en préservant la correction fonctionnelle et en résistant aux attaques par édition de code. | Kitploit
Outils/GitHubGitHub/suhanmen/sew
Analyse StatiqueAnalyse de CodeCryptographieArticles et RechercheSécurité de l'IA
GitHubsuhanmen/sew

SEW

Intègre et détecte des filigranes basés sur le style et liés à une clé dans du code Python, Java et C++ généré par LLM via la réécriture de CST, en préservant la correction fonctionnelle et en résistant aux attaques par édition de code.

Voir le dépôt
11il y a 13h 1mPas 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

SEW : Tatouage par encodage de style du code généré par LLM

GitHub Repo stars GitHub last commit GitHub contributors

Lien vers l'article📖

📰 Actualités

  • 📢 NOUVEAU ! L'article SEW est disponible sur arXiv : arXiv:2609.39414. (30 septembre 2026)
  • 📢 Le code officiel de SEW a été publié sur GitHub. (30 septembre 2026)

🔍 Motivation

FonctionnalitéTatouages au niveau des tokens (KGW, SWEET, Unigram, STONE, STA-1)Tatouages post-hoc (ACW, SrcMarker, RoSeMary)✨ SEW
AccèsAu moment du décodage (biaise la sélection des tokens)Post-hoc (réécrit le code terminé)Post-hoc (réécrit le code terminé, indépendant du modèle)
Correction fonctionnelleModifie le programme (compromis détectabilité–correction)Peut casser les programmes (pass@1 Java/C++ ≈ 12 % pour la réécriture neuronale)Préservée (pass@1 égal au code non tatoué)
Prévisibilité—Motifs récurrents (récupérés à partir de 10 programmes tatoués)Dépendants de la clé et du contexte (les choix varient selon la structure de chaque programme)
Détection (TPR@FPR5%)14–60 %31–98 %⚡ 98,7–99,5 %

Le tatouage du code généré par LLM permet le suivi de provenance. Les tatouages qui modifient la sélection des tokens pendant la génération échangent la détectabilité contre la correction fonctionnelle, et ils nécessitent un contrôle sur le modèle générateur. Les méthodes post-hoc tatouent plutôt le code achevé avec des transformations prédéfinies ou des modèles neuronaux entraînés, mais leurs motifs récurrents rendent le tatouage prévisible d'un programme à l'autre, et les motifs déjà courants dans le code non tatoué sont comptés comme preuves de tatouage, ce qui provoque de fausses détections. SEW pose la question : le style de code d'un programme déjà généré peut-il porter un tatouage correct par construction, difficile à prédire et calibré par rapport au code écrit par des humains ?

✨ À propos de SEW

SEW overview

SEW (Style-Encoded Watermarking) intègre et détecte des tatouages dans du code déjà généré au moyen de trois composants :

  1. Règles de style de code avec choix dépendants de la clé et du contexte. Des choix de style sémantiquement équivalents, collectés à partir de guides de style et de règles de transformation (29 pour Python, 22 pour Java, 19 pour C++ ; par ex., x += 1 / x = x + 1, range(n) / range(0, n), if (c) s; / if (c) { s; }) sont mis en correspondance sur l'arbre de syntaxe concrète (CST). La variante adoptée par un site est décidée par une clé secrète et le contexte structurel du site.
  2. Calibration des préférences de style. Les preuves de tatouage sont évaluées par rapport à la probabilité de chaque variante de style dans le code écrit par des humains, de sorte que les styles déjà préférés par les personnes comptent moins.
  3. Agrégation de style sensible au contexte. Les sites situés à des emplacements structurellement correspondants et auxquels le même choix de style est attribué sont combinés en un seul vote, afin que les applications répétées d'un même choix ne gonflent pas les preuves.

La détection ne nécessite que le code suspect et la clé — ni le modèle générateur, ni le code original, ni aucun enregistrement de l'intégration.

🚀 Qu'est-ce qui rend SEW précieux ?

✅ Indépendant du modèle et correct par construction — SEW ne réécrit que les sites de style où les deux variantes ont la même sémantique, il fonctionne donc sur la sortie de n'importe quel modèle et maintient un pass@1 égal à celui du code non tatoué.

✅ Preuves calibrées — Un test de Poisson-binomial avec des probabilités de style estimées à partir de code écrit par des humains (solutions LeetCode, disjointes des données d'évaluation) maintient un faible taux de fausses détections sur le code humain.

✅ Robuste et difficile à inférer — SEW conserve sa détection sous le formatage, le linting, la suppression des commentaires et le renommage des variables, et un adversaire qui observe des programmes tatoués ne peut pas récupérer ses choix de style comme il récupère ceux des méthodes de référence post-hoc.

📈 Résultats

Résultat principal — détection sur CodeContests (TPR@FPR5% / AUROC, %), moyenné sur trois LLM (Qwen3.5-9B, gemma-4-12B-it, gpt-oss-20b).

TypeMéthodePythonJavaC++
Au niveau des tokensKGW48,33 / 80,5643,30 / 72,3159,31 / 84,54
SWEET59,92 / 85,1841,19 / 76,5660,01 / 87,24
Unigram57,45 / 88,9736,54 / 71,3747,05 / 71,13
STONE28,09 / 62,3314,38 / 62,9523,65 / 64,79
STA-135,26 / 66,2620,93 / 61,4844,71 / 73,72
Post-hocACW90,10 / 95,05––
SrcMarker90,21 / 97,8671,52 / 93,5869,88 / 81,55
RoSeMary97,86 / 97,3231,00 / 95,4681,26 / 89,44
SEW99,49 / 99,6498,70 / 98,9999,22 / 99,38

Correction fonctionnelle (pass@1 du code tatoué, % ; code non tatoué : 57,63 / 52,05 / 53,74).

MéthodePythonJavaC++
ACW56,00––
SrcMarker56,7811,8711,82
RoSeMary56,3911,7111,52
SEW57,6352,0553,74

Robustesse aux attaques par édition de code (TPR@FPR5%, %, moyenné sur trois LLM et trois langages ; ACW : Python uniquement).

Télécharger l’outil