269 Rules
ID | Name | Severity |
---|---|---|
2616 | Avoid undocumented Forms |
medium
|
2624 | Avoid unreferenced Forms |
medium
|
3550 | Namespace naming convention - case control |
medium
|
3554 | Interface naming convention - case and character set control |
medium
|
3558 | Enumerations naming convention - case and character set control |
medium
|
3560 | Enumeration Items naming convention - case and character set control |
medium
|
3562 | Private Fields naming convention - case and character set control |
medium
|
3564 | Public Fields naming convention - case and character set control |
medium
|
3566 | Methods naming convention - case and character set control |
medium
|
3568 | Events naming convention - case and character set control |
medium
|
3570 | DEPRECATED: Avoid using Keywords as names |
medium
|
3572 | Controls naming convention - prefix, case and character set control |
medium
|
3574 | Properties naming convention - case and character set control |
medium
|
3576 | Avoid declaring public Fields |
high
|
3578 | Avoid large Classes - too many Constructors (.NET) |
medium
|
3580 | Avoid large Classes - too many Methods (.NET) |
medium
|
3586 | Avoid large Methods - too many Lines of Code |
medium
|
3590 | Avoid Interface implementation on Structures |
medium
|
3612 | Avoid missing release of SQL connection after an effective lifetime (C#, VB.NET) |
critical
|
3614 | Avoid using String.Empty for empty string tests |
medium
|
3616 | DELETED: Data Access must be based on Stored Procedure Calls |
medium
|
3626 | Avoid Interfaces with a very low comment/code ratio |
medium
|
3630 | Avoid having Classes implementing too many Interfaces |
medium
|
7194 | DEPRECATED: Avoid large number of String concatenation (.NET) |
medium
|
7198 | Avoid String concatenation in loops (.NET) |
medium
|
7208 | DEPRECATED: Avoid the use of is inside loops |
medium
|
7212 | Avoid instantiations inside loops (.NET) |
high
|
7258 | DataReader must be called using CommandBehavior.CloseConnection enumeration |
medium
|
7260 | User Interface elements must not use directly the database |
medium
|
7262 | Avoid Namespaces with High Efferent Coupling (CE) |
medium
|
7264 | Avoid namespaces with High Afferent Coupling (CA) |
medium
|
7266 | Call 'base.Dispose()' or 'MyBase.Finalize()' in the "finally" block of 'Dispose(bool)' methods |
medium
|
7268 | Dispose() methods should call GC.SuppressFinalize |
medium
|
7270 | Methods that do not use instance fields\methods should be static (.NET) |
medium
|
7272 | Provide a private default Constructor for utility Classes (.NET) |
medium
|
7294 | Avoid cyclical calls and inheritances between namespaces content |
medium
|
7352 | Avoid calling properties that clone values in loops |
medium
|
7358 | Avoid call to AcceptChanges in a loop |
critical
|
7458 | Avoid large Interfaces - too many Methods (.NET) |
medium
|
7466 | Avoid changing DataSource member before ValueMember/DisplayMember |
high
|
7468 | Disable constraints before merging DataSet |
medium
|
7470 | DEPRECATED: Avoid doing select on Datatable in loop |
high
|
7474 | Avoid Repainting When Updating a ListBox |
medium
|
7740 | Avoid HTTP response splitting |
critical
|
7742 | Avoid SQL injection |
critical
|
7746 | Avoid LDAP injection |
critical
|
7748 | Avoid OS command injection |
critical
|
7750 | Avoid XPath injection |
critical
|
7752 | Avoid file path manipulation |
high
|
7766 | Avoid Artifacts with High Cyclomatic Complexity |
medium
|
7768 | Avoid Artifacts with High Depth of Code |
medium
|
7770 | Avoid Artifacts with too many parameters |
medium
|
7772 | Avoid Artifacts with High Essential Complexity |
medium
|
7774 | Avoid Artifacts with High Integration Complexity |
medium
|
7776 | Avoid Artifacts with High Fan-In |
medium
|
7778 | Avoid Artifacts with High Fan-Out |
medium
|
7780 | Avoid Classes with a very low comment/code ratio |
medium
|
7782 | Avoid empty finally blocks |
medium
|
7784 | Avoid Artifacts with lines longer than X characters |
medium
|
7788 | Avoid empty catch blocks |
high
|
7792 | Avoid Classes with a High Number Of Children |
medium
|
7794 | Avoid Classes with a High Public Data Ratio |
medium
|
7796 | Avoid Classes with a High Lack of Cohesion - variant |
medium
|
7798 | Avoid Classes with a High Lack of Cohesion |
medium
|
7800 | Avoid Classes with High Coupling Between Objects |
medium
|
7802 | Avoid Classes with a High Depth of Inheritance Tree |
medium
|
7804 | Avoid Classes with High Weighted Methods per Class |
medium
|
7806 | Avoid Artifacts with Group By |
medium
|
7812 | Class naming convention - case and character set control |
medium
|
7816 | Avoid using GOTO statement |
medium
|
7824 | Avoid directly throwing instance of Exception class |
high
|
7830 | Avoid unreferenced Interfaces |
medium
|
7834 | Avoid undocumented Interfaces |
medium
|
7838 | Avoid undocumented Methods |
medium
|
7842 | Avoid large Artifacts - too many Lines of Code |
medium
|
7844 | Avoid undocumented Classes |
medium
|
7846 | Avoid Methods with a very low comment/code ratio |
medium
|
7848 | Interface naming convention - prefix |
medium
|
7862 | Avoid catching an exception of type Exception, RuntimeException, or Throwable |
medium
|
7914 | Avoid direct access to Database Tables |
medium
|
7918 | Exceptions naming convention -suffix control |
medium
|
7920 | Exceptions naming convention - case and character set control |
medium
|
7934 | Avoid Superclass (or Interface) knowing Subclass (or Interface) |
medium
|
7944 | Avoid High Response for Classes |
medium
|
8028 | Avoid missing default in switch statements |
medium
|
8032 | Avoid using break statement in FOR loops |
medium
|
8044 | Avoid log forging |
high
|
8086 | Avoid types that own disposable fields and are not disposable |
medium
|
8088 | Avoid override artifacts not having link demands identical to base |
medium
|
8090 | Avoid using NaN to test the result of an expression |
high
|
8092 | Avoid Objects having exposed pointers allowed to access unmanaged memory |
medium
|
8094 | Avoid locking of Objects with weak identities |
medium
|
8098 | Avoid uncontrolled format string |
critical
|
8108 | Avoid missing release of stream connection after an effective lifetime |
critical
|
8110 | Avoid not using dedicated stored procedures when processing multiple data accesses |
high
|
8112 | Avoid improper processing of the execution status of data handling operations |
high
|
8148 | Avoid artifacts having Incorrect Type Conversion or Cast |
high
|
8150 | Avoid using Parse for primitive types and used instead TryParse |
medium
|
8152 | Avoid having transaction with the Thread.Sleep method in a loop |
medium
|
8154 | Avoid using GC.Collect() |
high
|
8156 | Persistent classes should implement GetHashCode() and Equals() |
high
|
8158 | Avoid thread creation for application running on application server |
critical
|
8222 | Avoid hard-coded credentials |
critical
|
8238 | Avoid mixing trusted and untrusted data in HTTP requests |
high
|
8240 | Avoid using unsecured cookie |
critical
|
8242 | Avoid using insufficient random values for cookies |
high
|
8400 | Avoid having lock on this object |
medium
|
8402 | All types of a serializable class must be serializable |
medium
|
8408 | Avoid reflected cross-site scripting (non persistent) |
critical
|
8410 | Avoid cross-site scripting (persistent) |
critical
|
8414 | Avoid weak cryptographic algorithm |
high
|
8416 | Avoid use of a reversible one-way hash |
high
|
8418 | Avoid NoSQL injection |
critical
|
8420 | Avoid second order SQL injection |
critical
|
8424 | Avoid using hard-coded HMAC keys |
critical
|
8434 | Avoid process control |
critical
|
8436 | Avoid thread injection |
critical
|
8438 | Avoid code injection |
critical
|
8440 | Avoid reflection injection |
critical
|
8442 | Avoid resource injection |
critical
|
8444 | Avoid resource URL manipulation |
critical
|
8446 | Avoid URL redirection to untrusted site |
critical
|
8482 | Avoid cross-site scripting through API requests |
critical
|
8484 | Avoid HTTP response splitting through API requests |
critical
|
8486 | Avoid resource injection through API requests |
critical
|
8488 | Avoid resource URL manipulation through API requests |
critical
|
8490 | Avoid SQL injection through API requests |
critical
|
8492 | Avoid LDAP injection through API requests |
critical
|
8494 | Avoid OS command injection through API requests |
critical
|
8496 | Avoid process control through API requests |
critical
|
8498 | Avoid thread injection through API requests |
critical
|
8500 | Avoid code injection through API requests |
critical
|
8502 | Avoid reflection injection through API requests |
critical
|
8504 | Avoid XPath injection through API requests |
critical
|
8506 | Avoid file path manipulation through API requests |
critical
|
8508 | Avoid log forging through API requests |
high
|
8510 | Avoid uncontrolled format string through API requests |
critical
|
8512 | Avoid mixing trusted and untrusted data in HTTP requests through API requests |
critical
|
8514 | Avoid NoSQL injection through API requests |
critical
|
8516 | Avoid URL redirection to untrusted site through API requests |
critical
|
8518 | Avoid regular expression injection |
critical
|
8520 | Avoid second order regular expression injection |
critical
|
8522 | Avoid regular expression injection through API requests |
critical
|
8524 | Avoid deserialization injection |
critical
|
8526 | Avoid second order deserialization injection |
critical
|
8528 | Avoid deserialization injection through API requests |
critical
|
8530 | Avoid XQuery injection |
critical
|
8532 | Avoid second order XQuery injection |
critical
|
8534 | Avoid XQuery injection through API requests |
critical
|
8542 | Avoid debug forging |
medium
|
8544 | Avoid debug forging through API requests |
medium
|
8554 | Avoid using insufficient random generator |
critical
|
8560 | Avoid server-side request forgery |
critical
|
8562 | Avoid server-side request forgery through API requests |
critical
|
8564 | Avoid second order server-side request forgery |
critical
|
1025000 | Avoid second order OS command injection |
critical
|
1025002 | Avoid second order XPath injection |
critical
|
1025004 | Avoid second order URL redirection to untrusted site |
critical
|
1025010 | Avoid second order LDAP injection |
critical
|
1025016 | Avoid using cookie without the HttpOnly flag |
critical
|
1025018 | Avoid cookie injection |
critical
|
1025020 | Avoid data filter injection |
critical
|
1025022 | Avoid data filter injection through API requests |
critical
|
1025024 | Avoid disabling the expiration time validation of a JWT token |
critical
|
1025026 | Avoid disabling the expiration time requirement of a JWT token |
critical
|
1025028 | Avoid disabling the signature requirement of a JWT token |
critical
|
1025030 | Avoid hard-coded JWT secret keys |
critical
|
1025032 | Avoid insecure parameters for PBKDF2 password encoder |
critical
|
1025034 | Avoid insecure parameters for BCrypt password encoder |
critical
|
1025036 | Avoid insecure parameters for Argon2 password encoder |
critical
|
1025038 | Avoid insecure parameters for SCrypt password encoder |
critical
|
1025040 | Avoid external control of system or configuration setting |
critical
|
1025042 | Avoid external control of system or configuration setting through API requests |
critical
|
1025044 | Avoid MVC injection |
critical
|
1025046 | Avoid MVC injection through API requests |
critical
|
1025048 | Avoid hard-coded password in connection string |
critical
|
1025050 | Avoid dangerous file inclusion |
critical
|
1025052 | Avoid using unnormalized input strings |
critical
|
1025054 | Avoid plaintext storage of password |
critical
|
1025056 | Avoid running SQL queries inside a loop |
critical
|
1025058 | Avoid numeric user inputs in SQL queries |
critical
|
1025060 | Avoid second order numeric user inputs in SQL queries |
critical
|
1025062 | Avoid numeric user inputs in SQL queries through API requests |
critical
|
1027000 | Avoid Managed type declaration for Win32 API using Overlapped IO |
medium
|
1027002 | Avoid exposing methods that use Platform Invocation Services to access unmanaged code |
medium
|
1027004 | Avoid using deprecated XmlTextReader .NET API |
medium
|
1027008 | Always Revert After Impersonation |
high
|
1027010 | Avoid weak encryption providing insufficient key size (.NET) |
high
|
1027012 | Avoid storing Non-Serializable Object as HttpSessionState attributes. |
high
|
1027014 | Avoid using Thread API (Suspend\Resume) to manage thread state |
medium
|
1027016 | Avoid throwing exceptions in destructors |
high
|
1027018 | Avoid throwing exceptions from finally block |
medium
|
1027020 | Prefer using Any() over Count() or LongCount() |
medium
|
1027022 | Avoid using "new Guid()" |
medium
|
1027024 | Avoid comparing passwords against hard-coded strings |
critical
|
1027026 | Avoid Connection String Parameter Pollution |
high
|
1027030 | Avoid using "Obsolete" attribute without message |
medium
|
1027032 | Avoid hard-coded network resource names (.NET, VB) |
medium
|
1027034 | Never catch NullReferenceException |
medium
|
1027036 | Avoid rethrowing exception explicitly |
medium
|
1027038 | Avoid if … else if constructs not terminated with an else clause (.NET, VB) |
medium
|
1027040 | Avoid using multiple OrderBy calls |
medium
|
1027042 | Avoid having unmatched contracts for exported interfaces |
medium
|
1027044 | Avoid using SafeHandle.DangerousGetHandle |
critical
|
1027046 | Avoid storing passwords in Comments |
medium
|
1027048 | Avoid returning null from non-async Task/Task<T> method |
medium
|
1027050 | Avoid throwing ArgumentException from yielding method. |
medium
|
1027052 | DEPRECATED: Avoid NULL Pointer Dereference (C#, VB.NET) |
medium
|
1027054 | Always use System.Uri instead of string to build URLs |
medium
|
1027058 | Avoid blocking async methods (.NET, VB) |
medium
|
1027064 | Always override 'Equals' and Comparison operators with IComparable implementation |
medium
|
1027066 | Avoid throwing exception from property getters |
medium
|
1027068 | Avoid returning null from ToString() |
medium
|
1027070 | Avoid if statements and blocks that are always TRUE or FALSE |
medium
|
1027074 | Avoid hard-coded URIs (.NET) |
medium
|
1027076 | Avoid allowing File IO unrestricted access |
medium
|
1027078 | Always mark Windows Forms starting point as STAThread |
medium
|
1027080 | Always use ConfigureAwait(false) in library code awaited tasks |
medium
|
1027082 | Avoid using console logging (.Net) |
medium
|
1027084 | Avoid calling CoSetProxyBlanket and CoInitializeSecurity |
high
|
1027086 | Avoid having the same implementation in a conditional structure |
medium
|
1027088 | Avoid non-public custom exception types |
medium
|
1027090 | Avoid improper instantiation of argument exceptions |
medium
|
1027092 | Always pass optional parameters too, when making 'base' calls |
medium
|
1027094 | Always provide deserialization methods for optional fields |
medium
|
1027096 | Avoid raising exceptions in unexpected location |
medium
|
1027098 | Avoid unused private types or members |
medium
|
1027100 | Avoid dangerous File Upload |
high
|
1027102 | Avoid using Regex constructor or static method without timeout |
high
|
1043006 | Avoid disabling ValidateInput on ASP.NET Http Post/Put Request |
high
|
1043008 | Avoid disabling ValidateInput on controller |
high
|
1043010 | Avoid creating cookie without setting httpOnly option (C#) |
high
|
1043012 | Avoid creating cookie without setting httpOnly option in Config file (ASP.NET) |
high
|
1043014 | Avoid disabling ValidateRequest in Config file (ASP.NET) |
high
|
1043018 | Avoid storing passwords in the config files |
high
|
1043020 | Avoid having applications with the debug mode activated |
medium
|
1043022 | Avoid using unsecured cookie (C#) |
medium
|
1043024 | Always enable RequireSSL attribute for cookies in Config file (ASP.NET) |
medium
|
1043026 | Avoid disabling EnableViewStateMac in Config file (ASP.NET) |
medium
|
1043030 | Ensure the X-Frame-Options header is setup (ASP.NET) |
high
|
1043034 | Avoid having applications with the tracing activated in the web config file |
medium
|
1043036 | Avoid using Impersonate identity (ASP.NET) |
medium
|
1043038 | Avoid having applications with the tracing activated in the source code |
medium
|
1043044 | Avoid disabling the XSRF/CSRF Protection (ASP.NET MVC) |
critical
|
1043046 | Avoid creating cookie with overly broad path (C#) |
critical
|
1043048 | Avoid having cookie with an overly broad domain (C#) |
critical
|
1043050 | Avoid having long timeout for HttpCookie (> 5 mn) |
medium
|
1043052 | Ensure aspnet:UseLegacyFormsAuthenticationTicketCompatibility is set to true |
medium
|
1043054 | Avoid overly permissive Cross-Origin Resource Sharing (CORS) policy |
medium
|
1043058 | Avoid disabling Header Checking flag in config file |
medium
|
1043060 | Avoid disabling HMAC signature verification (C#) |
high
|
1043062 | Avoid having all users accessing resources (.NET) |
medium
|
1043066 | Always use HTTPS Redirection Middleware and HSTS Middleware in your ASP.NET Core application |
high
|
1043068 | Avoid using RequireHttpsAttribute on Web APIs that receive sensitive information |
medium
|
1043070 | Avoid disabling the XSRF/CSRF Protection (ASP.NET Core MVC) |
critical
|
1043072 | Avoid creating unsecured HTTPS GET metadata endpoint in code |
high
|
1043076 | Avoid disabling custom errors mode to prevent exposure of exceptions and error data |
medium
|
1043078 | Avoid debug binaries that include detailed debug information |
medium
|
1043084 | Avoid XML schemas with unbounded occurrences |
medium
|
1043086 | Avoid using Html.Raw() or HtmlHelper.Raw() |
high
|
1060020 | Avoid empty catch blocks for methods with high fan-in |
critical
|
1060022 | Avoid too many SQL calls for methods with high fan-in |
critical
|
1101036 | Use ANSI standard operators in SQL WHERE clauses |
medium
|
1101958 | Avoid artifacts having db.collection.ensureIndex() to create new indexes |
medium
|
1101962 | Avoid using explain() in production code |
medium
|
1101964 | When using compound indexes, avoid having different index ordering in collection access |
medium
|
1101968 | Avoid having multiple Artifacts updating data on the same NoSQL Collection |
medium
|
1101970 | Avoid having multiple Artifacts inserting data on the same NoSQL Collection |
medium
|
1101972 | Avoid having multiple artifacts deleting data on the same NoSQL collection |
medium
|