Condividi tramite


Set di regole di sicurezza per codice gestito

È necessario includere il set di regole Regole di sicurezza Microsoft affinché venga segnalato il numero più elevato possibile di problemi di sicurezza potenziali.

Regola

Descrizione

CA2100

Controllare l'eventuale vulnerabilità di sicurezza delle query SQL

CA2102

Individuare le eccezioni non CLSCompliant nei gestori generali

CA2103

Controllare la sicurezza imperativa

CA2104

Non dichiarare tipi di riferimento modificabili in sola lettura

CA2105

I campi di matrici non devono essere in sola lettura

CA2106

Asserzioni protette

CA2107

Controllare l'utilizzo di Deny e PermitOnly

CA2108

Controllare la sicurezza dichiarativa sui tipi di valori

CA2109

Controllare i gestori di eventi visibili

CA2111

I puntatori non devono essere visibili

CA2112

I tipi protetti non devono esporre campi

CA2114

La sicurezza del metodo deve essere un superset del tipo

CA2115

Chiamare GC.KeepAlive durante l'utilizzo di risorse native

CA2116

I metodi APTCA devono chiamare solo metodi APTCA

CA2117

I tipi APTCA devono estendere solo tipi di base APTCA

CA2118

Verificare la sintassi di SuppressUnmanagedCodeSecurityAttribute

CA2119

Impostare come sealed i metodi che soddisfano interfacce private

CA2120

Proteggere i costruttori di serializzazione

CA2121

I costruttori statici devono essere privati

CA2122

Non esporre in modo indiretto metodi con richieste di collegamento

CA2123

Le richieste di collegamento negli override devono essere identiche a quelle nei metodi di base

CA2124

Eseguire il wrapping delle clausole finally vulnerabili in un try esterno

CA2126

Per le richieste di collegamento dei tipi sono necessarie richieste di ereditarietà

CA2130

Le costanti SecurityCritical devono essere Transparent

CA2131

I tipi SecurityCritical non possono partecipare all'equivalenza del tipo

CA2132

I costruttori predefiniti devono essere Critical almeno come i costruttori predefiniti del tipo base

CA2133

Delegati devono essere associati ai metodi con trasparenza consistente

CA2134

I metodi devono conservare trasparenza consistente durante l'override dei metodi base

CA2135

Gli assembly di livello 2 non devono contenere LinkDemand

CA2136

I membri non devono avere annotazioni di trasparenza in conflitto

CA2137

I metodi Transparent devono contenere solo IL verificabile

CA2138

I metodi Transparent non devono chiamare i metodi con l'attributo SuppressUnmanagedCodeSecurity

CA2139

I metodi Transparent non possono utilizzare l'attributo HandleProcessCorruptingExceptions

CA2140

Il codice Transparent non deve far riferimento a elementi SecurityCritical

CA2141

I metodi Transparent non devono soddisfare i LinkDemand

CA2142

Il codice Transparent non deve essere protetto con LinkDemand

CA2143

I metodi Transparent non devono utilizzare SecurityDemand

CA2144

Il codice Transparent non deve caricare assembly da matrici di byte

CA2145

I metodi Transparent non devono includere SuppressUnmanagedCodeSecurityAttribute

CA2146

I tipi devono essere Critical almeno come le interfacce e i tipi base relativi

CA2147

I metodi Transparent non possono utilizzare asserzioni di sicurezza

CA2149

I metodi Transparent non devono effettuare chiamate nel codice nativo

CA2210

Gli assembly devono avere nomi sicuri validi