クラウドワークロードセキュリティ (CWS) イベント形式

アクティビティがクラウドワークロードセキュリティ (CWS) Agent 式に一致する場合、アクティビティに関するすべての関連コンテキストを含む CWS ログがシステムから収集されます。

このログは Datadog に送信され、そこで分析されます。分析に基づき、CWS ログはセキュリティシグナルのトリガーとなったり、監査や脅威の調査目的でログとして保存されたりします。

CWS のログは、以下の JSON スキーマを持ちます。

BACKEND_EVENT_JSON_SCHEMA

{
    "$id": "https://github.com/DataDog/datadog-agent/pkg/security/serializers/event",
    "$defs": {
        "AnomalyDetectionSyscallEvent": {
            "properties": {
                "syscall": {
                    "type": "string",
                    "description": "異常検出イベントをトリガーしたシステムコールの名前"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "syscall"
            ],
            "description": "AnomalyDetectionSyscallEventSerializer はシステムコールイベントの異常検出をシリアライズする"
        },
        "BPFEvent": {
            "properties": {
                "cmd": {
                    "type": "string",
                    "description": "BPF コマンド"
                },
                "map": {
                    "$ref": "#/$defs/BPFMap",
                    "description": "BPF マップ"
                },
                "program": {
                    "$ref": "#/$defs/BPFProgram",
                    "description": "BPF プログラム"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "cmd"
            ],
            "description": "BPFEventSerializer は BPF イベントを JSON にシリアライズする"
        },
        "BPFMap": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "BPF マップの名前"
                },
                "map_type": {
                    "type": "string",
                    "description": "BPF マップのタイプ"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "description": "BPFMapSerializer は BPF マップを JSON にシリアライズする"
        },
        "BPFProgram": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "BPF プログラムの名前"
                },
                "tag": {
                    "type": "string",
                    "description": "BPF プログラムのハッシュ (sha1)"
                },
                "program_type": {
                    "type": "string",
                    "description": "BPF プログラムのタイプ"
                },
                "attach_type": {
                    "type": "string",
                    "description": "BPF プログラムのアタッチタイプ"
                },
                "helpers": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "description": "BPF プログラムが使用するヘルパーのリスト"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "description": "BPFProgramSerializer は BPF マップを JSON にシリアライズする"
        },
        "BindEvent": {
            "properties": {
                "addr": {
                    "$ref": "#/$defs/IPPortFamily",
                    "description": "バインドアドレス (もしあれば)"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "addr"
            ],
            "description": "BindEventSerializer はバインドイベントを JSON にシリアライズする"
        },
        "ContainerContext": {
            "properties": {
                "id": {
                    "type": "string",
                    "description": "コンテナ ID"
                },
                "created_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "コンテナの作成時間"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "description": "ContainerContextSerializer はコンテナコンテキストを JSON にシリアライズする"
        },
        "DDContext": {
            "properties": {
                "span_id": {
                    "type": "integer",
                    "description": "APM 相関に使用されるスパン ID"
                },
                "trace_id": {
                    "type": "integer",
                    "description": "APM 相関に使用するトレース ID"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "description": "DDContextSerializer はスパンコンテキストを JSON にシリアライズする"
        },
        "DNSEvent": {
            "properties": {
                "id": {
                    "type": "integer",
                    "description": "id は DNS リクエストの一意な識別子である"
                },
                "question": {
                    "$ref": "#/$defs/DNSQuestion",
                    "description": "question は DNS リクエストに対する DNS 質問である"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "id",
                "question"
            ],
            "description": "DNSEventSerializer は DNS イベントを JSON にシリアライズする"
        },
        "DNSQuestion": {
            "properties": {
                "class": {
                    "type": "string",
                    "description": "class は DNS の質問によって検索されたクラスである"
                },
                "type": {
                    "type": "string",
                    "description": "type は DNS 質問タイプを指定する 2 オクテットのコードである"
                },
                "name": {
                    "type": "string",
                    "description": "name はクエリされたドメイン名である"
                },
                "size": {
                    "type": "integer",
                    "description": "size は DNS リクエストのバイト単位のサイズである"
                },
                "count": {
                    "type": "integer",
                    "description": "count は DNS リクエストの質問の総カウント数である"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "class",
                "type",
                "name",
                "size",
                "count"
            ],
            "description": "DNSQuestionSerializer は DNS 質問を 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": "イベントがマッチしたルールのリスト (異常のコンテキストでのみ有効)"
                }
            },
            "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": "ファイルパス"
                },
                "name": {
                    "type": "string",
                    "description": "ファイルベース名"
                },
                "path_resolution_error": {
                    "type": "string",
                    "description": "パス解決によるエラーメッセージ"
                },
                "inode": {
                    "type": "integer",
                    "description": "ファイル inode 番号"
                },
                "mode": {
                    "type": "integer",
                    "description": "ファイルモード"
                },
                "in_upper_layer": {
                    "type": "boolean",
                    "description": "ファイル OverlayFS レイヤーのインジケーター"
                },
                "mount_id": {
                    "type": "integer",
                    "description": "ファイルマウント ID"
                },
                "filesystem": {
                    "type": "string",
                    "description": "ファイルのファイルシステム名"
                },
                "uid": {
                    "type": "integer",
                    "description": "ファイルユーザー ID"
                },
                "gid": {
                    "type": "integer",
                    "description": "ファイルグループ ID"
                },
                "user": {
                    "type": "string",
                    "description": "ファイルユーザー"
                },
                "group": {
                    "type": "string",
                    "description": "ファイルグループ"
                },
                "attribute_name": {
                    "type": "string",
                    "description": "ファイル拡張属性名"
                },
                "attribute_namespace": {
                    "type": "string",
                    "description": "ファイル拡張属性ネームスペース"
                },
                "flags": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "description": "ファイルフラグ"
                },
                "access_time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "ファイルアクセス時間"
                },
                "modification_time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "ファイル修正時間"
                },
                "change_time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "ファイル変更時間"
                },
                "package_name": {
                    "type": "string",
                    "description": "システムパッケージ名"
                },
                "package_version": {
                    "type": "string",
                    "description": "システムパッケージバージョン"
                },
                "hashes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "description": "ファイルの暗号ハッシュのリスト"
                },
                "hash_state": {
                    "type": "string",
                    "description": "ハッシュの状態または計算されなかった理由"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "uid",
                "gid"
            ],
            "description": "FileSerializer はファイルを JSON にシリアライズする"
        },
        "FileEvent": {
            "properties": {
                "path": {
                    "type": "string",
                    "description": "ファイルパス"
                },
                "name": {
                    "type": "string",
                    "description": "ファイルベース名"
                },
                "path_resolution_error": {
                    "type": "string",
                    "description": "パス解決によるエラーメッセージ"
                },
                "inode": {
                    "type": "integer",
                    "description": "ファイル inode 番号"
                },
                "mode": {
                    "type": "integer",
                    "description": "ファイルモード"
                },
                "in_upper_layer": {
                    "type": "boolean",
                    "description": "ファイル OverlayFS レイヤーのインジケーター"
                },
                "mount_id": {
                    "type": "integer",
                    "description": "ファイルマウント ID"
                },
                "filesystem": {
                    "type": "string",
                    "description": "ファイルのファイルシステム名"
                },
                "uid": {
                    "type": "integer",
                    "description": "ファイルユーザー ID"
                },
                "gid": {
                    "type": "integer",
                    "description": "ファイルグループ ID"
                },
                "user": {
                    "type": "string",
                    "description": "ファイルユーザー"
                },
                "group": {
                    "type": "string",
                    "description": "ファイルグループ"
                },
                "attribute_name": {
                    "type": "string",
                    "description": "ファイル拡張属性名"
                },
                "attribute_namespace": {
                    "type": "string",
                    "description": "ファイル拡張属性ネームスペース"
                },
                "flags": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "description": "ファイルフラグ"
                },
                "access_time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "ファイルアクセス時間"
                },
                "modification_time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "ファイル修正時間"
                },
                "change_time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "ファイル変更時間"
                },
                "package_name": {
                    "type": "string",
                    "description": "システムパッケージ名"
                },
                "package_version": {
                    "type": "string",
                    "description": "システムパッケージバージョン"
                },
                "hashes": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "description": "ファイルの暗号ハッシュのリスト"
                },
                "hash_state": {
                    "type": "string",
                    "description": "ハッシュの状態または計算されなかった理由"
                },
                "destination": {
                    "$ref": "#/$defs/File",
                    "description": "対象ファイル情報"
                },
                "new_mount_id": {
                    "type": "integer",
                    "description": "新しいマウント ID"
                },
                "device": {
                    "type": "integer",
                    "description": "ファイルに関連付けられているデバイス"
                },
                "fstype": {
                    "type": "string",
                    "description": "ファイルシステムタイプ"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "uid",
                "gid"
            ],
            "description": "FileEventSerializer はファイルイベントを JSON にシリアライズする"
        },
        "IPPort": {
            "properties": {
                "ip": {
                    "type": "string",
                    "description": "IP アドレス"
                },
                "port": {
                    "type": "integer",
                    "description": "ポート番号"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "ip",
                "port"
            ],
            "description": "IPPortSerializer は IP およびポートコンテキストを JSON にシリアライズするために使用される"
        },
        "IPPortFamily": {
            "properties": {
                "family": {
                    "type": "string",
                    "description": "アドレスファミリー"
                },
                "ip": {
                    "type": "string",
                    "description": "IP アドレス"
                },
                "port": {
                    "type": "integer",
                    "description": "ポート番号"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "family",
                "ip",
                "port"
            ],
            "description": "IPPortFamilySerializer は IP、ポート、およびアドレスファミリーのコンテキストを JSON にシリアライズするために使用される"
        },
        "MMapEvent": {
            "properties": {
                "address": {
                    "type": "string",
                    "description": "メモリセグメントアドレス"
                },
                "offset": {
                    "type": "integer",
                    "description": "ファイルオフセット"
                },
                "length": {
                    "type": "integer",
                    "description": "メモリセグメント長"
                },
                "protection": {
                    "type": "string",
                    "description": "メモリセグメント保護"
                },
                "flags": {
                    "type": "string",
                    "description": "メモリセグメントフラグ"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "address",
                "offset",
                "length",
                "protection",
                "flags"
            ],
            "description": "MMapEventSerializer は mmap イベントを JSON にシリアライズする"
        },
        "MProtectEvent": {
            "properties": {
                "vm_start": {
                    "type": "string",
                    "description": "メモリセグメント開始アドレス"
                },
                "vm_end": {
                    "type": "string",
                    "description": "メモリセグメント終了アドレス"
                },
                "vm_protection": {
                    "type": "string",
                    "description": "初期メモリセグメント保護"
                },
                "req_protection": {
                    "type": "string",
                    "description": "新しいメモリセグメント保護"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "vm_start",
                "vm_end",
                "vm_protection",
                "req_protection"
            ],
            "description": "MProtectEventSerializer は mmap イベントを 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 はルールをシリアライズする"
        },
        "ModuleEvent": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "モジュール名"
                },
                "loaded_from_memory": {
                    "type": "boolean",
                    "description": "モジュールがファイルではなくメモリからロードされたかどうかを示す"
                },
                "argv": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "args_truncated": {
                    "type": "boolean"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "name"
            ],
            "description": "ModuleEventSerializer はモジュールイベントを JSON にシリアライズする"
        },
        "MountEvent": {
            "properties": {
                "mp": {
                    "$ref": "#/$defs/File"
                },
                "root": {
                    "$ref": "#/$defs/File"
                },
                "mount_id": {
                    "type": "integer"
                },
                "parent_mount_id": {
                    "type": "integer"
                },
                "bind_src_mount_id": {
                    "type": "integer"
                },
                "device": {
                    "type": "integer"
                },
                "fs_type": {
                    "type": "string"
                },
                "mountpoint.path": {
                    "type": "string"
                },
                "source.path": {
                    "type": "string"
                },
                "mountpoint.path_error": {
                    "type": "string"
                },
                "source.path_error": {
                    "type": "string"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "mount_id",
                "parent_mount_id",
                "bind_src_mount_id",
                "device"
            ],
            "description": "MountEventSerializer はマウントイベントを JSON にシリアライズする"
        },
        "NetworkContext": {
            "properties": {
                "device": {
                    "$ref": "#/$defs/NetworkDevice",
                    "description": "device はイベントがキャプチャされたネットワークデバイスである"
                },
                "l3_protocol": {
                    "type": "string",
                    "description": "l3_protocol はレイヤー 3 プロトコル名である"
                },
                "l4_protocol": {
                    "type": "string",
                    "description": "l4_protocol はレイヤー 4 プロトコル名である"
                },
                "source": {
                    "$ref": "#/$defs/IPPort",
                    "description": "source はネットワークイベントの発信元である"
                },
                "destination": {
                    "$ref": "#/$defs/IPPort",
                    "description": "destination はネットワークイベントの受信先である"
                },
                "size": {
                    "type": "integer",
                    "description": "size はネットワークイベントのバイト単位のサイズである"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "l3_protocol",
                "l4_protocol",
                "source",
                "destination",
                "size"
            ],
            "description": "NetworkContextSerializer はネットワークコンテキストを JSON にシリアライズする"
        },
        "NetworkDevice": {
            "properties": {
                "netns": {
                    "type": "integer",
                    "description": "netns はインターフェイス ifindex である"
                },
                "ifindex": {
                    "type": "integer",
                    "description": "ifindex はネットワークインターフェイス ifindex である"
                },
                "ifname": {
                    "type": "string",
                    "description": "ifname はネットワークインターフェイス名である"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "netns",
                "ifindex",
                "ifname"
            ],
            "description": "NetworkDeviceSerializer はネットワークデバイスコンテキストを JSON にシリアライズする"
        },
        "PTraceEvent": {
            "properties": {
                "request": {
                    "type": "string",
                    "description": "ptrace リクエスト"
                },
                "address": {
                    "type": "string",
                    "description": "ptrace リクエストが実行されたアドレス"
                },
                "tracee": {
                    "$ref": "#/$defs/ProcessContext",
                    "description": "tracee のプロセスコンテキスト"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "request",
                "address"
            ],
            "description": "PTraceEventSerializer は mmap イベントを JSON にシリアライズする"
        },
        "Process": {
            "properties": {
                "pid": {
                    "type": "integer",
                    "description": "プロセス ID"
                },
                "ppid": {
                    "type": "integer",
                    "description": "親プロセス ID"
                },
                "tid": {
                    "type": "integer",
                    "description": "スレッド ID"
                },
                "uid": {
                    "type": "integer",
                    "description": "ユーザー ID"
                },
                "gid": {
                    "type": "integer",
                    "description": "グループ ID"
                },
                "user": {
                    "type": "string",
                    "description": "ユーザー名"
                },
                "group": {
                    "type": "string",
                    "description": "グループ名"
                },
                "path_resolution_error": {
                    "type": "string",
                    "description": "パス解決におけるエラーの説明"
                },
                "comm": {
                    "type": "string",
                    "description": "コマンド名"
                },
                "tty": {
                    "type": "string",
                    "description": "プロセスに関連する TTY"
                },
                "fork_time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "プロセスのフォーク時間"
                },
                "exec_time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "プロセスの実行時間"
                },
                "exit_time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "プロセスの終了時間"
                },
                "credentials": {
                    "$ref": "#/$defs/ProcessCredentials",
                    "description": "プロセスに関連する資格情報"
                },
                "executable": {
                    "$ref": "#/$defs/File",
                    "description": "実行ファイルのファイル情報"
                },
                "interpreter": {
                    "$ref": "#/$defs/File",
                    "description": "インタープリターのファイル情報"
                },
                "container": {
                    "$ref": "#/$defs/ContainerContext",
                    "description": "コンテナコンテキスト"
                },
                "argv0": {
                    "type": "string",
                    "description": "最初のコマンドライン引数"
                },
                "args": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "description": "コマンドライン引数"
                },
                "args_truncated": {
                    "type": "boolean",
                    "description": "引数切り捨てのインジケーター"
                },
                "envs": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "description": "プロセスの環境変数"
                },
                "envs_truncated": {
                    "type": "boolean",
                    "description": "環境変数切り捨てのインジケーター"
                },
                "is_thread": {
                    "type": "boolean",
                    "description": "プロセスがスレッド (別のプログラムを実行していない子プロセス) とみなされるかどうかを示す"
                },
                "is_kworker": {
                    "type": "boolean",
                    "description": "プロセスが kworker であるかどうかを示す"
                },
                "source": {
                    "type": "string",
                    "description": "プロセスソース"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "uid",
                "gid"
            ],
            "description": "ProcessSerializer はプロセスを JSON にシリアライズする"
        },
        "ProcessContext": {
            "properties": {
                "pid": {
                    "type": "integer",
                    "description": "プロセス ID"
                },
                "ppid": {
                    "type": "integer",
                    "description": "親プロセス ID"
                },
                "tid": {
                    "type": "integer",
                    "description": "スレッド ID"
                },
                "uid": {
                    "type": "integer",
                    "description": "ユーザー ID"
                },
                "gid": {
                    "type": "integer",
                    "description": "グループ ID"
                },
                "user": {
                    "type": "string",
                    "description": "ユーザー名"
                },
                "group": {
                    "type": "string",
                    "description": "グループ名"
                },
                "path_resolution_error": {
                    "type": "string",
                    "description": "パス解決におけるエラーの説明"
                },
                "comm": {
                    "type": "string",
                    "description": "コマンド名"
                },
                "tty": {
                    "type": "string",
                    "description": "プロセスに関連する TTY"
                },
                "fork_time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "プロセスのフォーク時間"
                },
                "exec_time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "プロセスの実行時間"
                },
                "exit_time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "プロセスの終了時間"
                },
                "credentials": {
                    "$ref": "#/$defs/ProcessCredentials",
                    "description": "プロセスに関連する資格情報"
                },
                "executable": {
                    "$ref": "#/$defs/File",
                    "description": "実行ファイルのファイル情報"
                },
                "interpreter": {
                    "$ref": "#/$defs/File",
                    "description": "インタープリターのファイル情報"
                },
                "container": {
                    "$ref": "#/$defs/ContainerContext",
                    "description": "コンテナコンテキスト"
                },
                "argv0": {
                    "type": "string",
                    "description": "最初のコマンドライン引数"
                },
                "args": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "description": "コマンドライン引数"
                },
                "args_truncated": {
                    "type": "boolean",
                    "description": "引数切り捨てのインジケーター"
                },
                "envs": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "description": "プロセスの環境変数"
                },
                "envs_truncated": {
                    "type": "boolean",
                    "description": "環境変数切り捨てのインジケーター"
                },
                "is_thread": {
                    "type": "boolean",
                    "description": "プロセスがスレッド (別のプログラムを実行していない子プロセス) とみなされるかどうかを示す"
                },
                "is_kworker": {
                    "type": "boolean",
                    "description": "プロセスが kworker であるかどうかを示す"
                },
                "source": {
                    "type": "string",
                    "description": "プロセスソース"
                },
                "parent": {
                    "$ref": "#/$defs/Process",
                    "description": "親プロセス"
                },
                "ancestors": {
                    "items": {
                        "$ref": "#/$defs/Process"
                    },
                    "type": "array",
                    "description": "祖先プロセス"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "uid",
                "gid"
            ],
            "description": "ProcessContextSerializer はプロセスコンテキストを JSON にシリアライズする"
        },
        "ProcessCredentials": {
            "properties": {
                "uid": {
                    "type": "integer",
                    "description": "ユーザー ID"
                },
                "user": {
                    "type": "string",
                    "description": "ユーザー名"
                },
                "gid": {
                    "type": "integer",
                    "description": "グループ ID"
                },
                "group": {
                    "type": "string",
                    "description": "グループ名"
                },
                "euid": {
                    "type": "integer",
                    "description": "有効なユーザー ID"
                },
                "euser": {
                    "type": "string",
                    "description": "有効なユーザー名"
                },
                "egid": {
                    "type": "integer",
                    "description": "有効なグループ ID"
                },
                "egroup": {
                    "type": "string",
                    "description": "有効なグループ名"
                },
                "fsuid": {
                    "type": "integer",
                    "description": "ファイルシステムユーザー ID"
                },
                "fsuser": {
                    "type": "string",
                    "description": "ファイルシステムユーザー名"
                },
                "fsgid": {
                    "type": "integer",
                    "description": "ファイルシステムグループ ID"
                },
                "fsgroup": {
                    "type": "string",
                    "description": "ファイルシステムグループ名"
                },
                "cap_effective": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "description": "有効なケイパビリティセット"
                },
                "cap_permitted": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "description": "許可されるケイパビリティセット"
                },
                "destination": {
                    "description": "操作後の資格情報"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "uid",
                "gid",
                "euid",
                "egid",
                "fsuid",
                "fsgid",
                "cap_effective",
                "cap_permitted"
            ],
            "description": "ProcessCredentialsSerializer はプロセスの資格情報を JSON にシリアライズする"
        },
        "SELinuxBoolChange": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "SELinux ブール値名"
                },
                "state": {
                    "type": "string",
                    "description": "SELinux ブール値状態 ('on' または 'off')"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "description": "SELinuxBoolChangeSerializer は SELinux のブール値の変更を JSON にシリアライズする"
        },
        "SELinuxBoolCommit": {
            "properties": {
                "state": {
                    "type": "boolean",
                    "description": "SELinux ブール値コミット操作"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "description": "SELinuxBoolCommitSerializer は SELinux のブール値のコミットを JSON にシリアライズする"
        },
        "SELinuxEnforceStatus": {
            "properties": {
                "status": {
                    "type": "string",
                    "description": "SELinux の強制ステータス ('enforcing'、'permissive'、'disabled' のいずれか 1 つ)"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "description": "SELinuxEnforceStatusSerializer は SELinux の強制ステータスの変更を JSON にシリアライズする"
        },
        "SELinuxEvent": {
            "properties": {
                "bool": {
                    "$ref": "#/$defs/SELinuxBoolChange",
                    "description": "SELinux ブール値操作"
                },
                "enforce": {
                    "$ref": "#/$defs/SELinuxEnforceStatus",
                    "description": "SELinux 強制変更"
                },
                "bool_commit": {
                    "$ref": "#/$defs/SELinuxBoolCommit",
                    "description": "SELinux ブール値コミット"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "description": "SELinuxEventSerializer は SELinux コンテキストを JSON にシリアライズする"
        },
        "SecurityProfileContext": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "セキュリティプロファイルの名前"
                },
                "status": {
                    "type": "string",
                    "description": "Status はイベントがトリガーされたときにセキュリティプロファイルがどの状態にあったかを定義する"
                },
                "version": {
                    "type": "string",
                    "description": "使用中のプロファイルのバージョン"
                },
                "tags": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "description": "このプロファイルに関連するタグのリスト"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "name",
                "status",
                "version",
                "tags"
            ],
            "description": "SecurityProfileContextSerializer はイベントのセキュリティプロファイルコンテキストをシリアライズする"
        },
        "SignalEvent": {
            "properties": {
                "type": {
                    "type": "string",
                    "description": "シグナルタイプ"
                },
                "pid": {
                    "type": "integer",
                    "description": "シグナルターゲット pid"
                },
                "target": {
                    "$ref": "#/$defs/ProcessContext",
                    "description": "シグナルターゲットのプロセスコンテキスト"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "type",
                "pid"
            ],
            "description": "SignalEventSerializer はシグナルイベントを JSON にシリアライズする"
        },
        "SpliceEvent": {
            "properties": {
                "pipe_entry_flag": {
                    "type": "string",
                    "description": "スプライスシステムコールに渡される fd_out パイプのエントリフラグ"
                },
                "pipe_exit_flag": {
                    "type": "string",
                    "description": "スプライスシステムコールに渡される fd_out パイプの終了フラグ"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "required": [
                "pipe_entry_flag",
                "pipe_exit_flag"
            ],
            "description": "SpliceEventSerializer はスプライスイベントを JSON にシリアライズする"
        },
        "UserContext": {
            "properties": {
                "id": {
                    "type": "string",
                    "description": "ユーザー名"
                },
                "group": {
                    "type": "string",
                    "description": "グループ名"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "description": "UserContextSerializer はユーザーコンテキストを JSON にシリアライズする"
        }
    },
    "properties": {
        "evt": {
            "$ref": "#/$defs/EventContext"
        },
        "file": {
            "$ref": "#/$defs/FileEvent"
        },
        "selinux": {
            "$ref": "#/$defs/SELinuxEvent"
        },
        "bpf": {
            "$ref": "#/$defs/BPFEvent"
        },
        "mmap": {
            "$ref": "#/$defs/MMapEvent"
        },
        "mprotect": {
            "$ref": "#/$defs/MProtectEvent"
        },
        "ptrace": {
            "$ref": "#/$defs/PTraceEvent"
        },
        "module": {
            "$ref": "#/$defs/ModuleEvent"
        },
        "signal": {
            "$ref": "#/$defs/SignalEvent"
        },
        "splice": {
            "$ref": "#/$defs/SpliceEvent"
        },
        "dns": {
            "$ref": "#/$defs/DNSEvent"
        },
        "network": {
            "$ref": "#/$defs/NetworkContext"
        },
        "bind": {
            "$ref": "#/$defs/BindEvent"
        },
        "exit": {
            "$ref": "#/$defs/ExitEvent"
        },
        "mount": {
            "$ref": "#/$defs/MountEvent"
        },
        "anomaly_detection_syscall": {
            "$ref": "#/$defs/AnomalyDetectionSyscallEvent"
        },
        "usr": {
            "$ref": "#/$defs/UserContext"
        },
        "process": {
            "$ref": "#/$defs/ProcessContext"
        },
        "dd": {
            "$ref": "#/$defs/DDContext"
        },
        "container": {
            "$ref": "#/$defs/ContainerContext"
        },
        "security_profile": {
            "$ref": "#/$defs/SecurityProfileContext"
        },
        "date": {
            "type": "string",
            "format": "date-time"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "description": "EventSerializer はイベントを JSON にシリアライズする"
}
パラメータータイプ説明
evt$refEventContext をご覧ください。
file$refFileEvent をご覧ください。
selinux$refSELinuxEvent をご覧ください。
bpf$refBPFEvent をご覧ください。
mmap$refMMapEvent をご覧ください。
mprotect$refMProtectEvent をご覧ください。
ptrace$refPTraceEvent をご覧ください。
module$refModuleEvent をご覧ください。
signal$refSignalEvent をご覧ください。
splice$refSpliceEvent をご覧ください。
dns$refDNSEvent をご覧ください。
network$refNetworkContext をご覧ください。
bind$refBindEvent をご覧ください。
exit$refExitEvent をご覧ください。
mount$refMountEvent をご覧ください。
anomaly_detection_syscall$refAnomalyDetectionSyscallEvent をご覧ください
usr$refUserContext をご覧ください。
process$refProcessContext をご覧ください。
dd$refDDContext をご覧ください。
container$refContainerContext をご覧ください。
security_profile$refSecurityProfileContext をご覧ください
date文字列

AnomalyDetectionSyscallEvent

{
    "properties": {
        "syscall": {
            "type": "string",
            "description": "異常検出イベントのトリガーとなった syscall の名前"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "syscall"
    ],
    "description": "AnomalyDetectionSyscallEventSerializer は syscall イベントに対する異常検出をシリアライズする"
}
フィールド説明
syscall異常検出イベントのトリガーとなった syscall の名前

BPFEvent

{
    "properties": {
        "cmd": {
            "type": "string",
            "description": "BPF command"
        },
        "map": {
            "$ref": "#/$defs/BPFMap",
            "description": "BPF map"
        },
        "program": {
            "$ref": "#/$defs/BPFProgram",
            "description": "BPF program"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "cmd"
    ],
    "description": "BPFEventSerializer serializes a BPF event to JSON"
}
フィールド説明
cmdBPF コマンド
mapBPF マップ
programBPF プログラム
リファレンス
BPFMap
BPFProgram

BPFMap

{
    "properties": {
        "name": {
            "type": "string",
            "description": "Name of the BPF map"
        },
        "map_type": {
            "type": "string",
            "description": "Type of the BPF map"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "description": "BPFMapSerializer serializes a BPF map to JSON"
}
フィールド説明
nameBPF マップの名前
map_typeBPF マップのタイプ

BPFProgram

{
    "properties": {
        "name": {
            "type": "string",
            "description": "Name of the BPF program"
        },
        "tag": {
            "type": "string",
            "description": "Hash (sha1) of the BPF program"
        },
        "program_type": {
            "type": "string",
            "description": "Type of the BPF program"
        },
        "attach_type": {
            "type": "string",
            "description": "Attach type of the BPF program"
        },
        "helpers": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "description": "List of helpers used by the BPF program"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "description": "BPFProgramSerializer serializes a BPF map to JSON"
}
フィールド説明
nameBPF プログラムの名前
tagBPF プログラムのハッシュ (sha1)
program_typeBPF プログラムのタイプ
attach_typeBPF プログラムのアタッチタイプ
helpersBPF プログラムで使用するヘルパーのリスト

BindEvent

{
    "properties": {
        "addr": {
            "$ref": "#/$defs/IPPortFamily",
            "description": "Bound address (if any)"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "addr"
    ],
    "description": "BindEventSerializer serializes a bind event to JSON"
}
フィールド説明
addrバウンドアドレス (ある場合)
リファレンス
IPPortFamily

ContainerContext

{
    "properties": {
        "id": {
            "type": "string",
            "description": "コンテナ ID"
        },
        "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "コンテナの作成時間"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "description": "ContainerContextSerializer はコンテナコンテキストを JSON にシリアライズする"
}
フィールド説明
idコンテナ ID
created_atコンテナの作成時間

DDContext

{
    "properties": {
        "span_id": {
            "type": "integer",
            "description": "Span ID used for APM correlation"
        },
        "trace_id": {
            "type": "integer",
            "description": "Trace ID used for APM correlation"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "description": "DDContextSerializer serializes a span context to JSON"
}
フィールド説明
span_idAPM 相関に使用するスパン ID
trace_idAPM 相関に使用するトレース ID

DNSEvent

{
    "properties": {
        "id": {
            "type": "integer",
            "description": "id は DNS リクエストの一意な識別子である"
        },
        "question": {
            "$ref": "#/$defs/DNSQuestion",
            "description": "question は DNS リクエストに対する DNS 質問である"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "id",
        "question"
    ],
    "description": "DNSEventSerializer は DNS イベントを JSON にシリアライズする"
}
フィールド説明
idid は DNS リクエストの一意な識別子です
questionquestion は、DNS リクエストに対する DNS 質問です
リファレンス
DNSQuestion

DNSQuestion

{
    "properties": {
        "class": {
            "type": "string",
            "description": "class is the class looked up by the DNS question"
        },
        "type": {
            "type": "string",
            "description": "type is a two octet code which specifies the DNS question type"
        },
        "name": {
            "type": "string",
            "description": "name is the queried domain name"
        },
        "size": {
            "type": "integer",
            "description": "size is the total DNS request size in bytes"
        },
        "count": {
            "type": "integer",
            "description": "count is the total count of questions in the DNS request"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "class",
        "type",
        "name",
        "size",
        "count"
    ],
    "description": "DNSQuestionSerializer serializes a DNS question to JSON"
}
フィールド説明
classclass は DNS の質問で調べたクラスです
typetype は DNS の質問タイプを指定する 2 オクテットのコードです
namename はクエリしたドメイン名です
sizesize は、DNS リクエストの合計サイズ (バイト) です
countcount は DNS リクエストの質問数の合計です

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": "イベントが一致したルールのリスト (異常のコンテキストでのみ有効)"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "description": "EventContextSerializer はイベントコンテキストを JSON にシリアライズする"
}
フィールド説明
nameイベント名
categoryイベントカテゴリー
outcomeイベント結果
asyncイベントが非同期の場合、true
matched_rulesイベントが一致したルールのリスト (異常のコンテキストでのみ有効)

ExitEvent

{
    "properties": {
        "cause": {
            "type": "string",
            "description": "Cause of the process termination (one of EXITED, SIGNALED, COREDUMPED)"
        },
        "code": {
            "type": "integer",
            "description": "Exit code of the process or number of the signal that caused the process to terminate"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "cause",
        "code"
    ],
    "description": "ExitEventSerializer serializes an exit event to JSON"
}
フィールド説明
causeプロセス終了の原因 (EXITED、SIGNALED、COREDUMPED のいずれか 1 つ)
codeプロセスの終了コード、またはプロセスを終了させたシグナルの番号

File

{
    "properties": {
        "path": {
            "type": "string",
            "description": "ファイルパス"
        },
        "name": {
            "type": "string",
            "description": "ファイルベース名"
        },
        "path_resolution_error": {
            "type": "string",
            "description": "パス解決によるエラーメッセージ"
        },
        "inode": {
            "type": "integer",
            "description": "ファイル inode 番号"
        },
        "mode": {
            "type": "integer",
            "description": "ファイルモード"
        },
        "in_upper_layer": {
            "type": "boolean",
            "description": "ファイル OverlayFS レイヤーのインジケーター"
        },
        "mount_id": {
            "type": "integer",
            "description": "ファイルマウント ID"
        },
        "filesystem": {
            "type": "string",
            "description": "ファイルのファイルシステム名"
        },
        "uid": {
            "type": "integer",
            "description": "ファイルユーザー ID"
        },
        "gid": {
            "type": "integer",
            "description": "ファイルグループ ID"
        },
        "user": {
            "type": "string",
            "description": "ファイルユーザー"
        },
        "group": {
            "type": "string",
            "description": "ファイルグループ"
        },
        "attribute_name": {
            "type": "string",
            "description": "ファイル拡張属性名"
        },
        "attribute_namespace": {
            "type": "string",
            "description": "ファイル拡張属性ネームスペース"
        },
        "flags": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "description": "ファイルフラグ"
        },
        "access_time": {
            "type": "string",
            "format": "date-time",
            "description": "ファイルアクセス時間"
        },
        "modification_time": {
            "type": "string",
            "format": "date-time",
            "description": "ファイル修正時間"
        },
        "change_time": {
            "type": "string",
            "format": "date-time",
            "description": "ファイル変更時間"
        },
        "package_name": {
            "type": "string",
            "description": "システムパッケージ名"
        },
        "package_version": {
            "type": "string",
            "description": "システムパッケージバージョン"
        },
        "hashes": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "description": "ファイルの暗号ハッシュのリスト"
        },
        "hash_state": {
            "type": "string",
            "description": "ハッシュの状態または計算されなかった理由"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "uid",
        "gid"
    ],
    "description": "FileSerializer はファイルを JSON にシリアライズする"
}
フィールド説明
pathファイルパス
nameファイルベース名
path_resolution_errorパス解決時のエラーメッセージ
inodeファイルの inode 番号
modeファイルモード
in_upper_layerファイル OverlayFS レイヤーのインジケーター
mount_idファイルマウント ID
filesystemファイルの filesystem 名
uidファイルユーザー ID
gidファイルグループ ID
userファイルユーザー
groupファイルグループ
attribute_nameファイル拡張属性名
attribute_namespaceファイル拡張属性ネームスペース
flagsファイルフラグ
access_timeファイルアクセス時間
modification_timeファイル更新時間
change_timeファイル変更時間
package_nameシステムパッケージ名
package_versionシステムパッケージバージョン
hashesファイルの暗号ハッシュのリスト
hash_stateハッシュの状態または計算されなかった理由

FileEvent

{
    "properties": {
        "path": {
            "type": "string",
            "description": "ファイルパス"
        },
        "name": {
            "type": "string",
            "description": "ファイルベース名"
        },
        "path_resolution_error": {
            "type": "string",
            "description": "パス解決によるエラーメッセージ"
        },
        "inode": {
            "type": "integer",
            "description": "ファイル inode 番号"
        },
        "mode": {
            "type": "integer",
            "description": "ファイルモード"
        },
        "in_upper_layer": {
            "type": "boolean",
            "description": "ファイル OverlayFS レイヤーのインジケーター"
        },
        "mount_id": {
            "type": "integer",
            "description": "ファイルマウント ID"
        },
        "filesystem": {
            "type": "string",
            "description": "ファイルのファイルシステム名"
        },
        "uid": {
            "type": "integer",
            "description": "ファイルユーザー ID"
        },
        "gid": {
            "type": "integer",
            "description": "ファイルグループ ID"
        },
        "user": {
            "type": "string",
            "description": "ファイルユーザー"
        },
        "group": {
            "type": "string",
            "description": "ファイルグループ"
        },
        "attribute_name": {
            "type": "string",
            "description": "ファイル拡張属性名"
        },
        "attribute_namespace": {
            "type": "string",
            "description": "ファイル拡張属性ネームスペース"
        },
        "flags": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "description": "ファイルフラグ"
        },
        "access_time": {
            "type": "string",
            "format": "date-time",
            "description": "ファイルアクセス時間"
        },
        "modification_time": {
            "type": "string",
            "format": "date-time",
            "description": "ファイル修正時間"
        },
        "change_time": {
            "type": "string",
            "format": "date-time",
            "description": "ファイル変更時間"
        },
        "package_name": {
            "type": "string",
            "description": "システムパッケージ名"
        },
        "package_version": {
            "type": "string",
            "description": "システムパッケージバージョン"
        },
        "hashes": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "description": "ファイルの暗号ハッシュのリスト"
        },
        "hash_state": {
            "type": "string",
            "description": "ハッシュの状態または計算されなかった理由"
        },
        "destination": {
            "$ref": "#/$defs/File",
            "description": "対象ファイル情報"
        },
        "new_mount_id": {
            "type": "integer",
            "description": "新しいマウント ID"
        },
        "device": {
            "type": "integer",
            "description": "ファイルに関連付けられているデバイス"
        },
        "fstype": {
            "type": "string",
            "description": "ファイルシステムタイプ"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "uid",
        "gid"
    ],
    "description": "FileEventSerializer はファイルイベントを JSON にシリアライズする"
}
フィールド説明
pathファイルパス
nameファイルベース名
path_resolution_errorパス解決時のエラーメッセージ
inodeファイルの inode 番号
modeファイルモード
in_upper_layerファイル OverlayFS レイヤーのインジケーター
mount_idファイルマウント ID
filesystemファイルの filesystem 名
uidファイルユーザー ID
gidファイルグループ ID
userファイルユーザー
groupファイルグループ
attribute_nameファイル拡張属性名
attribute_namespaceファイル拡張属性ネームスペース
flagsファイルフラグ
access_timeファイルアクセス時間
modification_timeファイル更新時間
change_timeファイル変更時間
package_nameシステムパッケージ名
package_versionシステムパッケージバージョン
hashesファイルの暗号ハッシュのリスト
hash_stateハッシュの状態または計算されなかった理由
destinationターゲットファイル情報
new_mount_id新規マウント ID
deviceファイルに関連するデバイス
fstypeFilesystem タイプ
リファレンス
ファイル

IPPort

{
    "properties": {
        "ip": {
            "type": "string",
            "description": "IP address"
        },
        "port": {
            "type": "integer",
            "description": "Port number"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "ip",
        "port"
    ],
    "description": "IPPortSerializer is used to serialize an IP and Port context to JSON"
}
フィールド説明
ipIP アドレス
portポート番号

IPPortFamily

{
    "properties": {
        "family": {
            "type": "string",
            "description": "Address family"
        },
        "ip": {
            "type": "string",
            "description": "IP address"
        },
        "port": {
            "type": "integer",
            "description": "Port number"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "family",
        "ip",
        "port"
    ],
    "description": "IPPortFamilySerializer is used to serialize an IP, port, and address family context to JSON"
}
フィールド説明
familyアドレスファミリー
ipIP アドレス
portポート番号

MMapEvent

{
    "properties": {
        "address": {
            "type": "string",
            "description": "memory segment address"
        },
        "offset": {
            "type": "integer",
            "description": "file offset"
        },
        "length": {
            "type": "integer",
            "description": "memory segment length"
        },
        "protection": {
            "type": "string",
            "description": "memory segment protection"
        },
        "flags": {
            "type": "string",
            "description": "memory segment flags"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "address",
        "offset",
        "length",
        "protection",
        "flags"
    ],
    "description": "MMapEventSerializer serializes a mmap event to JSON"
}
フィールド説明
addressメモリセグメントアドレス
offsetファイルオフセット
lengthメモリセグメント長
protectionメモリセグメント保護
flagsメモリセグメントフラグ

MProtectEvent

{
    "properties": {
        "vm_start": {
            "type": "string",
            "description": "memory segment start address"
        },
        "vm_end": {
            "type": "string",
            "description": "memory segment end address"
        },
        "vm_protection": {
            "type": "string",
            "description": "initial memory segment protection"
        },
        "req_protection": {
            "type": "string",
            "description": "new memory segment protection"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "vm_start",
        "vm_end",
        "vm_protection",
        "req_protection"
    ],
    "description": "MProtectEventSerializer serializes a mmap event to JSON"
}
フィールド説明
vm_startメモリセグメント開始アドレス
vm_endメモリセグメント終了アドレス
vm_protection初期メモリセグメント保護
req_protection新規メモリセグメント保護

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ルールを導入したポリシーのバージョン

ModuleEvent

{
    "properties": {
        "name": {
            "type": "string",
            "description": "モジュール名"
        },
        "loaded_from_memory": {
            "type": "boolean",
            "description": "モジュールがファイルからではなくメモリからロードされたかどうかを示す"
        },
        "argv": {
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "args_truncated": {
            "type": "boolean"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "name"
    ],
    "description": "ModuleEventSerializer はモジュールイベントを JSON にシリアライズする"
}
フィールド説明
nameモジュール名
loaded_from_memoryモジュールがファイルではなく、メモリからロードされたかどうかを示します

MountEvent

{
    "properties": {
        "mp": {
            "$ref": "#/$defs/File"
        },
        "root": {
            "$ref": "#/$defs/File"
        },
        "mount_id": {
            "type": "integer"
        },
        "parent_mount_id": {
            "type": "integer"
        },
        "bind_src_mount_id": {
            "type": "integer"
        },
        "device": {
            "type": "integer"
        },
        "fs_type": {
            "type": "string"
        },
        "mountpoint.path": {
            "type": "string"
        },
        "source.path": {
            "type": "string"
        },
        "mountpoint.path_error": {
            "type": "string"
        },
        "source.path_error": {
            "type": "string"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "mount_id",
        "parent_mount_id",
        "bind_src_mount_id",
        "device"
    ],
    "description": "MountEventSerializer がマウントイベントを JSON にシリアライズする"
}
リファレンス
ファイル
ファイル

NetworkContext

{
    "properties": {
        "device": {
            "$ref": "#/$defs/NetworkDevice",
            "description": "device is the network device on which the event was captured"
        },
        "l3_protocol": {
            "type": "string",
            "description": "l3_protocol is the layer 3 protocol name"
        },
        "l4_protocol": {
            "type": "string",
            "description": "l4_protocol is the layer 4 protocol name"
        },
        "source": {
            "$ref": "#/$defs/IPPort",
            "description": "source is the emitter of the network event"
        },
        "destination": {
            "$ref": "#/$defs/IPPort",
            "description": "destination is the receiver of the network event"
        },
        "size": {
            "type": "integer",
            "description": "size is the size in bytes of the network event"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "l3_protocol",
        "l4_protocol",
        "source",
        "destination",
        "size"
    ],
    "description": "NetworkContextSerializer serializes the network context to JSON"
}
フィールド説明
devicedevice はイベントがキャプチャされたネットワークデバイスです
l3_protocoll3_protocol はレイヤー 3 プロトコル名です
l4_protocoll4_protocol はレイヤー 4 プロトコル名です
sourcesource は、ネットワークイベントの発信元です
destinationdestination は、ネットワークイベントの受信者です
sizesize は、ネットワークイベントのバイト数です
リファレンス
NetworkDevice
IPPort
IPPort

NetworkDevice

{
    "properties": {
        "netns": {
            "type": "integer",
            "description": "netns is the interface ifindex"
        },
        "ifindex": {
            "type": "integer",
            "description": "ifindex is the network interface ifindex"
        },
        "ifname": {
            "type": "string",
            "description": "ifname is the network interface name"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "netns",
        "ifindex",
        "ifname"
    ],
    "description": "NetworkDeviceSerializer serializes the network device context to JSON"
}
フィールド説明
netnsnetns はインターフェイス ifindex です
ifindexifindex はネットワークインターフェース ifindex です
ifnameifname はネットワークインターフェース名です

PTraceEvent

{
    "properties": {
        "request": {
            "type": "string",
            "description": "ptrace request"
        },
        "address": {
            "type": "string",
            "description": "address at which the ptrace request was executed"
        },
        "tracee": {
            "$ref": "#/$defs/ProcessContext",
            "description": "process context of the tracee"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "request",
        "address"
    ],
    "description": "PTraceEventSerializer serializes a mmap event to JSON"
}
フィールド説明
requestptrace リクエスト
addressptrace リクエストが実行されたアドレス
traceetracee のプロセスコンテキスト
リファレンス
ProcessContext

Process

{
    "properties": {
        "pid": {
            "type": "integer",
            "description": "プロセス ID"
        },
        "ppid": {
            "type": "integer",
            "description": "親プロセス ID"
        },
        "tid": {
            "type": "integer",
            "description": "スレッド ID"
        },
        "uid": {
            "type": "integer",
            "description": "ユーザー ID"
        },
        "gid": {
            "type": "integer",
            "description": "グループ ID"
        },
        "user": {
            "type": "string",
            "description": "ユーザー名"
        },
        "group": {
            "type": "string",
            "description": "グループ名"
        },
        "path_resolution_error": {
            "type": "string",
            "description": "パス解決時のエラーの説明"
        },
        "comm": {
            "type": "string",
            "description": "コマンド名"
        },
        "tty": {
            "type": "string",
            "description": "プロセスに関連する TTY"
        },
        "fork_time": {
            "type": "string",
            "format": "date-time",
            "description": "プロセスのフォークタイム"
        },
        "exec_time": {
            "type": "string",
            "format": "date-time",
            "description": "プロセスの実行時間"
        },
        "exit_time": {
            "type": "string",
            "format": "date-time",
            "description": "プロセスの終了時間"
        },
        "credentials": {
            "$ref": "#/$defs/ProcessCredentials",
            "description": "プロセスに関連する資格情報"
        },
        "executable": {
            "$ref": "#/$defs/File",
            "description": "実行ファイルのファイル情報"
        },
        "interpreter": {
            "$ref": "#/$defs/File",
            "description": "インタプリターのファイル情報"
        },
        "container": {
            "$ref": "#/$defs/ContainerContext",
            "description": "コンテナコンテキスト"
        },
        "argv0": {
            "type": "string",
            "description": "最初のコマンドライン引数"
        },
        "args": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "description": "コマンドライン引数"
        },
        "args_truncated": {
            "type": "boolean",
            "description": "引数の切り捨てを示すインジケーター"
        },
        "envs": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "description": "プロセスの環境変数"
        },
        "envs_truncated": {
            "type": "boolean",
            "description": "環境変数の切り捨てを示すインジケーター"
        },
        "is_thread": {
            "type": "boolean",
            "description": "プロセスがスレッド (他のプログラムを実行していない子プロセス) であるかどうかを示す"
        },
        "is_kworker": {
            "type": "boolean",
            "description": "プロセスが kworker であるかどうかを示す"
        },
        "source": {
            "type": "string",
            "description": "プロセスソース"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "uid",
        "gid"
    ],
    "description": "ProcessSerializer はプロセスを JSON にシリアライズする"
}
フィールド説明
pidプロセス ID
ppid親プロセス ID
tidスレッド ID
uidユーザー ID
gidグループ ID
userユーザー名
groupグループ名
path_resolution_errorパス解決に伴うエラーの説明
commコマンド名
ttyプロセスに関連する TTY
fork_timeプロセスのフォーク時間
exec_timeプロセスの実行時間
exit_timeプロセスの終了時間
credentialsプロセスに関連する認証情報
executable実行ファイルのファイル情報
interpreterインタープリターのファイル情報
containerコンテナコンテキスト
argv0コマンドライン第一引数
argsコマンドライン引数
args_truncated引数の切り捨てのインジケーター
envsプロセスの環境変数
envs_truncated環境変数の切り捨てのインジケーター
is_threadプロセスがスレッド (他のプログラムを実行していない子プロセス) とみなされているかどうかを示します
is_kworkerプロセスが kworker であるかどうかを示します
sourceプロセスソース

ProcessContext

{
    "properties": {
        "pid": {
            "type": "integer",
            "description": "プロセス ID"
        },
        "ppid": {
            "type": "integer",
            "description": "親プロセス ID"
        },
        "tid": {
            "type": "integer",
            "description": "スレッド ID"
        },
        "uid": {
            "type": "integer",
            "description": "ユーザー ID"
        },
        "gid": {
            "type": "integer",
            "description": "グループ ID"
        },
        "user": {
            "type": "string",
            "description": "ユーザー名"
        },
        "group": {
            "type": "string",
            "description": "グループ名"
        },
        "path_resolution_error": {
            "type": "string",
            "description": "パス解決時のエラーの説明"
        },
        "comm": {
            "type": "string",
            "description": "コマンド名"
        },
        "tty": {
            "type": "string",
            "description": "プロセスに関連する TTY"
        },
        "fork_time": {
            "type": "string",
            "format": "date-time",
            "description": "プロセスのフォークタイム"
        },
        "exec_time": {
            "type": "string",
            "format": "date-time",
            "description": "プロセスの実行時間"
        },
        "exit_time": {
            "type": "string",
            "format": "date-time",
            "description": "プロセスの終了時間"
        },
        "credentials": {
            "$ref": "#/$defs/ProcessCredentials",
            "description": "プロセスに関連する資格情報"
        },
        "executable": {
            "$ref": "#/$defs/File",
            "description": "実行ファイルのファイル情報"
        },
        "interpreter": {
            "$ref": "#/$defs/File",
            "description": "インタプリターのファイル情報"
        },
        "container": {
            "$ref": "#/$defs/ContainerContext",
            "description": "コンテナコンテキスト"
        },
        "argv0": {
            "type": "string",
            "description": "最初のコマンドライン引数"
        },
        "args": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "description": "コマンドライン引数"
        },
        "args_truncated": {
            "type": "boolean",
            "description": "引数の切り捨てを示すインジケーター"
        },
        "envs": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "description": "プロセスの環境変数"
        },
        "envs_truncated": {
            "type": "boolean",
            "description": "環境変数の切り捨てを示すインジケーター"
        },
        "is_thread": {
            "type": "boolean",
            "description": "プロセスがスレッド (他のプログラムを実行していない子プロセス) であるかどうかを示す"
        },
        "is_kworker": {
            "type": "boolean",
            "description": "プロセスが kworker であるかどうかを示す"
        },
        "source": {
            "type": "string",
            "description": "プロセスソース"
        },
        "parent": {
            "$ref": "#/$defs/Process",
            "description": "親プロセス"
        },
        "ancestors": {
            "items": {
                "$ref": "#/$defs/Process"
            },
            "type": "array",
            "description": "先祖のプロセス"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "uid",
        "gid"
    ],
    "description": "ProcessContextSerializer はプロセスコンテキストを JSON にシリアライズする"
}
フィールド説明
pidプロセス ID
ppid親プロセス ID
tidスレッド ID
uidユーザー ID
gidグループ ID
userユーザー名
groupグループ名
path_resolution_errorパス解決に伴うエラーの説明
commコマンド名
ttyプロセスに関連する TTY
fork_timeプロセスのフォーク時間
exec_timeプロセスの実行時間
exit_timeプロセスの終了時間
credentialsプロセスに関連する認証情報
executable実行ファイルのファイル情報
interpreterインタープリターのファイル情報
containerコンテナコンテキスト
argv0コマンドライン第一引数
argsコマンドライン引数
args_truncated引数の切り捨てのインジケーター
envsプロセスの環境変数
envs_truncated環境変数の切り捨てのインジケーター
is_threadプロセスがスレッド (他のプログラムを実行していない子プロセス) とみなされているかどうかを示します
is_kworkerプロセスが kworker であるかどうかを示します
sourceプロセスソース
parent親プロセス
ancestors祖先プロセス

ProcessCredentials

{
    "properties": {
        "uid": {
            "type": "integer",
            "description": "User ID"
        },
        "user": {
            "type": "string",
            "description": "User name"
        },
        "gid": {
            "type": "integer",
            "description": "Group ID"
        },
        "group": {
            "type": "string",
            "description": "Group name"
        },
        "euid": {
            "type": "integer",
            "description": "Effective User ID"
        },
        "euser": {
            "type": "string",
            "description": "Effective User name"
        },
        "egid": {
            "type": "integer",
            "description": "Effective Group ID"
        },
        "egroup": {
            "type": "string",
            "description": "Effective Group name"
        },
        "fsuid": {
            "type": "integer",
            "description": "Filesystem User ID"
        },
        "fsuser": {
            "type": "string",
            "description": "Filesystem User name"
        },
        "fsgid": {
            "type": "integer",
            "description": "Filesystem Group ID"
        },
        "fsgroup": {
            "type": "string",
            "description": "Filesystem Group name"
        },
        "cap_effective": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "description": "Effective Capability set"
        },
        "cap_permitted": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "description": "Permitted Capability set"
        },
        "destination": {
            "description": "Credentials after the operation"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "uid",
        "gid",
        "euid",
        "egid",
        "fsuid",
        "fsgid",
        "cap_effective",
        "cap_permitted"
    ],
    "description": "ProcessCredentialsSerializer serializes the process credentials to JSON"
}
フィールド説明
uidユーザー ID
userユーザー名
gidグループ ID
groupグループ名
euid有効なユーザー ID
euser有効なユーザー名
egid有効なグループ ID
egroup有効なグループ名
fsuidFilesystem ユーザー ID
fsuserFilesystem ユーザー名
fsgidFilesystem グループ ID
fsgroupFilesystem グループ名
cap_effective有効な Capability セット
cap_permitted許可された Capability セット
destination操作後の認証情報

SELinuxBoolChange

{
    "properties": {
        "name": {
            "type": "string",
            "description": "SELinux boolean name"
        },
        "state": {
            "type": "string",
            "description": "SELinux boolean state ('on' or 'off')"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "description": "SELinuxBoolChangeSerializer serializes a SELinux boolean change to JSON"
}
フィールド説明
nameSELinux ブール値名
stateSELinux のブール値状態(‘on’ または ‘off’)

SELinuxBoolCommit

{
    "properties": {
        "state": {
            "type": "boolean",
            "description": "SELinux boolean commit operation"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "description": "SELinuxBoolCommitSerializer serializes a SELinux boolean commit to JSON"
}
フィールド説明
stateSELinux のブールコミット演算

SELinuxEnforceStatus

{
    "properties": {
        "status": {
            "type": "string",
            "description": "SELinux enforcement status (one of 'enforcing', 'permissive' or 'disabled')"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "description": "SELinuxEnforceStatusSerializer serializes a SELinux enforcement status change to JSON"
}
フィールド説明
statusSELinux の実行ステータス (’enforcing’、’permissive’、’disabled’ のいずれか 1 つ)

SELinuxEvent

{
    "properties": {
        "bool": {
            "$ref": "#/$defs/SELinuxBoolChange",
            "description": "SELinux boolean operation"
        },
        "enforce": {
            "$ref": "#/$defs/SELinuxEnforceStatus",
            "description": "SELinux enforcement change"
        },
        "bool_commit": {
            "$ref": "#/$defs/SELinuxBoolCommit",
            "description": "SELinux boolean commit"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "description": "SELinuxEventSerializer serializes a SELinux context to JSON"
}
フィールド説明
boolSELinux のブール演算
enforceSELinux の強制力の変更
bool_commitSELinux のブールコミット

SecurityProfileContext

{
    "properties": {
        "name": {
            "type": "string",
            "description": "セキュリティプロファイルの名前"
        },
        "status": {
            "type": "string",
            "description": "Status はイベントがトリガーされたときにセキュリティプロファイルがどのような状態であったかを定義する"
        },
        "version": {
            "type": "string",
            "description": "使用中のプロファイルのバージョン"
        },
        "tags": {
            "items": {
                "type": "string"
            },
            "type": "array",
            "description": "このプロファイルに関連するタグのリスト"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "name",
        "status",
        "version",
        "tags"
    ],
    "description": "SecurityProfileContextSerializer はイベント内のセキュリティプロファイルコンテキストをシリアライズする"
}
フィールド説明
nameセキュリティプロファイルの名前
statusStatus はイベントがトリガーされたときにセキュリティプロファイルがどのような状態であったかを定義する
version使用中のプロファイルのバージョン
tagsこのプロファイルに関連するタグのリスト

SignalEvent

{
    "properties": {
        "type": {
            "type": "string",
            "description": "signal type"
        },
        "pid": {
            "type": "integer",
            "description": "signal target pid"
        },
        "target": {
            "$ref": "#/$defs/ProcessContext",
            "description": "process context of the signal target"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "type",
        "pid"
    ],
    "description": "SignalEventSerializer serializes a signal event to JSON"
}
フィールド説明
typeシグナルタイプ
pidシグナルターゲット pid
targetシグナルターゲットのプロセスコンテキスト
リファレンス
ProcessContext

SpliceEvent

{
    "properties": {
        "pipe_entry_flag": {
            "type": "string",
            "description": "Entry flag of the fd_out pipe passed to the splice syscall"
        },
        "pipe_exit_flag": {
            "type": "string",
            "description": "Exit flag of the fd_out pipe passed to the splice syscall"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "pipe_entry_flag",
        "pipe_exit_flag"
    ],
    "description": "SpliceEventSerializer serializes a splice event to JSON"
}
フィールド説明
pipe_entry_flagsplice syscall に渡された fd_out パイプのエントリフラグ
pipe_exit_flagsplice syscall に渡された fd_out パイプの終了フラグ

UserContext

{
    "properties": {
        "id": {
            "type": "string",
            "description": "User name"
        },
        "group": {
            "type": "string",
            "description": "Group name"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "description": "UserContextSerializer serializes a user context to JSON"
}
フィールド説明
idユーザー名
groupグループ名