Habilitar Code Security para Python
Este producto no es compatible con el
sitio Datadog seleccionado. (
).
Puedes detectar vulnerabilidades a nivel de código y monitorizar la seguridad de las aplicaciones Python que se ejecutan en Docker, Kubernetes, Amazon ECS y AWS Fargate.
NOTA: La detección de vulnerabilidades a nivel de código en Python está en vista previa.
Sigue estos pasos para activar Code Security en tu servicio:
Actualiza tu Datadog Agent al menos a la versión 7.41.1.
Actualiza tu biblioteca de rastreo de Datadog al menos a la versión mínima necesaria para activar Code Security. Para ver más detalles, consulta la página Compatibilidad de bibliotecas.
Añade la variable de entorno DD_IAST_ENABLED=true
a la configuración de tu aplicación.
Desde la línea de comandos:
DD_IAST_ENABLED=true ddtrace-run python app.py
O uno de los siguientes métodos, dependiendo de dónde se ejecute la aplicación:
Actualiza tu contenedor de configuración para APM añadiendo el siguiente argumento en tu comando docker run
:
docker run [...] -e DD_IAST_ENABLED=true [...]
Añade el siguiente valor de variable de entorno a tu contenedor Dockerfile:
Actualiza tu archivo de configuración de despliegue para APM y añade la variable de entorno de IAST:
spec:
template:
spec:
containers:
- name: <CONTAINER_NAME>
image: <CONTAINER_IMAGE>/<TAG>
env:
- name: DD_IAST_ENABLED
value: "true"
Actualiza tu archivo JSON de definición de tarea de ECS añadiendo esto en la sección de entorno:
"environment": [
...,
{
"name": "DD_IAST_ENABLED",
"value": "true"
}
]
- Reinicia tu servicio.
- Para ver la seguridad del código en acción, examina el servicio y busca las vulnerabilidades a nivel de código en el Explorador de vulnerabilidades.
Si necesitas ayuda adicional, ponte en contacto con el equipo de asistencia de Datadog.
Nota sobre la compatibilidad de bibliotecas de terceros
Code Security modifica el código Python en tiempo de ejecución. Esto podría causar conflictos con otras bibliotecas Python de terceros que realizan transformaciones de código similares, en particular con los siguientes, pero sin limitarse a ellos:
- Numba
- JAX
- TorchScript
- TensorFlow
- Bytecode
- Codetransformador
- PyPy
Además, Code Security no propaga correctamente los rangos de contaminación sobre el código nativo (compilado). Por lo tanto, si tu código depende en gran medida de módulos escritos en C o C++,
utilizando la API CPython, o en sistemas de lenguaje intermedios como Cython, los resultados podrían ser menos precisos de lo esperado.
Para leer más
Más enlaces, artículos y documentación útiles: