Python 向け Code Security を有効化する
This product is not supported for your selected
Datadog site. (
).
You can detect code-level vulnerabilities and monitor application security in Python applicationss running in Docker, Kubernetes, Amazon ECS, and AWS Fargate.
注: コードレベルの脆弱性検出機能はプレビュー版です。
Follow these steps to enable Code Security in your service:
Datadog Agent をバージョン 7.41.1 以上に更新します。
Update your Datadog Tracing Library to at least the minimum version needed to turn on Code Security. For details, see Library Compatibility page.
アプリケーションの構成に DD_IAST_ENABLED=true
環境変数を追加します。
コマンドラインから
DD_IAST_ENABLED=true ddtrace-run python app.py
または、アプリケーションが実行される場所に応じて、以下の方法のいずれかを使用します。
APM 用の構成コンテナを更新するには、docker run
コマンドに以下の引数を追加します。
docker run [...] -e DD_IAST_ENABLED=true [...]
コンテナの Dockerfile に以下の環境変数の値を追加します。
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"
}
]
- サービスを再起動します。
- To see Code Security in action, browse your service and find code-level vulnerabilities in the Vulnerability Explorer.
さらにサポートが必要な場合は、Datadog サポートにお問い合わせください。
Third-Party Library Compatibility Note
Code Security は、実行時に Python のコードを変換します。これにより、類似のコード変換を行うサードパーティ Python ライブラリと競合が発生する可能性があります。特に以下のものが挙げられますが、これらに限定されません:
- Numba
- JAX
- TorchScript
- TensorFlow
- Bytecode
- Codetransformer
- PyPy
さらに、Code Security はネイティブ (コンパイル済み) コードにおいて、汚染範囲 (taint ranges) を正しく伝搬しません。そのため、CPython API を使って C や C++ で書かれたモジュールや 、Cython のような中間言語システムに大きく依存するコードベースの場合、結果が予想よりも不正確になる可能性があります。
その他の参考資料