В качестве меры предосторожности отслеживается порча, чтобы гарантировать, что ненадежные данные не будут ошибочно использованы для расчетов, транзакций или интерпретированы как код.
Отслеживание заражения с помощью встроенной языковой функции более наглядно и надежнее, чем отслеживание с помощью соглашений о кодировании или с помощью анализа кода.
Например, входные данные от пользователя обычно можно считать «ненадежными», пока они не будут должным образом очищены для вставки в базу данных. Помечая входные данные как испорченные, Ruby обеспечивает удовлетворительную очистку и предотвращает потенциальную атаку SQL-инъекцией.
В качестве примера "древней" (2005 г.) практики кодирования, которая демонстрирует, как заражение отслеживалось без таких модулей Perl и Ruby, прочитайте некоторый старый добрый Джоэл:
http://www.joelonsoftware.com/articles/Wrong.html