Это вынуждает Вас (программист) думать о том, что Вы пишете. Вынуждая компиляторы сделать Ваша работа для Вас не помогает никому: это делает компиляторы намного более сложными (и медленнее!), и это делает Вас более глупыми и менее внимательными к Вашему коду.
Из Microsoft-
http://msdn.microsoft.com/en-us/library/ms998249.aspx
Более подробный контрольный список-
http://technotes.towardsjob.com/dotnet/asp-net-developers-checklist-security-checklist/
В OWASP (Open Web Application Security Project) есть удобный список из 10 основных уязвимостей веб-приложений: http://www.owasp.org/index.php/Top_10_2007
Вот руководство Microsoft Anti-Cross Site Scripting Library 1.5: http://msdn.microsoft.com/en-us/library/aa973813.aspx
Вот очень информативный, хотя и не очень известный ресурс безопасности, эталонная реализация безопасности Интернета ASP.NET 2.0 - в основном Шаблоны и практики: http://code.msdn.microsoft.com/ASPNETv2RefImp
И последнее, но не менее важное: вот видео об архитектуре CAT.NET: http://channel9.msdn.com/posts/Jossie/Architecture-behind-CATNET/
Загрузите последнюю сборку инструмента CAT.NET здесь (32- и 64-разрядные версии): http://bit.ly/164BlV