模块 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() |
一种类方法,用于从 JSON 字典创建 |
to_json() |
将 |
属性
下表重点介绍了与提醒相关的主要结构属性和复杂数据模型。
| 属性 | |
|---|---|
fields_groups |
与提醒关联的分组字段的列表,用于在界面中呈现结构化数据。 |
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() |
一种类方法,用于从表示其属性的 JSON 字典创建 |
属性
下表重点介绍了与该事件关联的主要结构属性和复杂数据模型。
| 属性 | |
|---|---|
fields |
特定于相应事件的属性字段列表,用于定义其唯一的数据点。 |
artifact_entities |
从事件遥测数据中提取的实体标识符列表。 |
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() |
一种类方法,用于使用提供的元数据属性字典初始化新的 |
to_json() |
将 |
属性
下表重点介绍了用于存储附件元数据属性的主要数据结构。
| 属性 | |
|---|---|
raw_data |
包含从来源接收的原始元数据属性的基础字典。 |
class TIPCommon.data_models.BaseAlert
类 TIPCommon.data_models.BaseAlert(raw_data, alert_id)
代码库:对象
BaseAlert 是表示一般安全提醒的基础模型。它提供了一种标准化结构,用于存储原始遥测数据以及唯一的平台标识符。
方法
以下方法可将提醒序列化为标准格式。
| 方法 | |
|---|---|
to_json() |
将提醒转换为可序列化为 JSON 的字典,如 |
属性
下表重点介绍了此模型管理的核心数据点。
| 属性 | |
|---|---|
raw_data |
与提醒关联的原始数据载荷。 |
alert_id |
分配给提醒的唯一标识符。 |
示例
以下示例演示了如何初始化 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() |
将存储在模型中的原始数据序列化为字典格式。 |
属性
下表介绍了基本型号的主要数据存储空间。
| 属性 | |
|---|---|
raw_data |
用于初始化模型的原始数据载荷。 |
示例
以下示例展示了数据模型的基本初始化以及序列化方法的使用。
>>> 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() |
一种类方法,用于从病例属性字典初始化 |
to_json() |
将 |
属性
以下属性提供了有关支持请求当前状态的逻辑指示器。
| 属性 | |
|---|---|
is_closed |
一个布尔值属性,用于指示保护壳是否处于关闭状态。 |
is_open |
一个布尔值属性,用于指示支持请求是否处于有效状态或已打开。 |
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() |
一种类方法,用于从病例摘要属性字典初始化 |
属性
下表重点介绍了与支持请求概览关联的主要结构属性、枚举和关键运营指标。
| 属性 | |
|---|---|
priority |
分配给支持请求的严重程度。 |
status |
支持请求数据的当前运行状态。 |
workflow_status |
平台自动化工作流引擎中的当前步骤或状态。 |
score |
分配给支持请求的计算风险或重要性得分。 |
case_sla |
专门针对支持请求解决生命周期的 SLA 跟踪信息。 |
alerts_sla |
相应支持请求中包含的各个提醒的 SLA 跟踪信息。 |
environment_data |
有关工单来源的特定组织环境的元数据。 |
tags |
与支持请求关联的用户定义标签或系统生成的标签的列表。 |
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() |
一种类方法,用于从 SLA 属性字典初始化 |
属性
下表重点介绍了用于监控诉讼期限的主要时间和状态属性。
| 属性 | |
|---|---|
expiration_time_ms |
标准 SLA 设置为过期时的 Unix 时间戳(以毫秒为单位)。 |
critical_expiration_time_ms |
达到严重 SLA 阈值的 Unix 时间戳(以毫秒为单位)。 |
expiration_status |
一个表示 SLA 当前状态的整数指示器。 |
last_pause_remaining_time_ms |
上次暂停时 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 |
附件的文件名或显示名称。 |
file_type |
表示附加数据格式的 MIME 类型或文件扩展名。 |
base64_blob |
文件的实际内容,编码为 base64 字符串。 |
is_important |
一个标志,用于指示相应附件是否被标记为调查的关键证据。 |
class TIPCommon.data_models.ConnectorCard
类 TIPCommon.data_models.ConnectorCard(integration, display_name, identifier, is_enabled, is_remote, status)
代码库:对象
ConnectorCard 提供特定连接器的配置摘要,
平台内的当前运行状态。
方法
以下方法有助于从结构化 JSON 数据创建连接器卡实例。
| 方法 | |
|---|---|
from_json() |
一种类方法,用于从连接器属性字典初始化 |
属性
下表重点介绍了连接器的运行状态和标识属性。
| 属性 | |
|---|---|
status |
连接器的当前连接和健康状况。 |
is_enabled |
指示连接器是否处于有效状态并正在处理数据。 |
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 |
用于在连接器配置中标识参数的唯一名称。 |
value |
分配给参数的当前值。 |
type |
参数的数据类型,用于验证和界面呈现。 |
mode |
参数的运行模式或可见性设置。 |
is_mandatory |
指示在保存或执行连接器之前,是否必须为此参数提供值。 |
示例
以下示例演示了如何使用原始字典初始化 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() |
将 |
属性
下表重点介绍了用于在平台内定义新实体及其关系的主要属性。
| 属性 | |
|---|---|
case_id |
将创建实体的支持请求的唯一标识符。 |
alert_identifier |
相应实体的关联警报的标识符。 |
entity_type |
实体的分类。 |
entity_identifier |
用于标识实体的特定值或名称。 |
entity_to_connect_regex |
用于标识要连接到此实体的其他实体的正则表达式。 |
types_to_connect |
根据正则表达式可进行连接的实体类型的特定列表。 |
is_primary_link |
指示此连接是否表示实体之间的主要关系。 |
is_directional |
确定连接是否具有明确的方向(从来源到目标)或是否是双向的。 |
class TIPCommon.data_models.CustomField
类 TIPCommon.data_models.CustomField(id, display_name, description, type, scopes)
代码库:对象
CustomField 表示平台内用户定义的数据字段。它允许通过添加根据组织要求量身定制的特定元数据来扩展标准数据模型。
方法
以下方法允许从结构化 JSON 数据重建自定义字段对象。
| 方法 | |
|---|---|
from_json() |
一种类方法,用于从字段属性字典初始化 |
属性
下表重点介绍了自定义字段的主要属性和范围限制。
| 属性 | |
|---|---|
id |
自定义字段的唯一标识符。 |
display_name |
平台界面中显示的直观易懂的标签。 |
type |
字段的数据类型。 |
scopes |
此字段可用的应用领域列表 |
class TIPCommon.data_models.CustomFieldScope
类 TIPCommon.data_models.CustomFieldScope(value)
基类:Enum
CustomFieldScope 用于定义平台层次结构中应用自定义字段的有效目标。
方法
以下方法提供用于解析作用域对象的路径的实用程序。
| 方法 | |
|---|---|
build_parent_path() |
为指定的父对象标识符构建内部平台路径。 |
常量
以下常量表示可用于自定义字段的特定范围。
| 常量 | |
|---|---|
ALERTS |
'Alert' |
CASE |
'Case' |
class TIPCommon.data_models.CustomFieldValue
类 TIPCommon.data_models.CustomFieldValue(custom_field_id, values, scope, identifier)
代码库:对象
CustomFieldValue 表示分配给自定义字段实例的特定数据。它将字段定义与用户或自动化流程提供的实际内容相关联。
方法
以下方法有助于从结构化 JSON 数据中重建自定义字段值。
| 方法 | |
|---|---|
from_json() |
一种类方法,用于从值属性字典初始化 |
属性
下表重点介绍了自定义字段值的主要属性和上下文标识符。
| 属性 | |
|---|---|
custom_field_id |
相应值所属的 |
values |
一个字符串列表,表示字段中存储的实际数据。 |
scope |
应用相应特定值的应用领域。 |
identifier |
包含此值的特定对象的唯一标识符。 |
class TIPCommon.data_models.DataAccessContext
类 TIPCommon.data_models.DataAccessContext(global_access, assigned_scopes)
代码库:对象
DataAccessContext 定义了用户或进程的权限和可见性限制,用于确定在执行期间可访问哪些数据范围。
方法
以下方法用于管理对象实例和 JSON 格式之间的访问上下文数据转换。
| 方法 | |
|---|---|
from_json() |
一种类方法,用于从访问属性字典初始化 |
to_json() |
将 |
属性
下表重点介绍了在上下文中定义的主要访问权限控制。
| 属性 | |
|---|---|
global_access |
表示上下文是否允许跨所有数据范围进行不受限制的访问。 |
assigned_scopes |
已明确授予访问权限的特定范围或组织部门的列表。 |
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() |
一种类方法,用于从键和值属性的字典初始化 |
属性
下表介绍了动态形参的属性。
| 属性 | |
|---|---|
key |
参数的名称或标识符。 |
value |
与键关联的数据内容。 |
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() |
一种类方法,用于从包含模板数据的字典初始化 |
to_json() |
将 |
属性
下表重点介绍了电子邮件模板的主要属性和结构化数据。
| 属性 | |
|---|---|
content |
电子邮件模板的正文文本或 HTML 结构。 |
environments |
此模板可供使用的组织环境列表。 |
template_type |
模板的分类或类别。 |
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() |
一种类方法,用于从包含实体遥测数据和标志的字典初始化 |
to_json() |
将 |
属性
下表重点列出了与实体关联的主要分类标志和数据结构。
| 属性 | |
|---|---|
entity_type |
实体的类别。 |
suspicious |
表示实体是否已被系统逻辑或外部情报标记为可能具有恶意性。 |
vulnerable |
指示实体是否已知存在安全漏洞。 |
attacker |
如果实体被确定为恶意活动的来源,则标记为 true。 |
internal |
表示实体是否属于组织的内部网络或基础设施。 |
fields |
与实体关联的其他属性或丰富的数据点的列表。 |
class TIPCommon.data_models.EntityCard
类 TIPCommon.data_models.EntityCard(identifier, entity_type, is_suspicious, linked_entities)
代码库:对象
EntityCard 表示实体的摘要视图,通常用于界面组件。它以简化的结构汇总实体的标识、类型以及与其他实体的关系。
方法
以下方法用于管理实体卡的序列化和重建。
| 方法 | |
|---|---|
from_json() |
一种类方法,用于从实体摘要数据字典初始化 |
to_json() |
将 |
属性
下表重点介绍了用于识别和关联卡片内实体的主要属性。
| 属性 | |
|---|---|
identifier |
用于标识实体的唯一值或名称。 |
entity_type |
实体的分类类别。 |
is_suspicious |
一个字符串指示器(通常为 |
linked_entities |
与此特定实体卡片相关的其他实体的标识符列表。 |
class TIPCommon.data_models.EnvironmentData
类 TIPCommon.data_models.EnvironmentData(environment, dynamic_parameters=<factory>, base64_image=None, platform=None)
代码库:对象
EnvironmentData 封装了特定组织环境的配置和品牌信息。这包括用于多租户或多环境部署的环境专用参数和视觉资源。
方法
以下方法有助于从结构化 JSON 数据创建环境数据对象。
| 方法 | |
|---|---|
from_json() |
一种类方法,用于从环境属性字典初始化 |
属性
下表重点列出了与环境相关的配置参数和品牌推广素材资源。
| 属性 | |
|---|---|
environment |
组织环境的名称。 |
dynamic_parameters |
特定于此环境配置的自定义键值对的列表。 |
base64_image |
一个可选的 base64 编码字符串,表示环境的徽标或图标。 |
platform |
表示特定平台或基础设施提供商的整数标识符。 |
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() |
一种类方法,用于从事件属性字典初始化 |
to_json() |
将 |
属性
下表重点介绍了存储在活动卡片中的主要遥测数据和组织标识符。
| 属性 | |
|---|---|
event_id |
特定活动记录的唯一标识符。 |
time |
表示事件发生时间的 Unix 时间戳。 |
product |
生成事件遥测数据的安全产品或工具。 |
outcome |
相应事件的记录结果。 |
artifact_entities |
在事件遥测中识别出的实体列表,这些实体可作为相应支持请求的制品。 |
fields |
一组特定于相应事件数据载荷的其他键值属性。 |
class TIPCommon.data_models.EventPropertyField
类 TIPCommon.data_models.EventPropertyField(order, group_name, is_integration, is_highlight, items)
代码库:对象
EventPropertyField 定义了按优先级和分组整理的结构化事件属性集合。它用于对遥测数据进行分类以供显示,并突出显示关键字段以供调查重点关注。
方法
以下方法用于处理从结构化 JSON 数据重建属性字段对象。
| 方法 | |
|---|---|
from_json() |
一种类方法,用于从字段属性字典初始化 |
属性
下表重点介绍了用于定义事件属性字段的元数据和内容项。
| 属性 | |
|---|---|
group_name |
这些字段所属的逻辑组的名称。 |
is_highlight |
指示此字段是否应在平台界面中以醒目方式显示,作为高优先级数据点。 |
items |
相应媒体资源组中包含的特定数据项的列表。 |
class TIPCommon.data_models.FieldGroupItem
类 TIPCommon.data_models.FieldGroupItem(original_name, name, value)
代码库:对象
FieldGroupItem 表示字段组中的特定数据点,用于维护原始源名称与人类可读的显示名称之间的映射。
方法
以下方法用于管理字段组项的序列化和重建。
| 方法 | |
|---|---|
from_json() |
一种类方法,用于从 JSON 字典初始化 |
to_json() |
将 |
class TIPCommon.data_models.FieldItem
类 TIPCommon.data_models.FieldItem(original_name, name, value)
代码库:对象
FieldItem 是单个属性的基本数据结构,用于存储原始键、映射的标签和关联的值。
方法
| 方法 | |
|---|---|
from_json() |
一种类方法,用于根据字段属性字典创建 |
class TIPCommon.data_models.FieldsGroup
类 TIPCommon.data_models.FieldsGroup(order, group_name, is_integration, is_highlight, hide_options, items)
代码库:对象
FieldsGroup 用作容器,用于将多个字段项整理到逻辑集合中。它主要用于控制平台界面中数据的布局和可见性。
方法
以下方法用于管理对象实例与结构化 JSON 之间的字段组数据转换。
| 方法 | |
|---|---|
from_json() |
一种类方法,用于从群组属性字典初始化 |
to_json() |
将 |
属性
下表重点介绍了用于定义群组的显示行为和内容的属性。
| 属性 | |
|---|---|
group_name |
用于在界面中标识群组的标签。 |
is_highlight |
确定是否应以醒目的方式显示相应群组。 |
items |
群组中包含的具体数据点列表。 |
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() |
将服务账号属性序列化为与标准 |
class TIPCommon.data_models.Insight
类 TIPCommon.data_models.Insight(raw_data)
代码库:对象
数据分析表示平台或集成功能生成的离散分析结果或观测结果。它封装了原始数据,可为安全调查提供额外的背景信息或建议的操作。
方法
以下方法用于管理数据洞见对象的序列化和重建。
| 方法 | |
|---|---|
from_json() |
一种类方法,用于从原始数据分析遥测数据的字典创建 |
to_json() |
将 |
属性
| 属性 | |
|---|---|
raw_data |
包含数据分析的具体发现和指标的基础原始数据载荷。 |
类 TIPCommon.data_models.InstalledIntegrationInstance
类 TIPCommon.data_models.InstalledIntegrationInstance(instance, identifier, integration_identifier, environment_identifier, instance_name)
代码库:对象
InstalledIntegrationInstance 表示已部署在环境中的集成的特定配置实例。它将常规集成定义与其特定的环境部署和命名相关联。
方法
以下方法用于管理集成实例数据在对象实例和结构化 JSON 之间的转换。
| 方法 | |
|---|---|
from_json() |
一种将 JSON 数据解析为 |
to_json() |
将集成实例数据序列化为与 JSON 兼容的字典格式。 |
属性
下表重点介绍了用于在不同组织环境中跟踪集成情况的标识符。
| 属性 | |
|---|---|
instance_name |
相应集成实例的用户定义名称。 |
integration_identifier |
父级集成资源的唯一标识符。 |
environment_identifier |
相应实例所安装的组织环境的标识符。 |
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() |
一种类方法,用于从 JSON 字典创建 |
to_json() |
将 |
属性
下表重点介绍了用于识别和分类内部网域的属性。
| 属性 | |
|---|---|
domain_display_name |
主域名。 |
alias_name |
用于在平台内标识网域的备用名称或标签。 |
environments_json |
一个 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 |
包含参数配置的原始字典载荷。 |
示例
以下示例演示了如何初始化基本 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() |
一种类方法,用于从 JSON 字典初始化 |
to_json() |
将 |
属性
下表重点介绍了用于跟踪提醒过期时间的核心时间属性。
| 属性 | |
|---|---|
sla_expiration_time |
表示标准 SLA 过期期限的 Unix 时间戳。 |
critical_expiration_time |
表示关键 SLA 过期截止时间的 Unix 时间戳。 |
expiration_status |
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() |
将 |
update() |
使用所提供字典中的值更新上下文属性。 |
属性
鉴于上下文的广泛性,下表重点介绍了最重要的执行和环境标识符。
| 属性 | |
|---|---|
case_id |
与当前脚本执行关联的测试用例的标识符。 |
workflow_id |
当前正在处理的工作流的 ID。 |
parameters |
一个字典,包含传递给脚本的运行时参数。 |
execution_deadline_unix_time_ms |
指示脚本执行必须结束的 Unix 时间戳。 |
vault_settings |
用于访问平台保险库中存储的敏感数据的配置设置。 |
class TIPCommon.data_models.SmimeEmailConfig
类 TIPCommon.data_models.SmimeEmailConfig(email, private_key_b64, certificate_b64, ca_certificate_b64)
代码库:对象
SmimeEmailConfig 封装了执行 S/MIME 操作(例如签名或加密)所需的必要加密资产和电子邮件。它包含原始电子邮件以及 base64 编码的密钥和证书。
属性
下表介绍了此配置模型管理的加密组件。
| 属性 | |
|---|---|
email |
要处理的标准 Python 电子邮件消息对象。 |
private_key_b64 |
用于签名或解密的 base64 编码私钥。 |
certificate_b64 |
与私钥关联的 base64 编码的公共证书。 |
ca_certificate_b64 |
用于验证信任链的 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() |
一种类方法,用于从用户属性的 JSON 字典初始化 |
to_json() |
将 |
属性
下表重点介绍了用户的主要身份和权限结构。
| 属性 | |
|---|---|
user_name |
用于登录和标识的唯一系统用户名。 |
soc_roles |
分配给用户的 SOC 角色列表,用于定义用户的操作权限。 |
data_access_context |
用于定义用户获准访问哪些数据范围和组织部门的上下文。 |
is_disabled |
一个布尔值标志,用于指示用户账号当前是否受到登录限制。 |
类 TIPCommon.data_models.UserProfileCard
类 TIPCommon.data_models.UserProfileCard(raw_data, first_name, last_name, user_name, account_state)
代码库:对象
UserProfileCard 提供用户个人资料的轻量级摘要,旨在显示在标题或联系人卡片等不需要完整详细信息的界面组件中。
方法
| 方法 | |
|---|---|
from_json() |
一种类方法,用于从基本个人资料属性字典创建 |
类 TIPCommon.data_models.WallData
类 TIPCommon.data_models.WallData(raw_data, case_id, activity_kind, activity_data_json, favorite)
代码库:对象
WallData 表示诉讼的“墙”或时间轴上的条目。此模型用于跟踪调查生命周期内发生的活动日志、备注和系统操作。
方法
| 方法 | |
|---|---|
from_json() |
一种类方法,用于从墙上活动的 JSON 字典初始化 |
to_json() |
将 |
属性
| 属性 | |
|---|---|
activity_kind |
活动的类别。 |
activity_data_json |
一个 JSON 格式的字符串,其中包含活动的具体详细信息或载荷。 |
favorite |
表示相应活动条目是否已固定或标记为收藏,以便快速参考。 |