Turing completo descrive un sistema che può esprimere qualsiasi calcolo, in linea di principio, con tempo e memoria sufficienti. Il termine non significa che il sistema sia pratico, veloce o sicuro; significa che le sue regole sono abbastanza potenti da modellare la programmazione a scopo generale.
Nella sicurezza informatica, questo è importante perché funzionalità apparentemente ristrette possono diventare motori logici completi. Motori di espressioni regolari, linguaggi di template, sistemi di macro e formati di configurazione possono essere più espressivi di quanto appaiano inizialmente. Gli attaccanti possono abusare di questa potenza per nascondere la logica del payload, costruire exploit complessi dei parser o trasformare funzionalità affidabili di elaborazione del testo in percorsi di esecuzione di codice. I difensori devono esaminare questi sistemi con attenzione, perché un pattern o una regola “semplice” può in realtà contenere comportamento di diramazione, cicli ed effetti collaterali. La lezione principale è che l'espressività crea rischio: se uno strumento può calcolare, merita lo stesso livello di analisi del codice.


