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++로 작성된 모듈에 크게 의존하는 경우,
또는 Cython과 같은 중간 언어 시스템에서 작성된 모듈에 크게 의존하는 경우 결과가 예상보다 정확하지 않을 수 있습니다.
참고 자료