模块 data_models

此模块包含用于表示以下内容的数据类:

  • 数据模型
  • 提醒
  • 变量容器
  • 常规参数
  • 连接器参数

class TIPCommon.data_models.AlertCard

TIPCommon.data_models.AlertCard(id_: int, creation_time_unix_time_ms: int, modification_time_unix_time_ms: int, identifier: str, status: int, name: str, priority: [AlertPriority](#TIPCommon.data_models.AlertPriority) | int | None, workflow_status: int | None, sla_expiration_unix_time: int | None, sla_critical_expiration_unix_time: int | None, start_time: int, end_time: int, alert_group_identifier: str, events_count: int, title: str, rule_generator: str, device_product: str, device_vendor: str, playbook_attached: bool | None, playbook_run_count: int | None, is_manual_alert: bool | None, sla: [SLA](#TIPCommon.data_models.SLA) | None, fields_groups: list[[FieldsGroup](#TIPCommon.data_models.FieldsGroup)], source_url: str | None, source_rule_url: str | None, siem_alert_id: str | None, additional_properties: str | None, case_id: int | None, ticket_id: str | None, closure_details: MutableMapping[str, Any] | None, event_count: int | None = None, product_families: list[str] | None = None, entity_cards: list[MutableMapping[str, Any]] | None = None, security_event_cards: list[MutableMapping[str, Any]] | None = None, involved_relations: list[MutableMapping[str, Any]] | None = None)

代码库:对象

AlertCard 表示提醒的摘要卡片,封装了用于在平台内进行可视化和跟踪的关键元数据和状态指示器。

方法

以下方法有助于从结构化数据中序列化和重建提醒卡片。

方法
from_json()

from_json(alert_card_json: dict[str, Any]) → AlertCard

一种类方法,用于从 JSON 字典创建 AlertCard 实例。

to_json()

to_json() → MutableMapping[str, Any]

AlertCard 对象转换为可序列化为 JSON 的字典格式。

属性

下表重点介绍了与提醒相关的主要结构属性和复杂数据模型。

属性
fields_groups

list[FieldsGroup]

与提醒关联的分组字段的列表,用于在界面中呈现结构化数据。

sla

SLA

用于定义提醒的响应和解决时间范围的服务等级协议对象。

class TIPCommon.data_models.AlertEvent

TIPCommon.data_models.AlertEvent(fields: list[EventPropertyField], identifier: str, case_id: int, alert_identifier: str, name: str, product: str, port: str | None, source_system_name: str, outcome: str | None, time: int, type_: str, artifact_entities: list[str])

代码库:对象

AlertEvent 表示与提醒关联的单个事件,包含特定的遥测数据、字段属性和实体关系。

方法

以下方法 fƒconacilitates 可帮助您从结构化 JSON 数据重建事件对象。

方法
from_json()

from_json(event_json: MutableMapping[str, Any]) → AlertEvent

一种类方法,用于从表示其属性的 JSON 字典创建 AlertEvent 实例。

属性

下表重点介绍了与该事件关联的主要结构属性和复杂数据模型。

属性
fields

list[EventPropertyField]

特定于相应事件的属性字段列表,用于定义其唯一的数据点。

artifact_entities

list[str]

从事件遥测数据中提取的实体标识符列表。

class TIPCommon.data_models.AlertPriority

TIPCommon.data_models.AlertPriority(value)

基类:Enum

AlertPriority 定义了用于对平台内的提醒进行分类和确定优先级的标准化整数严重性级别。

常量

以下常量表示分配给提醒的具体优先级值。

常量
CRITICAL 100
HIGH 80
MEDIUM 60
LOW 40
UNCHANGED 0
INFORMATIVE -1

class TIPCommon.data_models.AttachmentMetadata

TIPCommon.data_models.AttachmentMetadata(raw_data: SingleJson)

代码库:对象

AttachmentMetadata 封装了与文件附件关联的描述性数据和属性,并提供用于结构化数据转换和检索的方法。

方法

以下方法提供了一种从 JSON 载荷重建问题对象的标准化方式。

方法
from_json()

from_json(result_data: MutableMapping[str, Any]) → Self

一种类方法,用于使用提供的元数据属性字典初始化新的 AttachmentMetadata 实例。

to_json()

to_json() → MutableMapping[str, Any]

AttachmentMetadata 对象序列化回 JSON 兼容的字典格式。

属性

下表重点介绍了用于存储附件元数据属性的主要数据结构。

属性
raw_data

MutableMapping[str, Any]

包含从来源接收的原始元数据属性的基础字典。

class TIPCommon.data_models.BaseAlert

TIPCommon.data_models.BaseAlert(raw_data, alert_id)

代码库:对象

BaseAlert 是表示一般安全提醒的基础模型。它提供了一种标准化结构,用于存储原始遥测数据以及唯一的平台标识符。

方法

以下方法可将提醒序列化为标准格式。

方法
to_json()

to_json() → dict[str, Any]

将提醒转换为可序列化为 JSON 的字典,如 json.loads() 返回的字典。

属性

下表重点介绍了此模型管理的核心数据点。

属性
raw_data

dict[str, Any]

与提醒关联的原始数据载荷。

alert_id

Any

分配给提醒的唯一标识符。

示例

以下示例演示了如何初始化 BaseAlert 并访问其原始数据和序列化输出。

>>> from data_models import BaseAlert
>>> alert = BaseAlert({'foo': 'bar'}, 100)
>>> alert.raw_data
{'foo': 'bar'}
>>> alert.alert_id
100
>>> alert.to_json()
{'foo': 'bar'}

class TIPCommon.data_models.BaseDataModel

TIPCommon.data_models.BaseDataModel(raw_data)

代码库:对象

BaseDataModel 充当库中各种数据结构的父类,确保对原始输入数据和序列化进行一致的处理。

方法

以下方法可确保以与 JSON 操作兼容的格式检索原始数据。

方法
to_json()

to_json() → dict[str, Any]

将存储在模型中的原始数据序列化为字典格式。

属性

下表介绍了基本型号的主要数据存储空间。

属性
raw_data

dict[str, Any]

用于初始化模型的原始数据载荷。

示例

以下示例展示了数据模型的基本初始化以及序列化方法的使用。

>>> from data_models import BaseDataModel
>>> data = BaseDataModel({'foo': 'bar'})
>>> data.raw_data
{'foo': 'bar'}
>>> data.to_json()
{'foo': 'bar'}

class TIPCommon.data_models.CaseDataStatus

TIPCommon.data_models.CaseDataStatus(value)

基类:Enum

CaseDataStatus 定义了平台内支持的案例操作状态,从初始提取到最终关闭或合并。

常量

以下常量表示分配给支持服务请求数据的特定状态指示器。

常量
NEW 0
OPENED 1
CLOSED 2
ALL 3
MERGED 4
CREATION_PENDING 5

class TIPCommon.data_models.CaseDetails

代码库:对象

CaseDetails 提供安全事件的全面视图,包括用于重建或序列化事件数据的状态检查属性和方法。

方法

以下方法用于管理对象实例与结构化 JSON 格式之间的病例详情转换。

方法
from_json()

from_json(case_details_json: MutableMapping[str, Any]) → CaseDetails

一种类方法,用于从病例属性字典初始化 CaseDetails 实例。

to_json()

to_json(include_activities: bool = False) → MutableMapping[str, Any]

CaseDetails 对象转换为可序列化为 JSON 的字典。将 include_activities 设置为 True 可包含支持请求活动日志。

属性

以下属性提供了有关支持请求当前状态的逻辑指示器。

属性
is_closed

bool

一个布尔值属性,用于指示保护壳是否处于关闭状态。

is_open

bool

一个布尔值属性,用于指示支持请求是否处于有效状态或已打开。

class TIPCommon.data_models.CaseOverviewInfo

TIPCommon.data_models.CaseOverviewInfo(id: 'int', create_time_ms: 'int', update_time_ms: 'int', display_id: 'str', display_name: 'str', alert_count: 'int', stage: 'str', priority: 'CasePriority', important: 'bool', description: 'str | None' = None, type: 'int | None' = None, assignee_full_name: 'str | None' = None, environment_data: 'EnvironmentData | None' = None, status: 'CaseDataStatus | None' = None, score: 'int | None' = None, case_sla: 'CaseSLAInfo | None' = None, alerts_sla: 'CaseSLAInfo | None' = None, incident: 'bool | None' = None, has_suspicious_entity: 'bool | None' = None, workflow_status: 'int | None' = None, tags: 'list[str]' = <factory>, products: 'list[str]' = <factory>, touched: 'bool | None' = None, merged: 'bool | None' = None, has_incident: 'bool | None' = None, alert_names: 'list[str]' = <factory>)

代码库:对象

CaseOverviewInfo 提供安全支持请求的高级摘要,汇总用于信息中心和队列管理的元数据、服务等级协议 (SLA) 状态和组织详细信息。

方法

以下方法有助于从结构化 JSON 数据重建案例概览对象。

方法
from_json()

from_json(json_data: MutableMapping[str, Any]) → CaseOverviewInfo

一种类方法,用于从病例摘要属性字典初始化 CaseOverviewInfo 实例。

属性

下表重点介绍了与支持请求概览关联的主要结构属性、枚举和关键运营指标。

属性
priority

CasePriority

分配给支持请求的严重程度。

status

CaseDataStatus | None

支持请求数据的当前运行状态。

workflow_status

int | None

平台自动化工作流引擎中的当前步骤或状态。

score

int | None

分配给支持请求的计算风险或重要性得分。

case_sla

CaseSLAInfo | None

专门针对支持请求解决生命周期的 SLA 跟踪信息。

alerts_sla

CaseSLAInfo | None

相应支持请求中包含的各个提醒的 SLA 跟踪信息。

environment_data

EnvironmentData | None

有关工单来源的特定组织环境的元数据。

tags

list[str]

与支持请求关联的用户定义标签或系统生成的标签的列表。

class TIPCommon.data_models.CasePriority

TIPCommon.data_models.CasePriority(value)

基类:Enum

CasePriority 定义了用于在平台内对支持请求进行分类和确定优先级的标准化整数严重程度级别。

常量

以下常量表示分配给不同情形的具体优先级值。

常量
CRITICAL 100
HIGH 80
MEDIUM 60
LOW 40
UNCHANGED 0
INFORMATIVE -1

class TIPCommon.data_models.CaseSLAInfo

TIPCommon.data_models.CaseSLAInfo(expiration_time_ms: int | None = None, critical_expiration_time_ms: int | None = None, expiration_status: int | None = None, last_pause_remaining_time_ms: int | None = None)

代码库:对象

CaseSLAInfo 封装了服务等级协议 (SLA) 跟踪数据,提供到期时间和状态指示器,以确保及时响应突发事件。

方法

以下方法允许从结构化 JSON 数据创建 SLA 信息对象。

方法
from_json()

from_json(json_data: MutableMapping[str, Any]) → CaseSLAInfo

一种类方法,用于从 SLA 属性字典初始化 CaseSLAInfo 实例。

属性

下表重点介绍了用于监控诉讼期限的主要时间和状态属性。

属性
expiration_time_ms

int | None

标准 SLA 设置为过期时的 Unix 时间戳(以毫秒为单位)。

critical_expiration_time_ms

int | None

达到严重 SLA 阈值的 Unix 时间戳(以毫秒为单位)。

expiration_status

int | None

一个表示 SLA 当前状态的整数指示器。

last_pause_remaining_time_ms

int | None

上次暂停时 SLA 时钟上剩余的时间量。

class TIPCommon.data_models.CaseWallAttachment

TIPCommon.data_models.CaseWallAttachment(name, file_type, base64_blob, is_important, case_id=None, description=None)

代码库:对象

CaseWallAttachment 表示附加到案件证据墙的文件或数据对象,包括采用 base64 格式的原始内容和关联的元数据。

属性

下表重点介绍了与附件关联的主要属性和内容数据。

属性
name

str

附件的文件名或显示名称。

file_type

str

表示附加数据格式的 MIME 类型或文件扩展名。

base64_blob

str

文件的实际内容,编码为 base64 字符串。

is_important

bool

一个标志,用于指示相应附件是否被标记为调查的关键证据。

class TIPCommon.data_models.ConnectorCard

TIPCommon.data_models.ConnectorCard(integration, display_name, identifier, is_enabled, is_remote, status)

代码库:对象

ConnectorCard 提供特定连接器的配置摘要,

平台内的当前运行状态。

方法

以下方法有助于从结构化 JSON 数据创建连接器卡实例。

方法
from_json()

from_json(connector_card_json: MutableMapping[str, Any]) → ConnectorCard

一种类方法,用于从连接器属性字典初始化 ConnectorCard 实例。

属性

下表重点介绍了连接器的运行状态和标识属性。

属性
status

ConnectorConnectivityStatusEnum

连接器的当前连接和健康状况。

is_enabled

bool

指示连接器是否处于有效状态并正在处理数据。

class TIPCommon.data_models.ConnectorConnectivityStatusEnum

TIPCommon.data_models.ConnectorConnectivityStatusEnum(value)

基类:Enum

ConnectorConnectivityStatusEnum 定义了连接器的可能连接状态,用于指示连接器是否成功与其目标集成进行通信。

常量

以下常量表示连接器的连接的健康状况。

常量
LIVE 0
NO_CONNECTIVITY 1

class TIPCommon.data_models.ConnectorParamTypes

TIPCommon.data_models.ConnectorParamTypes(value)

基类:Enum

ConnectorParamTypes 定义了连接器配置参数支持的数据类型。这些类型可确保在平台的设置中进行适当的验证和界面渲染。

常量

以下常量表示可用于形参的特定数据类型。

常量
BOOLEAN 0(布尔值切换)
INTEGER 1(数字整数)
STRING 2(标准文本字符串)
PASSWORD 3(遮盖的密码字段)
IP 4(IP 地址)
HOST 5(主机名)
URL 6(网址字符串)
DOMAIN 7(域名)
EMAIL 8(电子邮件地址)
SCRIPT 12(旧版脚本参数)
NULL -1(参数类型无效)

TIPCommon.data_models.ConnectorParameter

TIPCommon.data_models.ConnectorParameter(raw_param)

基类:Parameter

ConnectorParameter 表示连接器的单个配置设置。它扩展了基本参数模型,以包含验证类型和强制性要求等特定元数据。

属性

以下属性可用于访问连接器参数的配置详细信息和限制。

属性
name

str

用于在连接器配置中标识参数的唯一名称。

value

Any

分配给参数的当前值。

type

ConnectorParamTypes

参数的数据类型,用于验证和界面呈现。

mode

int

参数的运行模式或可见性设置。

is_mandatory

bool

指示在保存或执行连接器之前,是否必须为此参数提供值。

示例

以下示例演示了如何使用原始字典初始化 ConnectorParameter 并访问其属性。

>>> from data_models import ConnectorParameter, ConnectorParamTypes
>>> p = ConnectorParameter({
    'param_name': 'api_root',
    'type': ConnectorParamTypes.STRING,
    'param_value': '[http://foo.bar](http://foo.bar)',
    'is_mandatory': True,
    'mode': 0
    })
>>> print(p)
ConnectorParameter(name='api_root', value='[http://foo.bar](http://foo.bar)', type=2, mode=0, is_mandatory=True)

class TIPCommon.data_models.Container

TIPCommon.data_models.Container()

代码库:对象

Container 可充当通用动态对象,用于将变量存储为属性。它可用于在平台的各个组件之间传递任意数据集合。

示例

以下示例展示了如何初始化容器并动态分配和检索变量。

>>> from data_models import Container
>>> container = Container()
>>> container.one = 1
>>> container.one
1

class TIPCommon.data_models.CreateEntity

TIPCommon.data_models.CreateEntity(case_id, alert_identifier, entity_type, entity_identifier, entity_to_connect_regex, types_to_connect=None, is_primary_link=False, is_directional=False)

代码库:对象

CreateEntity 封装了创建新实体并将其关联到现有支持请求和提醒所需的指令。它包含基于正则表达式的连接和关系映射的逻辑。

方法

以下方法用于处理实体创建指令到平台兼容格式的转换。

方法
to_json()

to_json() → MutableMapping[str, Any]

CreateEntity 对象转换为可序列化为 JSON 的字典。

属性

下表重点介绍了用于在平台内定义新实体及其关系的主要属性。

属性
case_id

int

将创建实体的支持请求的唯一标识符。

alert_identifier

str

相应实体的关联警报的标识符。

entity_type

str

实体的分类。

entity_identifier

str

用于标识实体的特定值或名称。

entity_to_connect_regex

str

用于标识要连接到此实体的其他实体的正则表达式。

types_to_connect

list[str] | None

根据正则表达式可进行连接的实体类型的特定列表。

bool

指示此连接是否表示实体之间的主要关系。

is_directional

bool

确定连接是否具有明确的方向(从来源到目标)或是否是双向的。

class TIPCommon.data_models.CustomField

TIPCommon.data_models.CustomField(id, display_name, description, type, scopes)

代码库:对象

CustomField 表示平台内用户定义的数据字段。它允许通过添加根据组织要求量身定制的特定元数据来扩展标准数据模型。

方法

以下方法允许从结构化 JSON 数据重建自定义字段对象。

方法
from_json()

from_json(json_data: MutableMapping[str, Any]) → CustomField

一种类方法,用于从字段属性字典初始化 CustomField 实例。

属性

下表重点介绍了自定义字段的主要属性和范围限制。

属性
id

int

自定义字段的唯一标识符。

display_name

str

平台界面中显示的直观易懂的标签。

type

str

字段的数据类型。

scopes

list[CustomFieldScope]

此字段可用的应用领域列表

class TIPCommon.data_models.CustomFieldScope

TIPCommon.data_models.CustomFieldScope(value)

基类:Enum

CustomFieldScope 用于定义平台层次结构中应用自定义字段的有效目标。

方法

以下方法提供用于解析作用域对象的路径的实用程序。

方法
build_parent_path()

build_parent_path(identifier: int) → str

为指定的父对象标识符构建内部平台路径。

常量

以下常量表示可用于自定义字段的特定范围。

常量
ALERTS 'Alert'
CASE 'Case'

class TIPCommon.data_models.CustomFieldValue

TIPCommon.data_models.CustomFieldValue(custom_field_id, values, scope, identifier)

代码库:对象

CustomFieldValue 表示分配给自定义字段实例的特定数据。它将字段定义与用户或自动化流程提供的实际内容相关联。

方法

以下方法有助于从结构化 JSON 数据中重建自定义字段值。

方法
from_json()

from_json(json_data: MutableMapping[str, Any]) → CustomFieldValue

一种类方法,用于从值属性字典初始化 CustomFieldValue 实例。

属性

下表重点介绍了自定义字段值的主要属性和上下文标识符。

属性
custom_field_id

int

相应值所属的 CustomField 定义的标识符。

values

list[str]

一个字符串列表,表示字段中存储的实际数据。

scope

CustomFieldScope

应用相应特定值的应用领域。

identifier

int

包含此值的特定对象的唯一标识符。

class TIPCommon.data_models.DataAccessContext

TIPCommon.data_models.DataAccessContext(global_access, assigned_scopes)

代码库:对象

DataAccessContext 定义了用户或进程的权限和可见性限制,用于确定在执行期间可访问哪些数据范围。

方法

以下方法用于管理对象实例和 JSON 格式之间的访问上下文数据转换。

方法
from_json()

from_json(json_data: MutableMapping[str, Any]) → DataAccessContext

一种类方法,用于从访问属性字典初始化 DataAccessContext 实例。

to_json()

to_json() → dict

DataAccessContext 对象转换为字典格式。

属性

下表重点介绍了在上下文中定义的主要访问权限控制。

属性
global_access

bool

表示上下文是否允许跨所有数据范围进行不受限制的访问。

assigned_scopes

list[Any]

已明确授予访问权限的特定范围或组织部门的列表。

class TIPCommon.data_models.DatabaseContextType

TIPCommon.data_models.DatabaseContextType(value)

基类:Enum

DatabaseContextType 用于指定数据库交互的操作上下文,确保数据持久保留或从平台的正确逻辑段检索。

常量

以下常量表示发生数据库操作的特定平台区域。

常量
GLOBAL 0(全局系统级上下文)
CASE 1(特定安全问题情境)
ALERT 2(单个提醒的上下文)
JOB 3(已安排的作业或自动化上下文)
CONNECTOR 4(数据连接器上下文)

TIPCommon.data_models.DynamicParameter

TIPCommon.data_models.DynamicParameter(key: str, value: str)

代码库:对象

DynamicParameter 表示一种灵活的键值对,用于在系统组件之间传递运行时配置或自定义元数据。

方法

以下方法用于处理从结构化 JSON 数据重建动态参数。

方法
from_json()

from_json(json_data: MutableMapping[str, Any]) → DynamicParameter

一种类方法,用于从键和值属性的字典初始化 DynamicParameter 实例。

属性

下表介绍了动态形参的属性。

属性
key

str

参数的名称或标识符。

value

str

与键关联的数据内容。

class TIPCommon.data_models.EmailTemplate

TIPCommon.data_models.EmailTemplate(template_type, name, content, creator_user_name, for_migration, environments, _id, creation_time_unix_time_in_ms, modification_time_unix_time_in_ms)

代码库:对象

EmailTemplate 表示平台内用于通知和报告的标准通信格式。它封装了消息内容、元数据和环境限制。

方法

以下方法用于管理电子邮件模板的序列化和重建。

方法
from_json()

from_json(data: MutableMapping[str, Any]) → EmailTemplate

一种类方法,用于从包含模板数据的字典初始化 EmailTemplate 实例。

to_json()

to_json() → dict

EmailTemplate 对象转换为可序列化为 JSON 的字典格式。

属性

下表重点介绍了电子邮件模板的主要属性和结构化数据。

属性
content

str

电子邮件模板的正文文本或 HTML 结构。

environments

list[str]

此模板可供使用的组织环境列表。

template_type

int | str

模板的分类或类别。

class TIPCommon.data_models.Entity

TIPCommon.data_models.Entity(raw_data, case_id, entity_type, enriched, artifact, vulnerable, suspicious, attacker, pivot, internal, manually_created, fields)

代码库:对象

实体表示安全事件中的特定可观测对象或感兴趣的对象(例如 IP 地址、文件哈希或用户)。它会跟踪原始遥测数据以及各种布尔值“标记”,这些标记用于指示实体在调查中的角色或风险级别。

方法

以下方法用于管理实体对象的序列化和重建。

方法
from_json()

from_json(entity_response: MutableMapping[str, Any]) → Entity

一种类方法,用于从包含实体遥测数据和标志的字典初始化 Entity 实例。

to_json()

to_json() → MutableMapping[str, Any]

Entity 对象转换为可序列化为 JSON 的字典格式。

属性

下表重点列出了与实体关联的主要分类标志和数据结构。

属性
entity_type

str | None

实体的类别。

suspicious

bool

表示实体是否已被系统逻辑或外部情报标记为可能具有恶意性。

vulnerable

bool

指示实体是否已知存在安全漏洞。

attacker

bool

如果实体被确定为恶意活动的来源,则标记为 true。

internal

bool

表示实体是否属于组织的内部网络或基础设施。

fields

list[MutableMapping[str, Any]]

与实体关联的其他属性或丰富的数据点的列表。

class TIPCommon.data_models.EntityCard

TIPCommon.data_models.EntityCard(identifier, entity_type, is_suspicious, linked_entities)

代码库:对象

EntityCard 表示实体的摘要视图,通常用于界面组件。它以简化的结构汇总实体的标识、类型以及与其他实体的关系。

方法

以下方法用于管理实体卡的序列化和重建。

方法
from_json()

from_json(entity_data: MutableMapping[str, Any]) → EntityCard

一种类方法,用于从实体摘要数据字典初始化 EntityCard 实例。

to_json()

to_json() → MutableMapping[str, Any]

EntityCard 对象转换为可序列化为 JSON 的字典格式。

属性

下表重点介绍了用于识别和关联卡片内实体的主要属性。

属性
identifier

str

用于标识实体的唯一值或名称。

entity_type

str

实体的分类类别。

is_suspicious

str

一个字符串指示器(通常为 TrueFalse),表示实体的可疑状态。

linked_entities

list[str]

与此特定实体卡片相关的其他实体的标识符列表。

class TIPCommon.data_models.EnvironmentData

TIPCommon.data_models.EnvironmentData(environment, dynamic_parameters=<factory>, base64_image=None, platform=None)

代码库:对象

EnvironmentData 封装了特定组织环境的配置和品牌信息。这包括用于多租户或多环境部署的环境专用参数和视觉资源。

方法

以下方法有助于从结构化 JSON 数据创建环境数据对象。

方法
from_json()

from_json(json_data: MutableMapping[str, Any]) → EnvironmentData

一种类方法,用于从环境属性字典初始化 EnvironmentData 实例。

属性

下表重点列出了与环境相关的配置参数和品牌推广素材资源。

属性
environment

str

组织环境的名称。

dynamic_parameters

list[DynamicParameter]

特定于此环境配置的自定义键值对的列表。

base64_image

str | None

一个可选的 base64 编码字符串,表示环境的徽标或图标。

platform

int | None

表示特定平台或基础设施提供商的整数标识符。

class TIPCommon.data_models.EventCard

TIPCommon.data_models.EventCard(case_id, alert_identifier, event_id, name, time, product, port, outcome, artifact_entities, fields)

代码库:对象

EventCard 表示特定安全事件的简明直观的摘要。它旨在显示最关键的遥测数据(例如时间、源产品和结果),以便在调查信息中心和事件队列中使用。

方法

以下方法用于管理事件卡数据在对象实例和 JSON 格式之间的转换。

方法
from_json()

from_json(event_data: MutableMapping[str, Any]) → EventCard

一种类方法,用于从事件属性字典初始化 EventCard 实例。

to_json()

to_json() → MutableMapping[str, Any]

EventCard 对象转换为可序列化为 JSON 的字典格式。

属性

下表重点介绍了存储在活动卡片中的主要遥测数据和组织标识符。

属性
event_id

str

特定活动记录的唯一标识符。

time

int

表示事件发生时间的 Unix 时间戳。

product

str

生成事件遥测数据的安全产品或工具。

outcome

str

相应事件的记录结果。

artifact_entities

list[MutableMapping[str, Any]]

在事件遥测中识别出的实体列表,这些实体可作为相应支持请求的制品。

fields

list[MutableMapping[str, Any]]

一组特定于相应事件数据载荷的其他键值属性。

class TIPCommon.data_models.EventPropertyField

TIPCommon.data_models.EventPropertyField(order, group_name, is_integration, is_highlight, items)

代码库:对象

EventPropertyField 定义了按优先级和分组整理的结构化事件属性集合。它用于对遥测数据进行分类以供显示,并突出显示关键字段以供调查重点关注。

方法

以下方法用于处理从结构化 JSON 数据重建属性字段对象。

方法
from_json()

from_json(event_property_field: MutableMapping[str, Any]) → EventPropertyField

一种类方法,用于从字段属性字典初始化 EventPropertyField 实例。

属性

下表重点介绍了用于定义事件属性字段的元数据和内容项。

属性
group_name

str

这些字段所属的逻辑组的名称。

is_highlight

bool

指示此字段是否应在平台界面中以醒目方式显示,作为高优先级数据点。

items

list[FieldItem]

相应媒体资源组中包含的特定数据项的列表。

class TIPCommon.data_models.FieldGroupItem

TIPCommon.data_models.FieldGroupItem(original_name, name, value)

代码库:对象

FieldGroupItem 表示字段组中的特定数据点,用于维护原始源名称与人类可读的显示名称之间的映射。

方法

以下方法用于管理字段组项的序列化和重建。

方法
from_json()

from_json(field_group_json: MutableMapping[str, Any]) → FieldGroupItem

一种类方法,用于从 JSON 字典初始化 FieldGroupItem 实例。

to_json()

to_json() → MutableMapping[str, Any]

FieldGroupItem 对象转换为可序列化为 JSON 的字典格式。

class TIPCommon.data_models.FieldItem

TIPCommon.data_models.FieldItem(original_name, name, value)

代码库:对象

FieldItem 是单个属性的基本数据结构,用于存储原始键、映射的标签和关联的值。

方法

方法
from_json()

from_json(field_json: MutableMapping[str, Any]) → FieldItem

一种类方法,用于根据字段属性字典创建 FieldItem 实例。

class TIPCommon.data_models.FieldsGroup

TIPCommon.data_models.FieldsGroup(order, group_name, is_integration, is_highlight, hide_options, items)

代码库:对象

FieldsGroup 用作容器,用于将多个字段项整理到逻辑集合中。它主要用于控制平台界面中数据的布局和可见性。

方法

以下方法用于管理对象实例与结构化 JSON 之间的字段组数据转换。

方法
from_json()

from_json(field_group_json: MutableMapping[str, Any]) → FieldsGroup

一种类方法,用于从群组属性字典初始化 FieldsGroup 实例。

to_json()

to_json() → MutableMapping[str, Any]

FieldsGroup 对象转换为可序列化为 JSON 的字典格式。

属性

下表重点介绍了用于定义群组的显示行为和内容的属性。

属性
group_name

str

用于在界面中标识群组的标签。

is_highlight

bool

确定是否应以醒目的方式显示相应群组。

items

list[FieldGroupItem]

群组中包含的具体数据点列表。

class TIPCommon.data_models.GoogleServiceAccount

TIPCommon.data_models.GoogleServiceAccount(account_type, project_id, private_key_id, private_key, client_email, client_id, auth_uri, token_uri, auth_provider_x509_url, client_x509_cert_url)

代码库:对象

GoogleServiceAccount 提供服务账号凭据的结构化表示形式。 Google Cloud 它用于管理与 Google 服务互动的集成功能的身份验证详细信息。

方法

以下方法有助于将凭据数据导出为客户端库所需的标准格式。

方法
to_dict()

to_dict() → dict[str, str]

将服务账号属性序列化为与标准 service-account-file.json 格式兼容的字典。

class TIPCommon.data_models.Insight

TIPCommon.data_models.Insight(raw_data)

代码库:对象

数据分析表示平台或集成功能生成的离散分析结果或观测结果。它封装了原始数据,可为安全调查提供额外的背景信息或建议的操作。

方法

以下方法用于管理数据洞见对象的序列化和重建。

方法
from_json()

from_json(insights_response: MutableMapping[str, Any]) → Insight

一种类方法,用于从原始数据分析遥测数据的字典创建 Insight 实例。

to_json()

to_json() → MutableMapping[str, Any]

Insight 对象序列化回 JSON 兼容的字典格式。

属性

属性
raw_data

MutableMapping[str, Any]

包含数据分析的具体发现和指标的基础原始数据载荷。

TIPCommon.data_models.InstalledIntegrationInstance

TIPCommon.data_models.InstalledIntegrationInstance(instance, identifier, integration_identifier, environment_identifier, instance_name)

代码库:对象

InstalledIntegrationInstance 表示已部署在环境中的集成的特定配置实例。它将常规集成定义与其特定的环境部署和命名相关联。

方法

以下方法用于管理集成实例数据在对象实例和结构化 JSON 之间的转换。

方法
from_json()

from_json(integration_env_json: MutableMapping[str, Any]) → InstalledIntegrationInstance

一种将 JSON 数据解析为 InstalledIntegrationInstance 对象的类方法。

to_json()

to_json() → MutableMapping[str, Any]

将集成实例数据序列化为与 JSON 兼容的字典格式。

属性

下表重点介绍了用于在不同组织环境中跟踪集成情况的标识符。

属性
instance_name

str

相应集成实例的用户定义名称。

integration_identifier

str

父级集成资源的唯一标识符。

environment_identifier

str

相应实例所安装的组织环境的标识符。

class TIPCommon.data_models.InternalDomain

TIPCommon.data_models.InternalDomain(alias_name, id_, domain_display_name, environments_json, creation_time_unix_time_in_ms, modification_time_unix_time_in_ms)

代码库:对象

InternalDomain 表示被识别为组织内部基础架构一部分的网域标识符。这些记录对于在安全调查期间区分内部流量和外部威胁至关重要。

方法

以下方法用于管理内部网域记录的序列化和重建。

方法
from_json()

from_json(json_data: MutableMapping[str, Any]) → InternalDomain

一种类方法,用于从 JSON 字典创建 InternalDomain 对象。

to_json()

to_json() → MutableMapping[str, Any]

InternalDomain 对象转换为可序列化为 JSON 的字典格式。

属性

下表重点介绍了用于识别和分类内部网域的属性。

属性
domain_display_name

str

主域名。

alias_name

str

用于在平台内标识网域的备用名称或标签。

environments_json

str

一个 JSON 格式的字符串,列出了被视为内部网域的环境。

class TIPCommon.data_models.JobParamType

TIPCommon.data_models.JobParamType(value)

基类:Enum

JobParamType 用于定义在已安排时间的作业或自动化任务中使用的参数支持的数据类型。这些类型有助于进行适当的输入验证和平台级处理。

常量

以下常量表示作业参数可用的特定数据类型。

常量
BOOLEAN 0
INTEGER 1
STRING 2
PASSWORD 3
IP 4
HOST 5
URL 6
DOMAIN 7
EMAIL 8
NULL -1

TIPCommon.data_models.Parameter

TIPCommon.data_models.Parameter(raw_param)

代码库:对象

参数是库中所有与参数相关的模型的主要基类。它提供了一个用于处理原始配置数据的一致接口。

属性

以下属性用于访问用于初始化参数的基础数据。

属性
raw_data

dict[str, Any]

包含参数配置的原始字典载荷。

示例

以下示例演示了如何初始化基本 Parameter 类并访问其原始数据。

>>> from data_models import Parameter
>>> p = Parameter({'foo': 'bar'})
>>> print(p)
Parameter(raw_data={'foo': 'bar'})

class TIPCommon.data_models.SLA

TIPCommon.data_models.SLA(sla_expiration_time, critical_expiration_time, expiration_status, remaining_time_since_last_pause)

代码库:对象

SLA(服务等级协议)封装了提醒的时间限制和状态。它可为标准和关键截止期限提供高精度跟踪,包括处理暂停的逻辑。

方法

以下方法用于管理对象实例和结构化 JSON 之间的 SLA 数据转换。

方法
from_json()

from_json(sla_json: MutableMapping[str, Any]) → SLA

一种类方法,用于从 JSON 字典初始化 SLA 实例。

to_json()

to_json() → MutableMapping[str, Any]

SLA 对象转换为可序列化为 JSON 的字典格式。

属性

下表重点介绍了用于跟踪提醒过期时间的核心时间属性。

属性
sla_expiration_time

int | None

表示标准 SLA 过期期限的 Unix 时间戳。

critical_expiration_time

int | None

表示关键 SLA 过期截止时间的 Unix 时间戳。

expiration_status

int

SLA 的当前状态。

class TIPCommon.data_models.ScriptContext

TIPCommon.data_models.ScriptContext(target_entities: 'str' = '', case_id: 'int | str | None' = None, alert_id: 'str' = '', environment: 'str' = '', workflow_id: 'str' = '', workflow_instance_id: 'str | None' = None, parameters: 'SingleJson' = <factory>, integration_identifier: 'str' = '', integration_instance: 'str' = '', action_definition_name: 'str' = '', original_requesting_user: 'str' = '', execution_deadline_unix_time_ms: 'int' = 0, async_polling_interval_in_sec: 'int' = 0, async_total_duration_deadline: 'int' = 0, script_timeout_deadline: 'int' = 0, default_result_value: 'str' = '', use_proxy_settings: 'bool' = False, max_json_result_size: 'int' = 15, vault_settings: 'SiemplifyVault | None' = None, environment_api_key: 'str | None' = None, unique_identifier: 'str' = '', job_api_key: 'str' = '', connector_context: 'ConnectorContext | None' = None)

代码库:对象

ScriptContext 是一个综合性容器,可为脚本执行提供必要的环境、标识符和参数。它会跟踪从目标实体和工作流 ID 到代理和保险库配置等安全设置的所有内容。

方法

以下方法允许修改和序列化脚本的执行上下文。

方法
to_json()

to_json() → MutableMapping[str, Any]

ScriptContext 序列化为 JSON 兼容的字典格式。

update()

update(attributes: MutableMapping[str, Any]) → None

使用所提供字典中的值更新上下文属性。

属性

鉴于上下文的广泛性,下表重点介绍了最重要的执行和环境标识符。

属性
case_id

int | str | None

与当前脚本执行关联的测试用例的标识符。

workflow_id

str

当前正在处理的工作流的 ID。

parameters

SingleJson

一个字典,包含传递给脚本的运行时参数。

execution_deadline_unix_time_ms

int

指示脚本执行必须结束的 Unix 时间戳。

vault_settings

SiemplifyVault | None

用于访问平台保险库中存储的敏感数据的配置设置。

class TIPCommon.data_models.SmimeEmailConfig

TIPCommon.data_models.SmimeEmailConfig(email, private_key_b64, certificate_b64, ca_certificate_b64)

代码库:对象

SmimeEmailConfig 封装了执行 S/MIME 操作(例如签名或加密)所需的必要加密资产和电子邮件。它包含原始电子邮件以及 base64 编码的密钥和证书。

属性

下表介绍了此配置模型管理的加密组件。

属性
email

email.message.Message

要处理的标准 Python 电子邮件消息对象。

private_key_b64

str

用于签名或解密的 base64 编码私钥。

certificate_b64

str

与私钥关联的 base64 编码的公共证书。

ca_certificate_b64

str

用于验证信任链的 base64 编码的证书授权机构 (CA) 证书。

class TIPCommon.data_models.SmimeType

TIPCommon.data_models.SmimeType(value)

基类:Enum

SmimeType 用于定义 S/MIME 处理的操作模式,区分是通过加密来保护内容,还是通过数字签名来验证发件人。

常量

以下常量表示支持的 S/MIME 消息类型。

常量
SIGNED 'signed'(消息经过数字签名,以确保真实性)
ENCRYPTED 'encrypted'(邮件正文已加密,以确保机密性)

class TIPCommon.data_models.TypedContainer

TIPCommon.data_models.TypedContainer()

基类:Generic[T]

TypedContainer 是一种旨在保存特定类型数据的泛型封装容器。它通过提供类型提示和智能感知来提高开发者的工作效率,确保存储的对象能够被 IDE 和静态分析工具正确处理。

class TIPCommon.data_models.UserDetails

TIPCommon.data_models.UserDetails(id_: int, creation_time_unix_time_in_ms: int, modification_time_unix_time_in_ms: int, permission_group: str, permission_groups: list[str], soc_roles: list[str], is_disabled: bool, login_identifier: str, first_name: str, last_name: str, permission_type: int, role: int, soc_role_id: int, soc_role_ids: list[int], email: str, user_name: str, user_type: int, identity_provider: int, provider_name: str, advanced_reports_access: int, account_state: int, last_login_time: int, previous_login_time: int, last_password_change_time: int, last_password_change_notification_time: int, login_wrong_password_count: int, is_deleted: bool, deletion_time_unix_time_in_ms: int, environments: list[str], allowed_platforms: list[int], data_access_context: [DataAccessContext](#TIPCommon.data_models.DataAccessContext), soc_role: str | None, image_base64: str | None)

代码库:对象

UserDetails 提供平台用户的详尽个人资料,包括身份验证元数据、组织角色和精细的数据访问权限。它对于管理用户会话和强制执行基于角色的访问权限控制 (RBAC) 至关重要。

方法

以下方法有助于重建和序列化用户个人资料数据。

方法
from_json()

from_json(user_details_json: MutableMapping[str, Any]) → UserDetails

一种类方法,用于从用户属性的 JSON 字典初始化 UserDetails 实例。

to_json()

to_json() → MutableMapping[str, Any]

UserDetails 对象转换为可序列化为 JSON 的字典格式。

属性

下表重点介绍了用户的主要身份和权限结构。

属性
user_name

str

用于登录和标识的唯一系统用户名。

soc_roles

list[str]

分配给用户的 SOC 角色列表,用于定义用户的操作权限。

data_access_context

DataAccessContext

用于定义用户获准访问哪些数据范围和组织部门的上下文。

is_disabled

bool

一个布尔值标志,用于指示用户账号当前是否受到登录限制。

TIPCommon.data_models.UserProfileCard

TIPCommon.data_models.UserProfileCard(raw_data, first_name, last_name, user_name, account_state)

代码库:对象

UserProfileCard 提供用户个人资料的轻量级摘要,旨在显示在标题或联系人卡片等不需要完整详细信息的界面组件中。

方法

方法
from_json()

from_json(user_profile_card_response: dict) → UserProfileCard

一种类方法,用于从基本个人资料属性字典创建 UserProfileCard 实例。

TIPCommon.data_models.WallData

TIPCommon.data_models.WallData(raw_data, case_id, activity_kind, activity_data_json, favorite)

代码库:对象

WallData 表示诉讼的“墙”或时间轴上的条目。此模型用于跟踪调查生命周期内发生的活动日志、备注和系统操作。

方法

方法
from_json()

from_json(data: MutableMapping[str, Any]) → WallData

一种类方法,用于从墙上活动的 JSON 字典初始化 WallData 实例。

to_json()

to_json() → MutableMapping[str, Any]

WallData 对象序列化回 JSON 兼容的字典格式。

属性

属性
activity_kind

str | int | None

活动的类别。

activity_data_json

str | None

一个 JSON 格式的字符串,其中包含活动的具体详细信息或载荷。

favorite

bool

表示相应活动条目是否已固定或标记为收藏,以便快速参考。

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。