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:

  1. Datadog Agent をバージョン 7.41.1 以上に更新します。

  2. Update your Datadog Tracing Library to at least the minimum version needed to turn on Code Security. For details, see Library Compatibility page.

  3. アプリケーションの構成に DD_IAST_ENABLED=true 環境変数を追加します。

    コマンドラインから

    DD_IAST_ENABLED=true ddtrace-run python app.py
    

    または、アプリケーションが実行される場所に応じて、以下の方法のいずれかを使用します。

APM 用の構成コンテナを更新するには、docker run コマンドに以下の引数を追加します。

docker run [...] -e DD_IAST_ENABLED=true [...]

コンテナの Dockerfile に以下の環境変数の値を追加します。

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"
  }
]
  1. サービスを再起動します。
  2. 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 のような中間言語システムに大きく依存するコードベースの場合、結果が予想よりも不正確になる可能性があります。

その他の参考資料