Conjunto de reglas Reglas de seguridad para código administrado

Use el conjunto de reglas de Reglas de seguridad de Microsoft para el análisis de código heredado para maximizar el número de posibles problemas de seguridad que se notifican.

Regla Descripción
CA2100 Revisar consultas SQL para comprobar si tienen vulnerabilidades de seguridad
CA2102 Detectar las excepciones que no son CLSCompliant en los controladores generales
CA2103 Revisar la seguridad imperativa
CA2104 No declarar tipos de referencias mutables de solo lectura
CA2105 Los campos de matrices no deben ser de solo lectura
CA2106 Proteger las aserciones
CA2107 Revisar el uso de Deny y PermitOnly
CA2108 Revisar la seguridad declarativa en los tipos de valores
CA2109 Revisar los controladores de eventos visibles
CA2111 Los punteros no deben estar visibles
CA2112 Los tipos seguros no deben exponer campos
CA2114 La seguridad del método debe ser un supraconjunto del tipo
CA2115 Llamar a Call GC.KeepAlive cuando se utilicen recursos nativos
CA2116 Los métodos APTCA deben llamar solo a métodos APTCA
CA2117 Los tipos APTCA solo amplían tipos base APTCA
CA2118 Revisar el uso de SuppressUnmanagedCodeSecurityAttribute
CA2119 Sellar los métodos que satisfacen las interfaces privadas
CA2120 Proteger los constructores de serializaciones
CA2121 Los constructores estáticos deben ser privados
CA2122 No exponer indirectamente métodos con peticiones de vínculos
CA2123 Las peticiones de vínculos de invalidaciones deben ser idénticas a la base
CA2124 Incluir cláusulas finally vulnerables en un bloque try externo
CA2126 Las peticiones de vínculos de tipos requieren peticiones de herencias
CA2130 Las constantes críticas para la seguridad deben ser transparentes
CA2131 Los tipos críticos para la seguridad no pueden participar en la equivalencia de tipos
CA2132 Los constructores predeterminados deben ser al menos tan críticos para la seguridad como los constructores predeterminados de tipo base
CA2133 Los delegados deben enlazarse a métodos con una transparencia coherente
CA2134 Los métodos deben mantener una transparencia coherente al invalidar métodos base
CA2135 Los ensamblados de nivel 2 no deben contener LinkDemands
CA2136 Los miembros no deben tener anotaciones de transparencia en conflicto
CA2137 Los métodos transparentes deben contener solo IL que se pueda comprobar
CA2138 Los métodos transparentes no deben llamar a métodos con el atributo SuppressUnmanagedCodeSecurity
CA2139 Los métodos transparentes no pueden usar el atributo HandleProcessCorruptingExceptions
CA2140 El código transparente no debe hacer referencia a elementos críticos para la seguridad
CA2141 Los métodos transparentes no deben satisfacer LinkDemands
CA2142 El código transparente no debe protegerse con LinkDemands
CA2143 Los métodos transparentes no deben usar peticiones de seguridad
CA2144 El código transparente no debe cargar ensamblados desde matrices de bytes
CA2145 Los métodos transparentes no deben ser representativos con el atributo SuppressUnmanagedCodeSecurityAttribute
CA2146 Los tipos deben ser al menos tan críticos para la seguridad como sus interfaces y tipos base
CA2147 Los métodos transparentes no pueden usar aserciones de seguridad
CA2149 Los métodos transparentes no deben llamar a código nativo
CA2210 Los ensamblados deben tener nombres seguros válidos
CA2300 No usar el deserializador no seguro BinaryFormatter
CA2301 No llamar a BinaryFormatter.Deserialize sin establecer primero BinaryFormatter.Binder
CA2302 Asegurarse de que BinaryFormatter.Binder está establecido antes de llamar a BinaryFormatter.Deserialize
CA2305 No usar el deserializador no seguro LosFormatter
CA2310 No usar el deserializador no seguro NetDataContractSerializer
CA2311 No deserializar sin establecer primero NetDataContractSerializer.Binder
CA2312 Asegúrese de que se establece NetDataContractSerializer.Binder antes de deserializar
CA2315 No usar el deserializador no seguro ObjectStateFormatter
CA2321 No deserializar con JavaScriptSerializer mediante SimpleTypeResolver
CA2322 Asegúrese de que JavaScriptSerializer no se ha inicializado con SimpleTypeResolver antes de deserializar
CA3001 Revisión de código en busca de vulnerabilidades de inyección de SQL
CA3002 Revisión de código en busca de vulnerabilidades de XSS
CA3003 Revisión de código en busca de vulnerabilidades de inyección de rutas de acceso a archivos
CA3004 Revisión de código en busca de vulnerabilidades de divulgación de información
CA3005 Revisión de código en busca de vulnerabilidades de inyección de LDAP
CA3006 Revisión de código en busca de vulnerabilidades de inyección de comandos de procesos
CA3007 Revisión de código en busca de vulnerabilidades de redireccionamiento abierto
CA3008 Revisión de código en busca de vulnerabilidades de inyección de XPath
CA3009 Revisión de código en busca de vulnerabilidades de inyección de XML
CA3010 Revisión de código en busca de vulnerabilidades de inyección de XAML
CA3011 Revisión de código en busca de vulnerabilidades de inyección de DLL
CA3012 Revisión de código en busca de vulnerabilidades de inyección de expresiones regulares
CA5358 No usar modos de cifrado inseguro
CA5403 No codificar el certificado de forma rígida