Un'espressione regolare, o regex, è un linguaggio di pattern usato per trovare, convalidare, estrarre o sostituire testo. Gli strumenti e le applicazioni di sicurezza usano le regex per verificare nomi utente, percorsi dei file, nomi dei branch, voci di log e altri input rispetto a formati attesi. Poiché una regex può descrivere regole di testo molto precise, è utile per il filtraggio e l'applicazione di policy.
Nella sicurezza informatica, le regex sono importanti perché spesso rientrano nelle decisioni di fiducia. Un pattern errato può consentire il passaggio di input malevoli durante la convalida, mentre un pattern eccessivamente complesso può causare un forte uso della CPU o attivare bug del parser. Gli attaccanti possono abusare di regole basate su regex per aggirare i controlli, mandare in crash i servizi o raggiungere percorsi di codice non sicuri se il motore dei pattern è difettoso. I difensori usano una progettazione attenta dei pattern, limiti sugli input e revisione lato server per ridurre il rischio. Nelle piattaforme CI/CD, le regex possono controllare il comportamento delle pipeline, quindi un difetto nel compilatore di regex può diventare una superficie di attacco seria.


