Ensemble de règles des règles de sécurité pour le code managé
Utilisez l’ensemble de règles de sécurité Microsoft pour l’analyse du code hérité pour optimiser le nombre de problèmes de sécurité potentiels signalés.
Règle | Description |
---|---|
CA2100 | Vérifier si les requêtes SQL présentent des failles de sécurité |
CA2102 | Interceptez les exceptions non CLSCompliant dans les gestionnaires généraux |
CA2103 | Vérifiez la sécurité impérative |
CA2104 | Ne déclarez pas les types référence mutables en lecture seule |
CA2105 | Les champs de tableau ne doivent pas être en lecture seule |
CA2106 | Assertions sécurisées |
CA2107 | Passez en revue l'utilisation des méthodes Deny et PermitOnly |
CA2108 | Vérifiez la sécurité déclarative dans les types valeur |
CA2109 | Passez en revue les gestionnaires d'événements visibles |
CA2111 | Les pointeurs ne doivent pas être visibles |
CA2112 | Les types sécurisés ne doivent pas exposer de champs |
CA2114 | La sécurité de la méthode doit être un sur-ensemble du type |
CA2115 | Appelez GC.KeepAlive lorsque vous utilisez des ressources natives |
CA2116 | Les méthodes APTCA doivent uniquement appeler des méthodes APTCA |
CA2117 | Les types APTCA doivent uniquement étendre des types de base APTCA |
CA2118 | Vérifier l'utilisation de SuppressUnmanagedCodeSecurityAttribute |
CA2119 | Scellez les méthodes qui satisfont les interfaces privées |
CA2120 | Sécurisez les constructeurs de sérialisation |
CA2121 | Les constructeurs statiques doivent être privés |
CA2122 | N'exposez pas indirectement des méthodes avec des demandes de liaison |
CA2123 | Les demandes de liaison de substitution doivent être identiques au composant de base |
CA2124 | Incluez dans un wrapper les clauses finally vulnérables dans un bloc try externe |
CA2126 | Les demandes de liaison de type exigent des demandes d'héritage |
CA2130 | Les constantes critiques de sécurité doivent être transparentes |
CA2131 | Les types critiques de sécurité ne peuvent pas participer à l'équivalence des types |
CA2132 | Les constructeurs par défaut doivent être au moins aussi critiques que les constructeurs par défaut de type de base |
CA2133 | Les délégués doivent lier les méthodes avec une transparence cohérente |
CA2134 | La transparence des méthodes doit rester cohérente lors de la substitution de méthodes de base |
CA2135 | Les assemblys de niveau 2 ne doivent pas contenir de LinkDemands |
CA2136 | Les membres ne doivent pas avoir d'annotations de transparence conflictuelles |
CA2137 | Les méthodes transparentes doivent contenir uniquement des IL vérifiables |
CA2138 | Les méthodes transparentes ne doivent pas appeler les méthodes ayant l'attribut SuppressUnmanagedCodeSecurity |
CA2139 | Les méthodes transparentes ne peuvent pas utiliser l'attribut HandleProcessCorruptingExceptions |
CA2140 | Le code transparent ne doit pas faire référence à des éléments critiques de sécurité |
CA2141 | Les méthodes transparentes ne répondent pas aux LinkDemands |
CA2142 | Le code transparent ne doit pas être protégé avec des LinkDemands |
CA2143 | Les méthodes transparentes ne doivent pas utiliser de demandes de sécurité |
CA2144 | Le code transparent ne doit pas charger d'assemblys depuis des tableaux d'octets |
CA2145 | Les méthodes transparentes ne doivent pas être décorées avec SuppressUnmanagedCodeSecurityAttribute |
CA2146 | Les types doivent être au moins aussi critiques que les types de base et les interfaces |
CA2147 | Les méthodes transparentes ne peuvent pas utiliser d’assertions de sécurité |
CA2149 | Les méthodes transparentes ne doivent pas appeler du code natif |
CA2210 | Les assemblys doivent porter des noms forts valides |
CA2300 | N’utilisez pas le désérialiseur non sécurisé BinaryFormatter |
CA2301 | N’appelez pas BinaryFormatter.Deserialize sans définir BinaryFormatter.Binder au préalable |
CA2302 | Vérifiez que BinaryFormatter.Binder est défini avant d’appeler BinaryFormatter.Deserialize |
CA2305 | N’utilisez pas le désérialiseur non sécurisé LosFormatter |
CA2310 | N’utilisez pas le désérialiseur non sécurisé NetDataContractSerializer |
CA2311 | Ne désérialisez pas sans définir d’abord NetDataContractSerializer.Binder |
CA2312 | Vérifiez que NetDataContractSerializer.Binder est défini avant la désérialisation |
CA2315 | N’utilisez pas le désérialiseur non sécurisé ObjectStateFormatter |
CA2321 | Ne désérialisez avec JavaScriptSerializer à l’aide de SimpleTypeResolver |
CA2322 | Assurez-vous que JavaScriptSerializer n’est pas initialisé avec SimpleTypeResolver avant la désérialisation |
CA3001 | Passez en revue le code pour détecter les vulnérabilités de l’injection SQL |
CA3002 | Passez en revue le code pour détecter les vulnérabilités des scripts XSS |
CA3003 | Passez en revue le code pour détecter les vulnérabilités de l’injection de chemin de fichier |
CA3004 | Passez en revue le code pour détecter les vulnérabilités sur la divulgation d’informations |
CA3005 | Passez en revue le code pour détecter les vulnérabilités de l’injection LDAP |
CA3006 | Passez en revue le code pour détecter les vulnérabilités de l’injection de commande de processus |
CA3007 | Passez en revue le code pour détecter les vulnérabilités de la redirection ouverte |
CA3008 | Passez en revue le code pour détecter les vulnérabilités de l’injection XPath |
CA3009 | Passez en revue le code pour détecter les vulnérabilités de l’injection XML |
CA3010 | Passez en revue le code pour détecter les vulnérabilités de l’injection XAML |
CA3011 | Passez en revue le code pour détecter les vulnérabilités de l’injection de DLL |
CA3012 | Passez en revue le code pour détecter les vulnérabilités de l’injection regex |
CA5358 | Ne pas utiliser de modes de chiffrement non sécurisés |
CA5403 | Ne pas coder en dur le certificat |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour