Un confine fidato è il punto in un sistema in cui i dati smettono di essere considerati sicuri e devono essere convalidati, autenticati o comunque controllati prima dell'uso. Separa gli input interni, come i dati prodotti dal tuo codice, dagli input esterni o controllati da un attaccante, come traffico di rete, file, code o blob di sessione.
Questo è importante perché molti exploit iniziano quando il software oltrepassa quel confine senza verifica. Nella deserializzazione Ruby, per esempio, chiamare Marshal.load su dati non fidati rompe il confine: il programma può ricostruire oggetti e attivare metodi che l'attaccante non ha creato. I difensori usano i confini fidati per decidere dove devono avvenire l'analisi, i controlli dello schema, le allowlist, i MAC e le restrizioni di tipo. Confini chiari riducono il rischio di catene di gadget, impediscono il passaggio di privilegi e rendono più facile individuare sink pericolosi che non dovrebbero mai ricevere input grezzo dell'utente.


