Python용 Code Security 활성화
Docker, Kubernetes, Amazon ECS, AWS Fargate에서 실행되는 Python 애플리케이션의 코드 수준 취약점을 탐지하고 애플리케이션 보안을 모니터링합니다.
참고: Python의 코드 수준 취약점 탐지는 평가판 버전입니다.
서비스에서 Code Security를 활성화하려면 다음 단계를 따르세요.
Datadog Agent를 최소 버전 7.41.1로 업데이트하세요.
Code Security을 활성화하는 데 필요한 최소 버전으로 Datadog Tracing Library를 업데이트하세요. 자세한 내용은 Library Compatibility 페이지를 참고하세요.
애플리케이션 구성에 DD_IAST_ENABLED=true 환경 변수를 추가합니다.
명령줄에서:
DD_IAST_ENABLED=true ddtrace-run python app.py
또는 애플리케이션이 실행되는 위치에 따라 다음 방법 중 하나를 선택합니다.
docker run [...] -e DD_IAST_ENABLED=true [...]
컨테이너 도커파일에 다음 환경 변수 값을 추가합니다.
APM용 배포 구성 파일을 업데이트하고 IAST 환경 변수를 추가합니다.
spec:
template:
spec:
containers:
- name: <CONTAINER_NAME>
image: <CONTAINER_IMAGE>/<TAG>
env:
- name: DD_IAST_ENABLED
value: "true"
환경 섹션에서 이를 추가하여 ECS 작업 정의 JSON 파일을 업데이트합니다:
"environment": [
...,
{
"name": "DD_IAST_ENABLED",
"value": "true"
}
]
- 서비스를 다시 시작하세요.
- Code Security가 실제로 어떻게 작동하는지 확인하려면 서비스를 살펴보세요. Vulnerability Explorer에 코드 수준 취약점이 나타납니다.
추가 지원이 필요하시면 Datadog 지원팀에 문의하세요.
타사 라이브러리 호환성 참고 사항
Code Security는 런타임에서 Python 코드를 수정합니다. 이로 인해 유사한 코드 변환을 수행하는 다른 타사 Python 라이브러리, 특히 다음과 같은 라이브러리와 충돌이 발생할 수 있습니다(이에 국한되지 않음).
- Numba
- JAX
- TorchScript
- TensorFlow
- Bytecode
- Codetransformer
- PyPy
아울러, Code Security는 컴파일된 네이티브 코드에서 오염 범위를 올바르게 전파하지 않습니다. 따라서 코드베이스가 C 또는 C++로 작성된 모듈, CPython API를 사용한 모듈 또는
Cython과 같은 중간 언어 시스템에 크게 의존하는 경우 결과가 예상보다 정확하지 않을 수 있습니다.
참고 자료