$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Cette section présente les résultats représentatifs produits par le protocole IOC-à-regex et résume l’évaluation de référence utilisée pour évaluer son applicabilité opérationnelle. L’évaluation des références a traité 3 156 rapports CTI associés aux techniques MITRE ATT&CK, analysé plus de 230 000 phrases, extrait plus de 63 000 candidats IOC et évalué les regex générés par rapport à plus de 2 400 chaînes de vérité sur le terrain collectées indépendamment à partir de dix scénarios d’évaluation MITRE ATT&ck. Ces chaînes de vérité sur le terrain sont des artefacts d’attaque sélectionnés par des experts, rapportés indépendamment par les fournisseurs de cybersécurité lors des exercices d’évaluation MITRE ATT&CK et reflètent donc les schémas structurels que les analystes et fournisseurs humains documentent en pratique. Les résultats ci-dessous portent sur le comportement des flux de travail, la correction structurelle et les résultats d’évaluation pertinents pour l’analyse opérationnelle des journaux et les flux de détection.
Un aperçu du pipeline de bout en bout est fourni à la Figure 1, qui résume les étapes de recherche par groupe de capture et de génération de regex qui encadrent le reste des résultats représentatifs.
Étape 1 : Analyse des documents Résultats
La figure 2 montre la sortie de l’étape 1, où un rapport CTI d’entrée est analysé en une représentation Markdown unifiée. Une fois exécutée réussie, l’interface affiche un aperçu structuré du document, incluant les limites de section et les indicateurs de pertinence.
L’exécution correcte est indiquée par une segmentation cohérente des paragraphes et la préservation des artefacts techniques tels que les chemins de fichiers, les clés de registre et les fragments de ligne de commande. Une troncature excessive ou une perte de mise en forme à ce stade peut affecter l’analyse en aval et doit être prise en compte avant de procéder.
Étape 2 : Extraction de l’IOC basée sur le consensus
La figure 3 illustre le résultat de l’étape 2, où les candidats IOC sont extraits à l’aide du vote d’ensemble multi-LLM. L’interface résultante présente une collection IOC au format JSON, annotée avec les décomptes des votes et les modèles contributifs.
Seules les IOC atteignant le seuil minimum de consensus configuré sont conservées. Les IOC exclues à ce stade reflètent généralement des hallucinations spécifiques au modèle ou des fragments de texte ambigus. Leur exclusion est un résultat attendu et souhaitable, indiquant que le vote collectif fonctionne correctement.
Étape 3 : Analyse et classification du CIO
Le tableau 2 résume les résultats attendus, les étapes automatisées de validation et les contrôles de contrôle qualité destinés aux analystes pour chaque étape du protocole.
La figure 4 montre les candidats du CIO qui n’ont pas atteint le seuil de consensus lors du vote collectif à l’étape 2 et que l’interface apparaît pour inspection par les analystes. Ces candidats reflètent généralement des hallucinations spécifiques au modèle ou des fragments de texte ambigus. Les figures 4 et 5 correspondent donc à des sorties d’étape distinctes — l’ensemble abandonné de l’étape 2 et l’ensemble conservé de l’étape 3 — plutôt qu’à des vues alternatives du même processus de l’étape 3.
La Figure 5 présente la table IOC conservée produite par l’étape 3 après l’analyse JSON, la catégorisation basée sur des règles et la déduplication IOC. Pour chaque IOC conservée, l’étape enregistre une catégorie standardisée, une balise source et la clé d’extraction originale lorsque disponible, avant de passer l’IOC à la normalisation en aval.
Étape 4 : Normalisation de l’IOC assistée par graphes à travers les types de IOC
Les figures 6, 7 et 8 illustrent les résultats de normalisation représentatifs pour trois catégories IOC abordées dans l’étude actuelle : chemins de fichiers, clés de registre et indicateurs en ligne de commande. Pour chaque catégorie, les chiffres comparent l’IOC original extrait du rapport CTI avec la représentation normalisée produite par analyse assistée par graphe.
Pour tous les types d’IOC, le protocole décompose chaque IOC en composants sémantiques et résout les relations hiérarchiques à l’aide de connaissances structurées encodées dans la base de données de graphes. Dans l’implémentation actuelle, Neo4j stocke les nœuds Path, Registry et CLI normalisés et utilise des relations d’adjacence pour tester si les composants appartiennent à des chaînes reconnues. Ce rôle est analogue à l’utilisation des connaissances structurées ATT&CK lors de l’ingénierie de détection2.
Il est important de noter que cette étape de normalisation enregistre explicitement les rôles sémantiques des composants IOC en les étiquetant comme keep ou disject, plutôt que de les supprimer silencieusement de l’enregistrement d’analyse. La chaîne normalisée est principalement reconstruite à partir des composants de conservation, tandis que les composants de défausse sont disponibles comme métadonnées pour la génération et la validation en aval de regex.
La bonne exécution de cette étape est indiquée par des IOC normalisées qui conservent un contexte structurel significatif et présentent un étiquetage cohérent des groupes de capture à travers différents types d’IOC. La comparaison visuelle entre les représentations originales et normalisées fournit un mécanisme pratique de contrôle qualité pour vérifier que la résolution du groupe de capture a été appliquée de manière cohérente et sans perte d’information involontaire.
Étape 5 : Génération d’expressions régulières avec sélection auxiliaire basée sur les contraintes
La figure 9 illustre la sortie de l’étape 5, où le protocole génère des expressions régulières structurellement conformes à partir de IOC normalisées via un flux de validation itératif. L’implémentation combine une invite de génération initiale, une re-invitation diagnostique lorsqu’un candidat ne correspond pas à l’IOC, une validation consciente du rejet et des boucles de réessayage plafonnées.
Étant donné un IOC normalisé et sa spécification associée de composant keep/discharge, le workflow génère d’abord un candidat régex initial. Le candidat est ensuite testé par rapport à l’IOC, reprogrammé de façon diagnostique en cas d’échec de correspondance, vérifié pour détecter des jetons interdits abandonnés, et évalué pour surgénéralisation à l’aide de chaînes négatives aléatoires.
Lorsque plusieurs candidats satisfont aux vérifications de validation de base, le protocole applique un mécanisme auxiliaire de sélection basé sur des contraintes pour conserver un regex représentatif destiné à une utilisation en aval. L’implémentation actuelle note les candidats avec « Score = n_cg - n_wc », où « n_cg » est le nombre de composants de maintien représentés et « n_wc » le nombre de jetons défaussés ou non cartographiés présents dans le regex.
La fonction de sélection est définie comme suit :
Score = n_cg − n_wc
C’est la spécialisation à poids égal (α = β = 1) de la forme plus générale Score = α·n_cg − β·n_wc. Ici, n_cg désigne le nombre de composants de keep représentés et n_wc désigne le nombre de composants de défausse ou de jetons supplémentaires non cartographiés réintroduits par le regex. L’implémentation enregistre également le nombre d’itérations, les listes de problèmes, la consommation estimée de tokens, l’utilisation du cache et la télémétrie de latence pour chaque IOC. Le réglage de poids égal était utilisé comme un défaut déterministe simple pour l’implémentation de référence ; Parce qu’il considère un composant de maintien manquant et un composant de défausse réintroduit comme également indésirables, d’autres pondérations peuvent être préférées dans les contextes de déploiement où les faux négatifs et faux positifs comportent des coûts opérationnels différents.
Le régex final est choisi comme le candidat qui satisfait le mieux ces contraintes. Les régex qui placent des composants de groupe de capture requis dans des constructions optionnelles, par exemple ( ... ) ?, sont exclues de la sélection car elles affaiblissent la cohérence sémantique. Cette étape de sélection est auxiliaire au processus de génération et n’a pas pour but de servir de métrique de qualité autonome.
Aperçu analytique du traitement CTI
La Figure 10 présente un aperçu des résultats de l’analyse CTI sur tous les documents traités. Lors de l’évaluation des références, l’extraction par l’IOC de plus de 3 156 rapports CTI a produit plus de 63 000 candidats IOC, dont 12 195 chemins de fichiers, 2 302 clés de registre et 10 286 indicateurs en ligne de commande, les candidats restants appartenant à des types IOC non cibles à regex.
Ces décomptes fournissent une validation de haut niveau que les indicateurs extraits sont concentrés dans les trois catégories IOC ciblées par le protocole actuel, tout en montrant que de nombreux artefacts extraits restent en dehors du champ de la génération régulière. Lors de la reproduction du flux de travail, rapportez le nombre exact de rapports CTI traités, le total des candidats IOC, les décomptes par catégorie, ainsi que le fournisseur, le modèle, la version du modèle, la température, le nombre de répétitions et le seuil de consensus utilisés lors de l’extraction.
Dans l’évaluation de référence, les régex générés ont été évalués par rapport à plus de 2 400 chaînes de vérité sur le terrain collectées indépendamment à partir de dix scénarios d’évaluation MITRE ATT&CK et ont atteint un taux moyen de réussite de 99,1 %, ainsi qu’un taux moyen de désappariement entre l’IOC de 0,8 %. Dans ce manuscrit, le taux de désappariement est utilisé comme mesure de spécificité sémantique : un désaccord se produit lorsqu’un regex généré pour un IOC correspond également à une chaîne de vérité de terrain associée à un autre IOC. Cette quantité ne doit pas être interprétée comme un taux d’alerte opérationnelle de faux positifs de bout en bout, qui dépend également de la logique des règles en aval et du contexte de déploiement.
La distribution reflète la composition structurelle du corpus CTI et permet aux utilisateurs de vérifier que les indicateurs extraits correspondent aux types attendus de CIO. De grandes écarts par rapport aux proportions attendues peuvent indiquer des problèmes d’analyse ou d’extraction en amont et doivent être examinés avant de procéder à la normalisation en aval et à la génération de regex.
Analyse des actions d’optimisation Regex
La figure 11 résume les actions effectuées lors de la génération et du raffinement des expressions régulières. La distribution comprend trois types d’actions : la génération initiale de regex, les étapes d’optimisation pilotées par LLM, et la régénération basée sur des réessais.
L’optimisation pilotée par LLM représente 51,7 % de toutes les actions observées. Cette prévalence indique que la génération initiale seule est souvent insuffisante pour produire des regex satisfaisant les contraintes du groupe de capture et les exigences d’exclusion. À la place, l’optimisation itérative est appliquée activement et à plusieurs reprises pour affiner les régex candidats.
Plutôt que de refléter une inefficacité, cette distribution démontre que le flux de travail d’optimisation est un composant nécessaire et essentiel du protocole lors de la génération de regex structurellement conformes à partir d’entrées IOC complexes.
Une caractérisation distincte de la scalabilité sur un échantillon aléatoire de 6 000 IOC générés avec le LLM testé de scalabilité (voir le tableau des matériaux) a rapporté une latence médiane de 2,95 s par IOC et une latence moyenne de 23,18 s. Dans la même caractérisation, la compilation regex syntaxiquement valide a atteint 99,56 %, le succès global de la génération a atteint 99,4 %, l’utilisation moyenne estimée des tokens était d’environ 3 986 tokens par IOC, et le workflow nécessitait en moyenne environ 7,89 appels LLM par IOC. Les taux de réussite au premier passage étaient de 56,46 % pour la boucle de correspondance-débogage et de 72,92 % pour la boucle de validation hors groupe de capture. Ces mesures aident à caractériser le coût computationnel et le débit opérationnel pour une utilisation en batch.
Aucune revue d’expert d’un sous-ensemble de sortie échantillonnée n’a été utilisée pour le réentraînement du modèle dans la caractérisation de référence actuelle ; Les résultats rapportés reflètent l’exécution automatisée des pipelines et les ensembles de données d’évaluation en aval décrits ci-dessus.
Preuves opérationnelles et gestion des défaillances. La figure 12 montre la structure du fichier régulier SIEM exporté produit par le protocole, ainsi que des preuves de validation au niveau des règles pour les schémas représentatifs de chemin de fichier, clé de registre et ligne de commande. La figure 13 montre le rapport JSON complet correspondant, qui expose toutes les sorties d’étape (IOC extraites, analysées et normalisées ainsi que les motifs regex générés et les indicateurs de validation par IOC) et constitue l’artefact principal consommé par les outils en aval. La figure 14 illustre la gestion par le protocole d’une entrée CTI bruitée : un chemin de fichier décroché et perturbé par l’espace blanc est signalé à l’étape d’analyse, corrigé, normalisé au modèle canonique %TEMP %, puis converti en un registre régulier de compilation correspondant. Cet exemple résolu complète les preuves opérationnelles de la Figure 12 et de la Figure 13 en documentant le comportement du protocole lorsque le texte brut de l’IOC s’écarte de la forme canonique.

Figure 1 : Architecture globale du protocole IOC-à-regex. La figure résume le pipeline de bout en bout. Les chaînes d’IOC candidates produites par l’extracteur d’IOC en amont sont décomposées et comparées aux nœuds de référence dans un graphe Neo4j rempli à partir de la documentation Windows (étape 1), qui récupère les composants de chemin, de registre et de ligne de commande connus (étape 2). Les fragments variables ou spécifiques à l’environnement sont étiquetés comme défauchés et exclus de la reconstruction normalisée tout en étant conservés dans les métadonnées des composants, ce qui donne une IOC normalisée avec des étiquettes de conservation et de défausse au niveau des composants (étape 3). Ces IOC normalisés sont ensuite transmis à une étape de génération régulière basée sur un LLM (étape 4) qui produit des expressions régulières candidates, qui sont notées et optimisées de manière itérative selon les contraintes du groupe de capture et les règles des jetons défaussés (étape 5) avant qu’un régex final ne soit sélectionné (étape 6). Veuillez cliquer ici pour voir une version agrandie de cette figurine.

Figure 2 : Document de l’étape 1 : Analyse de la sortie. Comparaison côte à côte du rapport CTI original et de l’aperçu du document analysé. Le panneau de gauche affiche le rapport CTI original au format PDF, tandis que le panneau de droite affiche la représentation unifiée de Markdown générée par l’analyseur. Veuillez cliquer ici pour voir une version agrandie de cette figurine.

Figure 3 : Extraction de l’IOC basée sur le consensus à l’aide du vote d’ensemble multi-LLM. L’interface illustre le processus d’extraction de l’IOC basé sur un ensemble et ses résultats intermédiaires. La case rouge met en évidence les instances LLM configurées participant à l’extraction IOC, y compris les fournisseurs sélectionnés et le nombre de répétitions d’extraction effectuées pour chaque modèle. La case bleue indique le seuil de consensus défini par l’utilisateur, qui précise le nombre minimum d’occurrences requis pour qu’un IOC soit conservé. Après avoir agrégé les résultats d’extraction sur tous les modèles et répétitions, les IOC candidats qui apparaissent moins souvent que le seuil sont écartés. La boîte orange montre l’ensemble final de COI conservés qui satisfont au critère de consensus et sont transmis aux étapes d’analyse en aval. Veuillez cliquer ici pour voir une version agrandie de cette figurine.

Figure 4 : CIO rejetés par vote collectif à l’étape 2. Vue côte à côte des candidats du CIO qui n’ont pas atteint le seuil minimum de vote configuré lors du vote collectif et qui sont exposés pour inspection par les analystes. Les candidats rejetés reflètent généralement des hallucinations spécifiques au modèle ou des fragments de texte ambigus et ne sont pas passés à l’étape de catégorisation de l’étape 3. Veuillez cliquer ici pour voir une version agrandie de cette figurine.

Figure 5 : Ensemble IOC conservé avec classification standardisée. Les candidats IOC conservés après le traitement de l’étape 3 sont affichés avec leurs catégories standardisées, les tags source et les clés d’extraction originales lorsque disponibles. Ce tableau fournit l’entrée structurée IOC utilisée par l’étape de normalisation. Veuillez cliquer ici pour voir une version agrandie de cette figurine.

Figure 6 : Normalisation IOC du chemin du fichier à l’aide d’analyse assistée par graphe. Comparaison côte à côte d’un IOC du chemin de fichier original et de sa représentation normalisée. Les requêtes de parcours basées sur les graphes connaissent les composants de chemin par un nom normalisé et étiquettent chaque composant comme keep ou disface. Les identifiants de disque et les fragments de noms de fichiers variables peuvent donc être marqués comme défaussés dans l’enregistrement composant tandis que la forme normalisée est principalement reconstruite à partir de segments structurels conservés nécessaires à la construction de motifs en aval. Veuillez cliquer ici pour voir une version agrandie de cette figurine.

Figure 7 : Normalisation de l’IOC de la clé de registre à l’aide d’analyse assistée par graphe. Normalisation d’une clé de registre IOC par résolution assistée par graphe des structures hiérarchiques de registres. Les clés racines abrégées sont étendues aux ruches canoniques du registre, et l’analyseur extrait la plus longue sous-chaîne de registre contiguë connue tout en sautant les placeholders hôtes, les valeurs similaires à SID et les jetons de type GUID. Les enregistrements de sortie conservent/suppriment des labels pour chaque composant conservé et produisent un chemin de registre canonique pour le traitement en aval. Veuillez cliquer ici pour voir une version agrandie de cette figurine.

Figure 8 : Normalisation IOC en ligne de commande utilisant l’analyse assistée par graphe. Comparaison d’un IOC original en ligne de commande et de sa représentation normalisée. Le protocole tokenise la ligne de commande tout en préservant les chaînes de guillemets, normalise le jeton de commande principal via la recherche Neo4j lorsque possible, et analyse récursivement les fragments intégrés de type chemin ou de type registre. Les composants stables liés à la commande sont étiquetés conserver, les arguments des variables sont appelés « défaussez, » et la structure de commande canonique finale est reconstruite à partir des éléments conservés. Veuillez cliquer ici pour voir une version agrandie de cette figurine.

Figure 9 : Sélection des candidats à expression régulière basée sur les contraintes. Plusieurs candidats réguliers sont générés pour chaque IOC normalisé en utilisant un flux de validation itératif. Un mécanisme de notation piloté par contraintes est appliqué pour sélectionner un régex final qui préserve les composants désignés du groupe de capture tout en limitant les sous-chaînes de variables indésirables. Veuillez cliquer ici pour voir une version agrandie de cette figurine.

Figure 10 : Répartition des IOC extraits à travers les rapports CTI. Résumé des résultats d’extraction IOC montrant le nombre total d’indicateurs identifiés à partir des rapports CTI et leur répartition entre les chemins de fichiers, les clés de registre et les indicateurs en ligne de commande. Cette vue fournit une validation de haut niveau de la couverture du contenu CTI et du comportement d’extraction. Veuillez cliquer ici pour voir une version agrandie de cette figurine.

Figure 11 : Distribution des actions d’optimisation lors de la génération d’expressions régulières. Décomposition des actions effectuées lors de la génération de regex, y compris la génération initiale, l’optimisation pilotée par LLM et la régénération basée sur des réessais. L’optimisation pilotée par LLM représente 51,7 % de toutes les actions, illustrant que l’affinement itératif est un élément essentiel du protocole pour produire des régex satisfaisant les contraintes du groupe de capture. Veuillez cliquer ici pour voir une version agrandie de cette figurine.

Figure 12 : Fichier regex exporté de façon représentative. Exemples de contenus de l’exportation régulière SIEM (siem_rules.txt) générée par le protocole. Chaque entrée inclut l’IOC source, la catégorie inférée (chemin du fichier, clé de registre ou ligne de commande) et le motif regex validé. Le tableau de validation accompagnant résume le comportement attendu et les preuves système utilisées pour confirmer la correction de chaque type de règle. Veuillez cliquer ici pour voir une version agrandie de cette figurine.

Figure 13 : Rapport JSON complet représentatif. Sortie de pipeline de bout en bout produite après l’exécution des cinq étapes du protocole sur un rapport CTI représentatif. Le document JSON enregistre le fichier source, le nombre de sections analysées, les IOC extraits regroupés par catégorie, les enregistrements catégorisés de l’étape 3 avec des tags source, la différencielle de normalisation de l’étape 4, et les motifs réguliers de l’étape 5 avec des drapeaux de validation par IOC. Le rapport expose également des métadonnées de réussite et d’erreur de haut niveau qui permettent aux outils en aval de détecter des défaillances partielles. Veuillez cliquer ici pour voir une version agrandie de cette figurine.

Figure 14 : Entrée ratée ou bruyante : identification et correction. Exemple fonctionnel de la façon dont le protocole identifie et récupère à partir d’un IOC bruyant. L’entrée brute %T E M P %\malware[.]EXE est signalé car son jeton à variable d’environnement contient des espaces insérés et son extension de fichier a été défangée. L’étape de correction supprime l’espace blanc inséré et restaure le point littéral ; La normalisation de l’étape 4 étend alors %TEMP % au modèle de répertoire Windows Temp canonique ; et l’étape 5 génère un regex qui compile et correspond à l’IOC normalisée corrigée. Cet exemple illustre la gestion des entrées bruyantes discutée dans la Discussion. Veuillez cliquer ici pour voir une version agrandie de cette figurine.
| Élément | Type | Valeur / Schéma | Exemple | Notes |
| Étiquette de nœud | Label | :P ath | Windows, System32, cmd.exe | Stocke les composants du chemin de fichiers Windows |
| Étiquette de nœud | Label | :Registre | LOGICIEL, Microsoft, Windows NT | Stocke les composants de la clé de registre sous les ruches racinaires |
| Étiquette de nœud | Label | :CLI | powershell.exe, -ExécutionPolitique, Contournement | Stocke les jetons de commande et les paramètres |
| Propriété du nœud | Corde | Nom | cmd.exe | Enveloppe d’origine ; Utilisé pour l’affichage dans la sortie normalisée |
| Propriété du nœud | Corde | name_lower | cmd.exe | Forme minuscule ; utilisé comme clé de recherche pour toutes les requêtes MATCH |
| Relation | Arête dirigée | (a)-[ :NEXT]->(b) | (Windows)-[ :NEXT]->(System32) | Les deux extrémités partagent la même étiquette ; encode l’adjacence native sur les systèmes Windows |
| Contrainte | Unicité | n.name_lower UNIQUE par label | - | Postulé à :P ath, :Registry, :CLI |
| Source des données | Couverture | Windows 8, 10, 11 | - | OS client rempli en graphe |
| Source des données | Couverture | Windows Server 2012, 2016, 2019, 2022 | - | OS serveur rempli en graphe |
Tableau 1 : Schéma de graphe Neo4j utilisé pour la normalisation de l’IOC (Étape 4). Liste les trois étiquettes de nœuds (Chemin, Registre, CLI), leur schéma de propriété partagée (nom, name_lower), la relation d’adjacence dirigée utilisée pour l’ordre natif des arêtes, les contraintes d’unicité, ainsi que les versions client et serveur Windows qui peuplent le graphe.
| Scène | Production attendue | Validation automatisée | Contrôle qualité orienté vers les analystes |
| Étape 1 : Analyse syntaxique des documents | Texte Markdown unifié, divisé à 4 000 caractères avant le traitement du LLM. | — | Vérification visuelle de l’aperçu Markdown pour confirmer que les chemins de fichiers, les clés de registre, les fragments de ligne de commande et les limites de section survivent à l’analyse ; Changez de backend si les chaînes techniques sont tronquées. |
| Étape 2 : extraction de l’IOC | JSON avec trois clés de premier niveau (chemins de fichier, lignes de commande, clés de registre) ; les décomptes de votes par COI et les métadonnées du modèle contributif lorsque le vote en ensemble est activé. | Le filtre de seuil de consensus (min_votes) exclut les IOC dont le nombre de votes est inférieur au seuil configuré. | Inspection des candidats exclus pour distinguer les hallucinations du vote trop strict avant d’ajuster min_votes. |
| Étape 3 : Analyse et classification du CIO | Liste IOC catégorisée : chaque IOC associé à une catégorie standardisée, une balise source et une clé d’extraction originale lorsque disponible. | Mappage standardisé de catégories via des règles basées sur des règles régulières et des heuristiques de motifs IOC ; (IOC, catégorie) déduplication de paires. | Vérification ponctuelle des résultats catégorisés pour des candidats ambigus ou bruyants (Figure 4A). |
| Stade 4 : Normalisation assistée par Neo4j | Formulaire normalisé par IOC avec étiquettes de maintien / défausse au niveau des composants. | Les requêtes de chiffrement (i)-(iii) sur le graphe de référence Windows ; Prétraitement déterministe en option lorsque Neo4j n’est pas disponible. | Inspection des cas entièrement déchus afin d’identifier les lacunes de couverture graphique ; extension des données de graphes avec des références spécifiques au fournisseur ou à l’environnement lorsque cela est nécessaire. |
| Étape 5 : Génération et notation Regex | Régex final par IOC avec les scores des candidats, l’historique d’optimisation, le nombre d’itérations et la télémétrie par IOC. | Test de correspondance, contrôles de qualité statiques, vérification des jetons interdits conscients des frontières, test de surgénéralisation contre 5 échantillons déterministes négatifs ; Revenir au match partiel le plus haut score (drapeau used_fallback). | Revue de l’historique d’optimisation pour les regex de secours ; inspection diagnostique de la position de défaillance par IOC avant la régénération. |
Tableau 2 : Résumé des résultats et validation par étape. Associe chaque étape du protocole (1–5) à son artefact attendu, aux preuves de validation automatisée produites par le pipeline (statut de compilation regex, taux de réussite, taux de désappariement inter-IOC, nombre d’itérations d’optimisation), et au contrôle qualité correspondant face aux analystes (comparaison visuelle, inspection des candidats écartés et revue de catégorie).
Fichier supplémentaire 1 : Prompts de LLM verbatim. Le système mot à mot et les prompts humains utilisés pour l’extraction IOC de l’étape 2 et la génération et l’optimisation des regex de l’étape 5. Veuillez cliquer ici pour télécharger ce fichier.
Fichier supplémentaire 2 : Détails de mise en œuvre pour les étapes 4 et 5. Détails algorithmiques et d’implémentation supportant la normalisation IOC assistée par graphe de l’étape 4 ainsi que la validation, le score et le contrôle de l’itération regex de l’étape 5. Veuillez cliquer ici pour télécharger ce fichier.