Windows 向けの CSM Threats イベントには、以下の JSON スキーマがあります:

BACKEND_EVENT_JSON_SCHEMA

{
"$id": "https://github.com/DataDog/datadog-agent/tree/main/pkg/security/serializers",
"$defs": {
"AgentContext": {
"properties": {
"rule_id": {
"type": "string"
},
"rule_version": {
"type": "string"
},
"rule_actions": {
"items": true,
"type": "array"
},
"policy_name": {
"type": "string"
},
"policy_version": {
"type": "string"
},
"version": {
"type": "string"
},
"os": {
"type": "string"
},
"arch": {
"type": "string"
},
"origin": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"rule_id"
]
},
"ChangePermissionEvent": {
"properties": {
"username": {
"type": "string",
"description": "ユーザー名"
},
"user_domain": {
"type": "string",
"description": "ユーザードメイン"
},
"path": {
"type": "string",
"description": "オブジェクト名"
},
"type": {
"type": "string",
"description": "オブジェクトタイプ"
},
"old_sd": {
"type": "string",
"description": "元のセキュリティ記述子"
},
"new_sd": {
"type": "string",
"description": "新しいセキュリティ記述子"
}
},
"additionalProperties": false,
"type": "object",
"description": "ChangePermissionEventSerializer は権限変更イベントを JSON 形式にシリアライズします"
},
"ContainerContext": {
"properties": {
"id": {
"type": "string",
"description": "コンテナID"
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "コンテナの作成時刻"
},
"variables": {
"$ref": "#/$defs/Variables",
"description": "変数値"
}
},
"additionalProperties": false,
"type": "object",
"description": "ContainerContextSerializer はコンテナコンテキストを JSON 形式にシリアライズします"
},
"EventContext": {
"properties": {
"name": {
"type": "string",
"description": "イベント名"
},
"category": {
"type": "string",
"description": "イベントカテゴリ"
},
"outcome": {
"type": "string",
"description": "イベント結果"
},
"async": {
"type": "boolean",
"description": "イベントが非同期の場合に true"
},
"matched_rules": {
"items": {
"$ref": "#/$defs/MatchedRule"
},
"type": "array",
"description": "イベントがマッチしたルールのリスト (異常のコンテキストでのみ有効)"
},
"variables": {
"$ref": "#/$defs/Variables",
"description": "変数値"
}
},
"additionalProperties": false,
"type": "object",
"description": "EventContextSerializer はイベントコンテキストを JSON 形式にシリアライズします"
},
"ExitEvent": {
"properties": {
"cause": {
"type": "string",
"description": "プロセス終了の原因 (EXITED、SIGNALED、COREDUMPED のいずれか)"
},
"code": {
"type": "integer",
"description": "プロセスを終了させた終了コードまたはシグナルの番号"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"cause",
"code"
],
"description": "ExitEventSerializer は終了イベントを JSON 形式にシリアライズします"
},
"File": {
"properties": {
"path": {
"type": "string",
"description": "ファイルパス"
},
"device_path": {
"type": "string",
"description": "ファイルデバイスパス"
},
"name": {
"type": "string",
"description": "ファイルベース名"
}
},
"additionalProperties": false,
"type": "object",
"description": "FileSerializer はファイルを JSON 形式にシリアライズします"
},
"FileEvent": {
"properties": {
"path": {
"type": "string",
"description": "ファイルパス"
},
"device_path": {
"type": "string",
"description": "ファイルデバイスパス"
},
"name": {
"type": "string",
"description": "ファイルベース名"
},
"destination": {
"$ref": "#/$defs/File",
"description": "ターゲットファイル情報"
}
},
"additionalProperties": false,
"type": "object",
"description": "FileEventSerializer はファイルイベントを JSON 形式にシリアライズします"
},
"MatchedRule": {
"properties": {
"id": {
"type": "string",
"description": "ルールID"
},
"version": {
"type": "string",
"description": "ルールのバージョン"
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"description": "ルールのタグ"
},
"policy_name": {
"type": "string",
"description": "ルールを適用したポリシー名"
},
"policy_version": {
"type": "string",
"description": "ルールを適用したポリシーのバージョン"
}
},
"additionalProperties": false,
"type": "object",
"description": "MatchedRuleSerializer はルールをシリアライズします"
},
"Process": {
"properties": {
"pid": {
"type": "integer",
"description": "プロセス ID"
},
"ppid": {
"type": "integer",
"description": "親プロセス ID"
},
"exec_time": {
"type": "string",
"format": "date-time",
"description": "プロセスの実行時刻"
},
"exit_time": {
"type": "string",
"format": "date-time",
"description": "プロセスの終了時刻"
},
"executable": {
"$ref": "#/$defs/File",
"description": "実行ファイルの情報"
},
"container": {
"$ref": "#/$defs/ContainerContext",
"description": "コンテナコンテキスト"
},
"cmdline": {
"type": "string",
"description": "コマンドライン引数"
},
"user": {
"type": "string",
"description": "ユーザー名"
}
},
"additionalProperties": false,
"type": "object",
"description": "ProcessSerializer はプロセスを JSON 形式にシリアライズします"
},
"ProcessContext": {
"properties": {
"pid": {
"type": "integer",
"description": "プロセス ID"
},
"ppid": {
"type": "integer",
"description": "親プロセス ID"
},
"exec_time": {
"type": "string",
"format": "date-time",
"description": "プロセスの実行時刻"
},
"exit_time": {
"type": "string",
"format": "date-time",
"description": "プロセスの終了時刻"
},
"executable": {
"$ref": "#/$defs/File",
"description": "実行ファイルの情報"
},
"container": {
"$ref": "#/$defs/ContainerContext",
"description": "コンテナコンテキスト"
},
"cmdline": {
"type": "string",
"description": "コマンドライン引数"
},
"user": {
"type": "string",
"description": "ユーザー名"
},
"parent": {
"$ref": "#/$defs/Process",
"description": "親プロセス"
},
"ancestors": {
"items": {
"$ref": "#/$defs/Process"
},
"type": "array",
"description": "祖先プロセス"
},
"variables": {
"$ref": "#/$defs/Variables",
"description": "変数値"
},
"truncated_ancestors": {
"type": "boolean",
"description": "祖先リストが大きすぎたため切り捨てられた場合は true"
}
},
"additionalProperties": false,
"type": "object",
"description": "ProcessContextSerializer はプロセスコンテキストを JSON 形式にシリアライズします"
},
"RegistryEvent": {
"properties": {
"key_name": {
"type": "string",
"description": "レジストリキー名"
},
"key_path": {
"type": "string",
"description": "レジストリキーパス"
},
"value_name": {
"type": "string",
"description": "キー値の名前"
}
},
"additionalProperties": false,
"type": "object",
"description": "RegistryEventSerializer はレジストリイベントを JSON 形式にシリアライズします"
},
"UserContext": {
"properties": {
"name": {
"type": "string",
"description": "ユーザー名"
},
"sid": {
"type": "string",
"description": "所有者 SID"
}
},
"additionalProperties": false,
"type": "object",
"description": "UserContextSerializer はユーザーコンテキストを JSON 形式にシリアライズします"
},
"Variables": {
"type": "object",
"description": "Variables は変数値をシリアライズします"
}
},
"properties": {
"agent": {
"$ref": "#/$defs/AgentContext"
},
"title": {
"type": "string"
},
"evt": {
"$ref": "#/$defs/EventContext"
},
"date": {
"type": "string",
"format": "date-time"
},
"file": {
"$ref": "#/$defs/FileEvent"
},
"exit": {
"$ref": "#/$defs/ExitEvent"
},
"process": {
"$ref": "#/$defs/ProcessContext"
},
"container": {
"$ref": "#/$defs/ContainerContext"
},
"registry": {
"$ref": "#/$defs/RegistryEvent"
},
"usr": {
"$ref": "#/$defs/UserContext"
},
"permission_change": {
"$ref": "#/$defs/ChangePermissionEvent"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"agent",
"title"
]
}
パラメータータイプ説明
agent$ref詳細は AgentContext をご覧ください。
title文字列
evt$refEventContext をご覧ください。
date文字列
file$refFileEvent をご覧ください。
exit$refExitEvent をご覧ください。
process$refProcessContext をご覧ください。
container$refContainerContext をご覧ください。
registry$ref詳細は RegistryEvent をご覧ください。
usr$refUserContext をご覧ください。
permission_change$ref詳細は ChangePermissionEvent をご覧ください。

AgentContext

{
"properties": {
"rule_id": {
"type": "string"
},
"rule_version": {
"type": "string"
},
"rule_actions": {
"items": true,
"type": "array"
},
"policy_name": {
"type": "string"
},
"policy_version": {
"type": "string"
},
"version": {
"type": "string"
},
"os": {
"type": "string"
},
"arch": {
"type": "string"
},
"origin": {
"type": "string"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"rule_id"
]
}

ChangePermissionEvent

{
"properties": {
"username": {
"type": "string",
"description": "ユーザー名"
},
"user_domain": {
"type": "string",
"description": "ユーザードメイン"
},
"path": {
"type": "string",
"description": "オブジェクト名"
},
"type": {
"type": "string",
"description": "オブジェクトタイプ"
},
"old_sd": {
"type": "string",
"description": "元のセキュリティ記述子"
},
"new_sd": {
"type": "string",
"description": "新しいセキュリティ記述子"
}
},
"additionalProperties": false,
"type": "object",
"description": "ChangePermissionEventSerializer は権限変更イベントを JSON 形式にシリアライズします"
}
フィールド説明
usernameユーザー名
user_domainユーザードメイン
pathオブジェクト名
typeオブジェクトタイプ
old_sd元のセキュリティ記述子
new_sd新しいセキュリティ記述子

ContainerContext

{
"properties": {
"id": {
"type": "string",
"description": "コンテナ ID"
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "コンテナの作成時刻"
},
"variables": {
"$ref": "#/$defs/Variables",
"description": "変数値"
}
},
"additionalProperties": false,
"type": "object",
"description": "ContainerContextSerializer はコンテナコンテキストを JSON 形式にシリアライズします"
}
フィールド説明
idコンテナ ID
created_atコンテナの作成時間
variables変数値
リファレンス
変数

EventContext

{
"properties": {
"name": {
"type": "string",
"description": "イベント名"
},
"category": {
"type": "string",
"description": "イベントカテゴリ"
},
"outcome": {
"type": "string",
"description": "イベント結果"
},
"async": {
"type": "boolean",
"description": "イベントが非同期の場合は true"
},
"matched_rules": {
"items": {
"$ref": "#/$defs/MatchedRule"
},
"type": "array",
"description": "イベントがマッチしたルールの一覧 (異常のコンテキストでのみ有効)"
},
"variables": {
"$ref": "#/$defs/Variables",
"description": "変数値"
}
},
"additionalProperties": false,
"type": "object",
"description": "EventContextSerializer はイベントコンテキストを JSON 形式にシリアライズします"
}
フィールド説明
nameイベント名
categoryイベントカテゴリー
outcomeイベント結果
asyncイベントが非同期の場合、true
matched_rulesイベントが一致したルールのリスト (異常のコンテキストでのみ有効)
variables変数値
リファレンス
変数

ExitEvent

{
"properties": {
"cause": {
"type": "string",
"description": "プロセス終了の原因 (EXITED、SIGNALED、COREDUMPED のいずれか)"
},
"code": {
"type": "integer",
"description": "プロセスを終了させた終了コードまたはシグナルの番号"
}
},
"additionalProperties": false,
"type": "object",
"required": [
"cause",
"code"
],
"description": "ExitEventSerializer は終了イベントを JSON 形式にシリアライズします"
}
フィールド説明
causeプロセス終了の原因 (EXITED、SIGNALED、COREDUMPED のいずれか 1 つ)
codeプロセスの終了コード、またはプロセスを終了させたシグナルの番号

File

{
"properties": {
"path": {
"type": "string",
"description": "ファイルパス"
},
"device_path": {
"type": "string",
"description": "ファイルデバイスパス"
},
"name": {
"type": "string",
"description": "ファイルベース名"
}
},
"additionalProperties": false,
"type": "object",
"description": "FileSerializer はファイルを JSON 形式にシリアライズします"
}
フィールド説明
pathファイルパス
device_pathファイルデバイスパス
nameファイルベース名

FileEvent

{
"properties": {
"path": {
"type": "string",
"description": "ファイルパス"
},
"device_path": {
"type": "string",
"description": "ファイルデバイスパス"
},
"name": {
"type": "string",
"description": "ファイルベース名"
},
"destination": {
"$ref": "#/$defs/File",
"description": "ターゲットファイル情報"
}
},
"additionalProperties": false,
"type": "object",
"description": "FileEventSerializer はファイルイベントを JSON 形式にシリアライズします"
}
フィールド説明
pathファイルパス
device_pathファイルデバイスパス
nameファイルベース名
destinationターゲットファイル情報
リファレンス
ファイル

MatchedRule

{
    "properties": {
        "id": {
            "type": "string",
            "description": "ルールの ID"
        },
        "version": {
            "type": "string",
            "description": "ルールのバージョン"
        },
        "tags": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "description": "ルールのタグ"
        },
        "policy_name": {
            "type": "string",
            "description": "ルールを導入したポリシーの名前"
        },
        "policy_version": {
            "type": "string",
            "description": "ルールを導入したポリシーのバージョン"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "description": "MatchedRuleSerializer はルールをシリアライズする"
}
フィールド説明
idルールの ID
versionルールのバージョン
tagsルールのタグ
policy_nameルールを導入したポリシーの名前
policy_versionルールを導入したポリシーのバージョン

Process

{
"properties": {
"pid": {
"type": "integer",
"description": "プロセス ID"
},
"ppid": {
"type": "integer",
"description": "親プロセス ID"
},
"exec_time": {
"type": "string",
"format": "date-time",
"description": "プロセスの実行時刻"
},
"exit_time": {
"type": "string",
"format": "date-time",
"description": "プロセスの終了時刻"
},
"executable": {
"$ref": "#/$defs/File",
"description": "実行ファイルの情報"
},
"container": {
"$ref": "#/$defs/ContainerContext",
"description": "コンテナコンテキスト"
},
"cmdline": {
"type": "string",
"description": "コマンドライン引数"
},
"user": {
"type": "string",
"description": "ユーザー名"
}
},
"additionalProperties": false,
"type": "object",
"description": "ProcessSerializer はプロセスを JSON 形式にシリアライズします"
}
フィールド説明
pidプロセス ID
ppid親プロセス ID
exec_timeプロセスの実行時間
exit_timeプロセスの終了時間
executable実行ファイルのファイル情報
containerコンテナコンテキスト
cmdlineコマンドライン引数
userユーザー名

ProcessContext

{
"properties": {
"pid": {
"type": "integer",
"description": "プロセス ID"
},
"ppid": {
"type": "integer",
"description": "親プロセス ID"
},
"exec_time": {
"type": "string",
"format": "date-time",
"description": "プロセスの実行時刻"
},
"exit_time": {
"type": "string",
"format": "date-time",
"description": "プロセスの終了時刻"
},
"executable": {
"$ref": "#/$defs/File",
"description": "実行ファイルの情報"
},
"container": {
"$ref": "#/$defs/ContainerContext",
"description": "コンテナコンテキスト"
},
"cmdline": {
"type": "string",
"description": "コマンドライン引数"
},
"user": {
"type": "string",
"description": "ユーザー名"
},
"parent": {
"$ref": "#/$defs/Process",
"description": "親プロセス"
},
"ancestors": {
"items": {
"$ref": "#/$defs/Process"
},
"type": "array",
"description": "祖先プロセス"
},
"variables": {
"$ref": "#/$defs/Variables",
"description": "変数値"
},
"truncated_ancestors": {
"type": "boolean",
"description": "祖先リストが大きすぎたため切り捨てられた場合は true"
}
},
"additionalProperties": false,
"type": "object",
"description": "ProcessContextSerializer はプロセスコンテキストを JSON 形式にシリアライズします"
}
フィールド説明
pidプロセス ID
ppid親プロセス ID
exec_timeプロセスの実行時間
exit_timeプロセスの終了時間
executable実行ファイルのファイル情報
containerコンテナコンテキスト
cmdlineコマンドライン引数
userユーザー名
parent親プロセス
ancestors祖先プロセス
variables変数値
truncated_ancestors祖先リストが大きすぎたため切り捨てられた場合は true

RegistryEvent

{
"properties": {
"key_name": {
"type": "string",
"description": "レジストリキー名"
},
"key_path": {
"type": "string",
"description": "レジストリキーパス"
},
"value_name": {
"type": "string",
"description": "キー値の名前"
}
},
"additionalProperties": false,
"type": "object",
"description": "RegistryEventSerializer はレジストリイベントを JSON 形式にシリアライズします"
}
フィールド説明
key_nameレジストリキー名
key_pathレジストリキーパス
value_nameキー値の名前

UserContext

{
"properties": {
"name": {
"type": "string",
"description": "ユーザー名"
},
"sid": {
"type": "string",
"description": "所有者 SID"
}
},
"additionalProperties": false,
"type": "object",
"description": "UserContextSerializer はユーザーコンテキストを JSON 形式にシリアライズします"
}
フィールド説明
nameユーザー名
sid所有者 SID

Variables

{
"type": "object",
"description": "Variables は変数値をシリアライズします"
}
PREVIEWING: brett.blue/embedded-collector-release