Multi-pattern Match

v0.1.0Ajouté le 26 sept. 2026Données d'exemple

Recherche Aho–Corasick de milliers de motifs en une seule passe, pour analyser journaux et charges utiles à la recherche d'indicateurs de compromission.

Données d'exemple. Ces chiffres sont fictifs et ne proviennent pas de mesures.

cargo install kura-rs
kura add multi-pattern-match

Copie le fichier source dans votre projet. Le code vous appartient ensuite.

Si un autre outil installe déjà une commande kura, lance cargo install kura-rs --bin kura-rs et utilise kura-rs add à la place.

use crate::parts::multi_pattern_match::Matcher;

let matcher = Matcher::new(&iocs);

for hit in matcher.find_all(&payload) {
    alert(hit.pattern, hit.offset);
}

Vérification

Données d'exemple

Vérifié par rapport à pyahocorasick 2.1.0 (Python). Méthode : Tests différentiels. Les mêmes entrées sont fournies aux deux implémentations, puis leurs sorties sont comparées.

Référence
pyahocorasick
Python 2.1.0
Cas de test
3 000
Tests différentiels
Réussis
2 997 / 3 000
3 divergence(s)
Dernière exécution
26 sept. 2026
UTC

Ces valeurs sont fictives. Elles n'ont pas encore été mesurées et ne doivent pas être lues comme des résultats réels. Ce composant est marqué "sample": true dans son fichier de registre.

Benchmarks

Données d'exemple

kura-rs (Rust) comparé à pyahocorasick sur plusieurs tailles d'entrée. Plus rapide pour toutes les tailles d'entrée mesurées, jusqu'à 5.0× plus rapide.

Ces valeurs sont fictives. Elles n'ont pas encore été mesurées et ne doivent pas être lues comme des résultats réels. Ce composant est marqué "sample": true dans son fichier de registre.

kura-rs (Rust)pyahocorasick
Temps d'exécution par itération (plus bas = meilleur).
Afficher le tableau de données
Taille d'entréekura-rs (Rust)pyahocorasickAccélération
1 0000,02 ms0,05 ms2.5×
10 0000,14 ms0,52 ms3.7×
100 0001,3 ms5,8 ms4.5×
1 000 00013 ms61 ms4.7×
10 000 000128 ms640 ms5.0×

Fichiers

  • parts/multi_pattern_match/mod.rs

Dépendances (crates)