コンテンツにスキップ

Security


Beacon Security は、各言語の既存のゼロコードパッケージに含まれる任意機能です。既定では無効で、別の Agent、ラッパーコマンド、独立したバージョン管理は追加されません。

言語 ランタイムの対象範囲 デプロイ方法
Java 完全版 Java Agent 単一の Agent JAR
Python 標準 GIL の CPython 3.11–3.14 既存の beacon コマンド
Node.js Node.js 22.22.3+ または 24.11.1+ 既存パッケージと ESM プリロード

有効にすると、Security はアプリケーションの既存の OpenTelemetry Logs パイプラインを使い、セキュリティ検出結果とランタイムのソフトウェア一覧を送信します。Security のライフサイクルではランタイム SBOM が既定で有効になります。プロセスローカルの診断ファイルは、明示的に有効にするまで無効のままです。

セキュリティ検出結果は、モデル化された範囲内でのデータフロー観測やリスク候補を示し、脆弱性の存在を確定するものではありません。まずアプリケーションのランタイムに対応するガイドを選び、設定範囲を広げる前にエクスポートされた Logs レコードを確認してください。

.NET と PHP には、現在リリース済みの Beacon Security 機能はありません。

DataKit への接続

共通設定に従って DataKit OpenTelemetry コレクターを有効にし、対象言語のゼロコードインストールを完了してください。Security は OTLP Logs で送信します。Guance の「ログ」でレコードを確認してください。以下は、アプリケーションと DataKit が同じホストにあることを前提とします。

Java

Beacon Java の完全版 Agent JAR には Security が組み込まれています。Java ゼロコードガイドと同じ -javaagent 設定を引き続き使用してください。別の Security JAR をインストール、管理する必要はありません。

Java Security の有効化

export BEACON_SECURITY_ENABLED=true
export OTEL_SERVICE_NAME=orders
export OTEL_RESOURCE_ATTRIBUTES=service.namespace=shop
export OTEL_LOGS_EXPORTER=otlp
export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
export OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:9529/otel
java -javaagent:./beacon-javaagent.jar -jar orders.jar

Agent は OpenTelemetry Logs でセキュリティ検出結果とランタイム CycloneDX SBOM をエクスポートします。Security は既定では無効です。検出結果はモデル化されたランタイム観測やリスク候補を示し、確認済みの脆弱性を意味しません。

Java パラメーターリファレンス

環境変数 既定値 用途
BEACON_SECURITY_ENABLED false Security のライフサイクルとランタイム観測を有効にします。
BEACON_SECURITY_SBOM_ENABLED true Security が有効なときにランタイム SBOM を収集します。
BEACON_SECURITY_LOCAL_OUTPUT_ENABLED false プロセスローカルの診断スナップショットを有効にします。
BEACON_SECURITY_OUTPUT ./beacon-security-output/<instance-id> 診断スナップショットのディレクトリを指定します。
BEACON_SECURITY_EVIDENCE_FILE 未設定 任意の診断 JSONL ファイルを指定します。

標準の OpenTelemetry 変数でリソースの識別、転送、認証を設定します。ローカル出力は診断用であり、永続化やクラスターレベルの配信の仕組みではありません。

Python

Beacon Python は beacon-otel wheel に Security を含みます。標準 GIL の CPython 3.11 から 3.14 に対応し、既存の beacon コマンドをそのまま使用します。別の Security パッケージは不要です。

Python Security の有効化

export BEACON_SECURITY_ENABLED=true
export BEACON_SECURITY_PYTHON_INCLUDE=orders
export OTEL_SERVICE_NAME=orders
export OTEL_RESOURCE_ATTRIBUTES=service.namespace=shop
export OTEL_LOGS_EXPORTER=otlp
export OTEL_EXPORTER_OTLP_PROTOCOL=grpc
export OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:4317
beacon uvicorn orders.asgi:application --host 0.0.0.0 --port 8000

BEACON_SECURITY_PYTHON_INCLUDE には、ファイルシステムのパスではなく Python モジュールのプレフィックスを指定します。未設定の場合、有効なライフサイクルからランタイム SBOM はエクスポートできますが、アプリケーションモジュールの変換や、モデル化されたデータフローの検出結果は生成されません。

Python パラメーターリファレンス

環境変数 既定値 用途
BEACON_SECURITY_ENABLED false Security のライフサイクルとランタイム SBOM を有効にします。
BEACON_SECURITY_PYTHON_INCLUDE 空 セキュリティ検出の収集対象となるアプリケーションモジュールのプレフィックスを選択します。
BEACON_SECURITY_PYTHON_EXCLUDE 空 除外するモジュールプレフィックス。include より優先されます。
BEACON_SECURITY_SBOM_ENABLED true Security が有効なときにランタイム SBOM を収集します。
BEACON_SECURITY_LOCAL_OUTPUT_ENABLED false プロセスローカルの診断ファイルを有効にします。
BEACON_SECURITY_OUTPUT ./beacon-security-output/<instance-id> 診断ディレクトリを指定します。
BEACON_SECURITY_EVIDENCE_FILE 未設定 任意の診断 JSONL ファイルを指定します。

セキュリティ検出結果と SBOM レコードは OpenTelemetry Logs パイプラインで送信されます。ローカル出力は診断用であり、既定では無効のままにしてください。

Node.js

Beacon Node.js は @beacon-observability/nodejs に Security を含みます。通常はこの完全版パッケージをインストールするだけで利用できます。Security は同期モジュールフックによって限定された範囲のソース変換を行うため、Node.js 22.22.3+ または 24.11.1+ が必要です。

Node.js Security の有効化

ESM の --import プリロードが必須です。CommonJS の --require プリロードでは通常のテレメトリと Profile は起動できますが、Security のソース変換は有効になりません。

npm install @beacon-observability/nodejs

export NODE_OPTIONS="--import @beacon-observability/nodejs/register"
export BEACON_SECURITY_ENABLED=true
export BEACON_SECURITY_NODE_INCLUDE=/srv/app
export OTEL_SERVICE_NAME=orders
export OTEL_RESOURCE_ATTRIBUTES=service.namespace=shop
export OTEL_LOGS_EXPORTER=otlp
export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
export OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:9529/otel
node /srv/app/server.mjs

BEACON_SECURITY_NODE_INCLUDE でアプリケーションのソースルートを選択します。依存パッケージ、Node.js の組み込みモジュール、明示的に除外したルートは変換されません。

Node.js パラメーターリファレンス

環境変数 既定値 用途
BEACON_SECURITY_ENABLED false Security のライフサイクルとランタイム SBOM を有効にします。
BEACON_SECURITY_NODE_INCLUDE 空 セキュリティ検出の収集対象となるアプリケーションのソースルートを選択します。
BEACON_SECURITY_NODE_EXCLUDE 空 除外するソースルート。include より優先されます。
BEACON_SECURITY_SBOM_ENABLED true Security が有効なときにランタイム SBOM を収集します。
BEACON_SECURITY_LOCAL_OUTPUT_ENABLED false プロセスローカルの診断ファイルを有効にします。
BEACON_SECURITY_OUTPUT ./beacon-security-output/<instance-id> 診断ディレクトリを指定します。

セキュリティ検出結果と SBOM レコードは OpenTelemetry Logs パイプラインで送信されます。ローカル出力は診断用であり、既定では無効のままにしてください。

BEACON_SECURITY_ENABLED を false に設定してアプリケーションを再起動すると、通常のゼロコードテレメトリを維持したまま Security を無効にできます。

フィードバック

このページは役に立ちましたか?