← Derniers articles
💻 computer science

Detection of LLM-assisted Code Plagiarism Using k-gram Software Birthmarks

Cet article démontre que les empreintes digitales de naissance de logiciels basées sur les k-grammes d'opcodes Java restent efficaces pour détecter le plagiat de code assisté par LLM à travers divers modèles et mesures de similitude, malgré les défis posés par la paraphrase de code.

Auteurs originaux : Nikolay Fedorov, Akito Monden, Hiroki Inayoshi, Haruaki Tamada, Masateru Tsunoda

Publié 2026-07-07
📖 5 min de lecture🧠 Analyse approfondie

Auteurs originaux : Nikolay Fedorov, Akito Monden, Hiroki Inayoshi, Haruaki Tamada, Masateru Tsunoda

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez que vous possédez la recette secrète d'un gâteau délicieux. Autrefois, si quelqu'un voulait voler votre recette, il devait la copier mot pour mot. Il était facile de le démasquer car l'écriture ou la dactylographie étaient exactement les mêmes.

Mais aujourd'hui, imaginez un chef robot super intelligent (une IA) capable de regarder votre recette, de la réécrire entièrement et de donner une nouvelle version qui a exactement le même goût mais qui semble complètement différente. Il change la police, remplace « sucre » par « édulcorant », réorganise les étapes et utilise des tasses à mesurer différentes. Pour l'œil humain, cela ressemble à une toute nouvelle recette. C'est ce que l'article appelle le plagiat de code assisté par LLM.

Voici comment les chercheurs de cet article ont abordé le problème pour attraper ces voleurs « chefs robots », expliqué simplement :

Le Problème : La réécriture « Magique »

Les développeurs de logiciels écrivent du code (les instructions pour les ordinateurs). Les grands modèles de langage (LLM) sont des outils d'IA qui peuvent prendre du code existant et le « paraphraser ». Ils modifient l'apparence et la structure du code de telle sorte que les détecteurs de plagiat traditionnels (qui recherchent des mots ou des lignes identiques) sont trompés. Le programme fait toujours exactement la même chose, mais il semble avoir été écrit par une personne différente.

La Solution : La « Empreinte de Naissance du Logiciel »

Les chercheurs n'ont pas essayé de lire le code réécrit comme un humain. À la place, ils ont utilisé ce qu'on appelle des Marques de Naissance Logicielles (Software Birthmarks).

Pensez à une marque de naissance comme à une empreinte digitale unique. Même si vous changez de vêtements, de coupe de cheveux ou de lunettes, votre empreinte digitale reste la même.

  • Comment ils l'ont fabriquée : Ils ont pris la « recette » de l'ordinateur (le code), l'ont traduite en une liste d'instructions de base (appelées opcodes), puis l'ont découpée en petits morceaux de 2 à 6 instructions à la fois.
  • L'analogie : Imaginez que vous avez une phrase : « Le chat est assis sur le tapis. »
    • Un 1-gramme (morceau de 1) est juste les mots : « Le », « chat », « est »... (Trop commun ; beaucoup de phrases utilisent « le »).
    • Un 2-gramme (morceau de 2) est des paires : « Le chat », « chat est », « est sur »... (Plus unique).
    • Un 3-gramme est des triplets : « Le chat est », « chat est sur »... (Encore plus unique).

Ils ont transformé tout le programme en un sac de ces morceaux. Même si l'IA réorganisait les phrases, les types spécifiques de morceaux (l'empreinte digitale) seraient probablement toujours là.

L'Expérience : Quel est le meilleur voleur ?

Les chercheurs ont testé trois différents « chefs robots » (modèles d'IA) :

  1. ChatGPT-5.1-Codex-Mini
  2. DeepSeek-V4-Flash
  3. Claude-Haiku-4.5

Ils ont pris de vrais programmes Java en open-source, ont demandé à ces IA de les réécrire, puis ont tenté d'attraper les IA en utilisant leur méthode d'« empreinte digitale ». Ils ont également testé différentes façons de comparer les empreintes (comme compter combien de morceaux correspondent par rapport à la proximité de l'ordre).

Les Résultats : Ce qui a fonctionné

1. La taille du morceau compte (La zone « Juste Milieu »)

  • Trop petit (1 morceau) : C'était comme essayer d'identifier une personne juste avec le mot « le ». Trop de gens l'utilisent, donc ce n'était pas une bonne empreinte digitale.
  • Trop grand (6 morceaux) : C'était comme essayer de faire correspondre un paragraphe entier. Si l'IA déplaçait juste une phrase, le paragraphe entier ne correspondait plus, et l'empreinte digitale se brisait.
  • Juste ce qu'il faut (2 ou 3 morceaux) : C'était le point idéal. Ces petits groupes d'instructions étaient assez uniques pour identifier le code original, mais assez robustes pour survivre à la réécriture de l'IA.

2. La façon dont vous comparez compte

  • L'ordre n'importe pas : Les chercheurs ont constaté que regarder l'ordre des instructions (comme vérifier si les étapes suivaient exactement la même séquence) était une mauvaise idée. L'IA a tellement mélangé l'ordre que cette méthode a échoué.
  • Le comptage compte : La meilleure méthode consistait simplement à compter combien de morceaux uniques apparaissaient dans le code original et dans le code réécrit, peu importe l'ordre. C'est comme dire : « Est-ce que les deux recettes contiennent de la 'farine' et des 'œufs' ? » plutôt que de demander : « Ont-ils ajouté les œufs avant la farine ? »

3. Quelle IA était la plus difficile à attraper ?

  • ChatGPT-5.1-Codex-Mini était la plus sournoise. Elle a réussi à réécrire le code de manière si approfondie qu'elle était la plus difficile à détecter, tout en produisant un code qui fonctionnait réellement (compilé sans erreur).
  • Les deux autres IA (DeepSeek et Claude) étaient plus faciles à attraper car leurs réécritures laissaient des « empreintes digitales » plus évidentes.

L'Essentiel à Retenir

Même si l'IA peut réécrire du code pour qu'il ait l'air complètement différent, elle ne peut pas changer l'« ADN » fondamental de la façon dont l'ordinateur réfléchit. En regardant de petits motifs uniques d'instructions de machine (marques de naissance) et en comptant combien correspondent, nous pouvons toujours attraper le voleur, même s'il utilise un robot super intelligent pour déguiser son crime.

L'article conclut que cette méthode fonctionne bien contre le plagiat par l'IA moderne, surtout lorsqu'on utilise de petits morceaux de code (2 ou 3 instructions) et que l'on se concentre sur ce qui est dans le code plutôt que sur où il se trouve.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →