Reglas de análisis estático

¡Obtén la versión preliminar!

Code Analysis se encuentra en versión preliminar.

Code Analysis no se encuentra disponible para el sitio .

Información general

El análisis estático de Datadog proporciona reglas listas para usar que ayudan a detectar infracciones en los pipelines de CI/CD en las revisiones de código e identifican errores, problemas de seguridad y mantenimiento. Para obtener más información, consulta la documentación de configuración.

Ruleset ID: csharp-best-practices Reglas para aplicar las prácticas recomendadas de C#.
avoid-call-gc-suppress-finalize
>
no-empty-finalizer
>
finalizer-no-exception
>
avoid-formattablestring
>
no-nested-ternary
>
avoid-notimplementedexception
>
sealed-class-protected-members
>
redundant-modifiers
>
no-sleep-in-tests
>
avoid-gc-collect
>
dispose-objects-once
>
comparison-nan
>
no-exception-special-methods
>
use-specific-exceptions
>
avoid-non-existing-operators
>
objects-ensure-use
>
exception-must-be-thrown
>
catch-nullreference
>
no-empty-default
>
tostring-not-return-null
>
use-assembly-load
>
Ruleset ID: csharp-code-style Reglas para aplicar el código de estilo de C#.
short-class-name
>
short-method-name
>
class-naming-conventions
>
variable-naming-conventions
>
interface-first-letter
>
Ruleset ID: csharp-inclusive Reglas para que tu código de C# sea más inclusivo.
Ruleset ID: csharp-security Reglas centradas en encontrar problemas de seguridad en tu código de C#.
Ruleset ID: github-actions Reglas para verificar tus GitHub Actions y detectar patrones inseguros, como permisos o fijación de versiones.
Ruleset ID: go-best-practices Reglas para que sea más rápido y sencillo escribir código de Go. Desde el estilo de código hasta la prevención de errores, este conjunto de reglas ayuda a los desarrolladores a escribir código de Go eficiente, fácil de mantener y de alto rendimiento.
avoid-bare-return
>
time-parse-format
>
avoid-empty-critical-sections
>
valid-regular-expression
>
manual-string-trimming
>
negative-zero
>
redundant-nil-check
>
loop-regexp-match
>
superfluous-else
>
useless-bitwise-operation
>
bad-nil-guard
>
invalid-host-port-pair
>
merge-declaration-assignment
>
comparing-address-nil
>
comparison-true
>
defer-lock
>
redefine-builtin-id
>
redundant-negation
>
math-pow-expansion
>
inefficient-string-comparison
>
invalid-seek-value
>
do-not-compare-nan
>
omit-default-slice-index
>
redundant-type-var-declaration
>
compare-identical
>
unnecessary-blank-identifier
>
mod-one-always-zero
>
simplify-boolean-expression
>
simplify-pointer-operation
>
Ruleset ID: go-inclusive Verifica el código de Go para detectar problemas de redacción.
Ruleset ID: go-security Detecta problemas de seguridad comunes (como la inyección de SQL, XSS o inyección de shell) en tu base de código de Go.
command-injection
>
unescape-template-data-js
>
grpc-client-insecure
>
grpc-server-insecure
>
avoid-rat-setstring
>
import-cgi
>
tls-skip-verify
>
http-request-secure
>
chmod-permissions
>
decompression-bomb
>
range-memory-aliasing
>
cookie-secure
>
session-secure
>
unsafe-reflection
>
Ruleset ID: java-best-practices Reglas para aplicar las prácticas recomendadas de Java.
avoid-calendar-creation
>
avoid-string-instantiation
>
avoid-reassigning-parameters
>
redundant-initializer
>
avoid-printstacktrace
>
default-label-not-last-in-switch
>
add-empty-string
>
return-internal-array
>
avoid-reassigning-catch-vars
>
while-loop-with-literal-boolean
>
preserve-stack-trace
>
replace-vector-with-list
>
array-is-stored-directly
>
replace-hashtable-with-map
>
missing-switch-statement-default
>
simplify-test-assertions-boolean
>
Ruleset ID: java-code-style Reglas para aplicar el código de estilo de Java.
Ruleset ID: java-inclusive Reglas de Java para evitar redactar textos inadecuados en el código y los comentarios.
Ruleset ID: java-security Reglas centradas en encontrar problemas de seguridad en código de Java.
keygenerator-avoid-des
>
ldap-injection
>
avoid-null-cipher
>
sql-injection
>
json-unsafe-deserialization
>
spring-request-file-tainted
>
bad-hexa-concatenation
>
cookies-http-only
>
spring-csrf-disable
>
message-digest-custom
>
no-des-cipher
>
unvalidated-redirect
>
aes-ecb-insecure
>
cipher-padding-oracle
>
trust-boundaries
>
ignore-saml-comment
>
algorithm-no-hardcoded-secret
>
path-traversal-file-read
>
command-injection
>
object-deserialization
>
http-parameter-pollution
>
ldap-entry-poisoning
>
path-traversal
>
tainted-url-host
>
xss-protection
>
weak-message-digest-sha1
>
smtp-insecure-connection
>
spring-csrf-requestmapping
>
sql-injection-turbine
>
sql-injection-hibernate
>
potential-sql-injection
>
unencrypted-socket
>
Ruleset ID: javascript-best-practices Reglas para aplicar las prácticas recomendadas de JavaScript.
no-duplicate-case
>
no-dupe-class-members
>
no-unused-expressions
>
Ruleset ID: javascript-browser-security Reglas centradas en encontrar problemas de seguridad en tus aplicaciones web de JavaScript.
event-check-origin
>
react-dangerously-inner-html
>
local-storage-sensitive-data
>
postmessage-permissive-origin
>
Ruleset ID: javascript-common-security Reglas centradas en encontrar problemas de seguridad en tu código de JavaScript.
axios-avoid-insecure-http
>
xml-no-external-entities
>
unique-function-arguments
>
Ruleset ID: javascript-express Reglas específicas para las prácticas recomendadas y seguridad de Express.js.
Ruleset ID: javascript-inclusive Reglas de JavaScript para evitar redactar textos inadecuados en el código y los comentarios.
Ruleset ID: javascript-node-security Reglas para identificar posibles puntos críticos de seguridad en Node. Esto puede incluir falsos positivos que requieren una evaluación más exhaustiva.
Ruleset ID: kotlin-best-practices Reglas para aplicar las prácticas recomendadas de Kotlin.
Ruleset ID: kotlin-code-style Reglas para aplicar el código de estilo de Kotlin.
function-name-min-length
>
angle-bracket-spacing
>
annotation-spacing
>
argument-list-wrapping
>
block-comment-formatting
>
no-consecutive-comments
>
no-consecutive-blank-lines
>
curly-bracket-spacing
>
double-colon-spacing
>
extension-function-spacing
>
function-return-type-spacing
>
function-type-modifier-spacing
>
nullable-type-spacing
>
unary-operator-spacing
>
enum-entry-naming
>
no-line-break-before-assignment
>
no-empty-lead-line-class
>
no-empty-lead-line-method
>
Ruleset ID: php-best-practices Reglas para aplicar las prácticas recomendadas de PHP, mejorar el estilo de código, prevenir errores, y promover un código de PHP de alto rendimiento, fácil de mantener y eficiente.
Ruleset ID: php-code-style Reglas para aplicar el código de estilo de PHP.
Ruleset ID: php-security Reglas centradas en encontrar problemas de seguridad en tu código de PHP.
laravel-path-traversal-storage
>
unsafe-entity-loader
>
laravel-avoid-path-injection
>
no-pseudo-random
>
symfony-csrf-disabled
>
curl-hostname-verification
>
laravel-cookie-not-encrypted
>
ldap-authenticate-connection
>
ldap-injection
>
laravel-native-sql-injection
>
laravel-raw-sql-injection
>
curl-certificate-verification
>
Ruleset ID: python-best-practices Prácticas recomendadas de Python para escribir código eficiente y sin errores.
function-already-exists
>
assertraises-specific-exception
>
invalid-assert
>
avoid-string-concat
>
unreachable-code
>
function-variable-argument-name
>
self-assignment
>
no-base-exception
>
return-outside-function
>
any-type-disallow
>
no-bare-except
>
finally-no-break-continue-return
>
no-datetime-today
>
no-double-unary-operator
>
dataclass-special-methods
>
comparison-constant-left
>
ambiguous-function-name
>
ambiguous-variable-name
>
import-modules-twice
>
init-no-return-value
>
comment-fixme-todo-ownership
>
no-duplicate-base-class
>
type-check-isinstance
>
Ruleset ID: python-code-style Reglas para aplicar el código de estilo de Python.
Ruleset ID: python-django Reglas específicas para las prácticas recomendadas y seguridad de Django.
model-charfield-max-length
>
os-system-from-request
>
subprocess-from-request
>
jsonresponse-no-content-type
>
no-unicode-on-models
>
open-filename-from-request
>
http-response-from-request
>
Ruleset ID: python-flask Reglas específicas para las prácticas recomendadas y seguridad de Flask.
Ruleset ID: python-inclusive Reglas de Python para evitar redactar textos inadecuados en el código y los comentarios.
Ruleset ID: python-pandas

Un conjunto de reglas para verificar que el código de pandas se use de forma adecuada.

  • Garantiza que las declaraciones import sigan las pautas de codificación.
  • Evita códigos y métodos obsoletos.
  • Evita el código ineficiente siempre que sea posible.
Ruleset ID: python-security

Reglas centradas en encontrar problemas de seguridad y vulnerabilidad en tu código de Python, incluidos aquellos que se encuentran en OWASP10 y SANS25.

  • Uso de protocolos de cifrado y hash incorrectos
  • Falta de control de acceso
  • Configuración errónea de seguridad
  • Inyecciones de SQL
  • Credenciales codificadas
  • Inyección de shell
  • Deserialización insegura
html-string-from-parameters
>
variable-sql-statement-injection
>
sql-server-security-credentials
>
insecure-hash-functions
>
asyncio-subprocess-create-shell
>
asyncio-subprocess-exec
>
request-verify
>
Ruleset ID: rails-best-practices Prácticas recomendadas para escribir código de Ruby on Rails.
Ruleset ID: ruby-best-practices Reglas para aplicar las prácticas recomendadas de Ruby.
prevent-attr
>
no-class-var
>
no-optional-hash-params
>
string-interpolation
>
no-double-negation
>
no-begin-blocks
>
no-end-blocks
>
no-extend-data-define
>
method-definition-colon
>
no-else-with-unless
>
no-explicit-rb-to-require
>
top-level-methods
>
atomic-file-operations
>
case-vs-if-elsif
>
proc-over-procnew
>
no-nested-method
>
exception-class-message-separate
>
existence-check-shorthand
>
avoid-hash-constructor
>
condition-safe-alignment
>
hash-literal-as-last-array-item
>
Ruleset ID: ruby-code-style Reglas de análisis de código para escribir reglas de Ruby que sigan estándares de codificación establecidos.
Ruleset ID: ruby-inclusive Escribir código de Ruby inclusivo
Ruleset ID: ruby-security Reglas centradas en encontrar problemas de seguridad en tu código de Ruby.
Ruleset ID: terraform-aws Reglas a fin de aplicar las prácticas recomendadas de Terraform para AWS.
Ruleset ID: typescript-best-practices Reglas para aplicar las prácticas recomendadas de TypeScript.
no-duplicate-enum-values
>
no-extra-non-null-assertion
>
no-var-requires
>
no-explicit-any
>
no-unnecessary-type-constraint
>
no-unsafe-declaration-merging
>
no-unused-expressions
>
Ruleset ID: typescript-browser-security Reglas centradas en encontrar problemas de seguridad en tus aplicaciones web de TypeScript.
event-check-origin
>
react-dangerously-inner-html
>
local-storage-sensitive-data
>
postmessage-permissive-origin
>
Ruleset ID: typescript-code-style Reglas que se consideran las prácticas recomendadas para las bases de código de TypeScript modernas, pero que no afectan la lógica del programa. Por lo general, estas reglas tienen como objetivo aplicar patrones de código más simples.
no-array-constructor
>
no-duplicate-imports
>
no-confusing-non-null-assertion
>
ban-tslint-comment
>
Ruleset ID: typescript-common-security Reglas centradas en encontrar problemas de seguridad en tu código de TypeScript.
axios-avoid-insecure-http
>
xml-no-external-entities
>
unique-function-arguments
>
Ruleset ID: typescript-express Reglas específicas para las prácticas recomendadas y seguridad de Express.js con TypeScript.
Ruleset ID: typescript-inclusive Reglas de TypeScript para evitar redactar textos inadecuados en el código y los comentarios.
Ruleset ID: typescript-node-security Reglas para identificar posibles puntos críticos de seguridad en Node. Esto puede incluir falsos positivos que requieren una evaluación más exhaustiva.

Further Reading

Más enlaces, artículos y documentación útiles: