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 |
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de