TIPCommon.base

TIPCommon.base.action.action_parser.parse_case_attachment

TIPCommon.base.action.action_parser.parse_case_attachment(attachment: MutableMapping[str, Any]) → CaseAttachment

Analyse une pièce jointe JSON et renvoie un objet CaseAttachment.

Paramètres

Paramètres
attachment Objet JSON de réponse représentant la pièce jointe.

Renvoie

L'objet CaseAttachment analysé.

Type renvoyé

CaseAttachment

TIPCommon.base.action.action_parser.parse_case_comment

TIPCommon.base.action.action_parser.parse_case_comment(comment: MutableMapping[str, Any]) → CaseComment

Analyse un commentaire JSON et renvoie un objet CaseComment.

Paramètres

Paramètres
comment Objet JSON de réponse représentant le commentaire.

Renvoie

Objet CaseComment analysé.

Type renvoyé

CaseComment

class TIPCommon.base.action.base_action.Action

classe TIPCommon.base.action.base_action.Action(name: str)

Bases : ABC, Generic[ApiClient]

Une implémentation d'infrastructure générique unifiée pour le développement d'actions Google SecOps.

La classe de base Action fournit des méthodes abstraites de modèle à remplacer dans les classes d'action héritées, les propriétés génériques et les flux généraux en tant que méthodes exécutées lors de l'appel de la méthode d'exécution de l'action.

Paramètres

Paramètres
name str

Nom du script de l'action.

Attributs

Attributs
_soar_action Objet SDK SiemplifyAction.

Type : SiemplifyAction

_api_client Le client API de l'intégration.

Type : Apiable

_name Nom du script utilisant cette action.

Type : str

_action_start_time Heure de début de l'action.

Type : int

_logger Objet enregistreur utilisé pour la journalisation dans les actions.

Type : SiemplifyLogger

_params Conteneur de paramètres pour cette action.

Type : Container

global_context Dictionnaire permettant de stocker le contexte, si nécessaire.

Type : dict

_entity_types Types d'entités compatibles avec l'action.

Type : list[EntityTypesEnum]

_entities_to_update Entités à mettre à jour à la fin de l'action.

Type : list[Entity]

json_results Résultats JSON de l'action.

Type : JSON

_attachments Pièces jointes du résultat de la demande à ajouter.

Type : list[Attachment]

_contents Contenu du résultat de la casse à ajouter.

Type : list[Content]

_data_tables Tables de données des résultats de cas à ajouter.

Type : list[DataTable]

_html_reports Rapports HTML des résultats de cas à ajouter.

Type : list[HTMLReport]

Liens vers les résultats de l'affaire à ajouter.

Type : list[Link]

_entity_insights Insights sur l'entité de la demande à ajouter.

Type : list[EntityInsight]

_case_insights Insights sur la demande à ajouter.

Type : list[CaseInsight]

_execution_state État d'exécution final de l'action.

Type : ExecutionState

_result_value Valeur du résultat final de l'action.

Type : bool

_output_message Message de sortie de l'action en cas de réussite.

Type : str

_error_output_message Message de sortie de l'action en cas d'échec.

Type : str

Méthodes

- run() Lance l'exécution de l'action.
- _get_adjusted_json_results() Ajuste le résultat JSON à une structure particulière.

Méthodes abstraites

Méthodes abstraites
_validate_params() Valide les paramètres de cette action.
_init_managers() Initialise et renvoie un objet de gestionnaire.
_perform_action() Exécute la logique principale de l'action.

Autres méthodes

Il s'agit de méthodes appelées lors de l'exécution de l'action et qui affectent la phase de traitement des alertes, mais qu'il n'est pas obligatoire de remplacer.

  • _get_entity_types()
  • _finalize_action_on_success()
  • _finalize_action_on_failure()
  • _on_entity_failure()
  • _handle_timeout()
  • _extract_action_parameters()
  • _finalize()

Méthodes de wrapper du SDK

  • _add_attachment_to_current_case()
  • _get_current_case_attachments()
  • _add_comment_to_case()
  • _get_current_case_comments()
  • _assign_case_to_user()
  • _add_tag_to_case()
  • _attach_playbook_to_current_alert()
  • _get_similar_cases_to_current_case()
  • _get_alerts_ticket_ids_from_cases_closed_since_timestamp()
  • _change_current_case_stage()
  • _change_current_case_priority()
  • _close_current_case()
  • _close_alert()
  • _escalate_case()
  • _mark_case_as_important()
  • _raise_incident()
  • _add_entity_to_case()
  • _update_alerts_additional_data()
  • _get_current_integration_configuration()
  • _any_alert_entities_in_custom_list()
  • _add_alert_entities_to_custom_list()
  • _remove_alert_entities_from_custom_list()

Exemple

from TIPCommon.base.actions.action_base import Action
from TIPCommon.validation import ParameterValidator

SOME_ACTION_SCRIPT_NAME = 'Some Integration - Some Action'

class SomeAction(Action):

    def _validate_params(self) -> None:
        validator = ParameterValidator(self.soar_action)
        ...  # validation logic

    def _perform_action(self, entity: Entity) -> None:
        try:
            self.logger.info('Querying Api client')
            data = self.api_client.do_something(
                param=self.params.query,
                entity=entity.original_identifier
            )

            ...  # Some logic to process the data

        except SomeCustomException as err:
            self.error_output_message = (
                "Action wasn't able to successfully do its thing."

            )
            raise err from err


def main() -> None:
    SomeAction(SEARCH_GRAPHS_SCRIPT_NAME).run()


if __name__ == '__main__':
    main()

property action_start_time

property action_start_time: int

Renvoie un int représentant l'heure de début de l'action au format Unix.

property api_client

propertyapi_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None

Renvoie un objet Apiable.

property attachments

property attachments: list[Attachment]

Par défaut, toutes les pièces jointes de la liste sont envoyées au résultat de la demande.

Renvoie une liste d'objets Attachment représentant les insights pour cette demande.

property case_insights

property case_insights: list[CaseInsight]

Par défaut, tous les insights de la liste sont envoyés au résultat de la demande.

Renvoie une liste d'objets CaseInsight représentant les insights pour cette demande.

Contenu de la propriété

property contents: list[Content]

Par défaut, tout le contenu de la liste est envoyé au résultat de l'instruction switch.

Renvoie une liste d'objets Content représentant les insights pour cette demande.

property data_tables

property data_tables: list[DataTable]

Par défaut, toutes les tables de données de la liste sont envoyées au résultat de l'instruction CASE.

Renvoie une liste d'objets DataTable représentant les insights pour cette demande.

property entities_to_update

property entities_to_update: list[DomainEntityInfo]

Toutes les entités de la liste sont envoyées à la plate-forme pour être mises à jour.

Renvoie une liste d'objets Entity représentant les entités qui doivent être mises à jour dans la demande.

property entity_insights

property entity_insights: list[EntityInsight]

Par défaut, tous les insights sur les entités de la liste sont envoyés au résultat de l'enquête.

Renvoie une liste d'objets EntityInsight représentant les insights pour cette demande.

property entity_types

property entity_types: list[EntityTypesEnum]

Si l'action fonctionne avec des entités, elle ne traite que les entités dont le type figure dans la liste entity_types. Sinon, l'action ignore l'entité.

Renvoie une liste d'objets EntityTypesEnum représentant les types d'entités que l'action peut traiter.

property error_output_message

property error_output_message: str

Message de sortie de l'action en cas d'échec de l'exécution.

Message de sortie qui doit s'afficher en cas d'échec lors de l'exécution de l'action. La valeur par défaut est ActionSCRIPT_NAMEfailed.

property execution_state

property execution_state: ExecutionState

L'état d'exécution de l'action : un indicateur d'état représenté par un entier à renvoyer à la plate-forme.

Les états possibles sont les suivants :

  • ExecutionState.COMPLETED = 0
  • ExecutionState.IN_PROGRESS = 1
  • ExecutionState.FAILED = 2
  • ExecutionState.TIMED_OUT = 3

Renvoie l'objet ExecutionState représentant l'état d'exécution actuel.

property html_reports

property html_reports: list[HTMLReport]

Par défaut, tous les rapports HTML de la liste seront envoyés au résultat du cas.

Renvoie une liste d'objets HTMLReport représentant les insights pour cette demande.

property is_first_run

property is_first_run: bool

Indique s'il s'agit de la première exécution.

Renvoie :

True s'il s'agit de la première exécution, False sinon.

property json_results

property json_results: Dict[str, Any] | List[Dict[str, Any]]

Renvoie le résultat JSON de l'action à envoyer au mur de l'incident.

property links: list[Link]

Tous les liens de la liste seront envoyés au résultat de la demande par défaut.

Renvoie une liste d'objets Link représentant les insights pour cette demande.

property logger

property logger: NewLineLogger

Renvoie l'objet NewLineLogger pour les actions.

Nom de la propriété

property name: str

property output_message

property output_message: str

Message de sortie de l'action en cas d'exécution réussie.

Message de sortie qui résume le résultat de l'action.

Paramètres property

property params: [Container]

Renvoie un objet Container qui décrit les paramètres de l'action, chaque paramètre étant exposé en tant qu'attribut snake_case.

property result_value

property result_value: bool

Valeur du résultat de l'action à renvoyer à la plate-forme.

Valeurs possibles :

  • True : Action réussie
  • False : Échec de l'action

property soar_action

property soar_action: SiemplifyAction

Renvoie l'objet SiemplifyAction du SDK.

class TIPCommon.base.action.base_enrich_action.EnrichAction

classe TIPCommon.base.action.base_enrich_action.EnrichAction(name: str)

Bases : Action

Classe qui représente une action d'enrichissement d'entité.

Cette classe hérite de la classe TIPCommon.base.actions.base_action::Action.

Paramètres

Paramètres
name str

Nom de l'action.

Attributs

Attributs
enrichment_data

Cet attribut contient les données d'enrichissement de l'entité actuelle dans chacune des itérations d'entité. À la fin de chaque itération, l'attribut additional_properties de l'entité est mis à jour avec self.enrichment_data, ce qui signifie que cette valeur est définie à chaque fois avec la nouvelle valeur.

Type : dict

entity_results Résultats d'entité inclus dans la sortie JSON pour cet objet.

Type : tous

global_context

Un dictionnaire pour stocker le contexte si nécessaire.

Type : dict

Méthodes abstraites

Méthodes abstraites
_get_entity_types() Récupère le type d'entités sur lesquelles l'action s'exécute.
_perform_enrich_action() Effectuer la logique d'enrichissement principale sur une entité.

Méthodes privées

Méthodes privées
_perform_action()

Cette méthode combine les autres méthodes abstraites avec une logique d'enrichissement OOTB supplémentaire et la transmet à la classe parente pour l'utiliser dans la méthode start().

class TIPCommon.base.action.data_models.ActionParamType

classe TIPCommon.base.action.data_models.ActionParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases : Enum

Constantes

  • BOOLEAN = 1

  • CASE_PRIORITIES = 7

  • CLOSE_CASE_REASONS = 5

  • CLOSE_ROOT_CAUSE = 6

  • CODE = 20

  • CONTENT = 11

  • DDL = 15

  • EMAIL_CONTENT = 10

  • ENTITY_TYPE = 13

  • MULTI_VALUES = 14

  • NULL = -1

  • PASSWORD = 12

  • PLAYBOOK_NAME = 2

  • STAGE = 4

  • STRING = 0

  • USER = 3

class TIPCommon.base.action.data_models.Attachment

classe TIPCommon.base.action.data_models.Attachment(filename: str, file_contents: bytes, title: str = 'Script Result Attachment', additional_data: dict | None = None)

Bases : object

Pièce jointe de résultat de script d'action.

Cette classe est immuable : une fois créée, ses attributs ne peuvent plus être modifiés. Il est compatible avec le hachage (par exemple, pour une utilisation dans des ensembles ou en tant que clés de dictionnaire) et la comparaison d'égalité à l'aide de l'opérateur ==.

Attributs

Attributs
title Titre de la pièce jointe.

Type : str | None

filename Nom du fichier de la pièce jointe.

Type : str

file_contents Contenu du fichier de la pièce jointe.

Type : bytes

additional_data Données supplémentaires.

Type : dict | None

class TIPCommon.base.action.data_models.CaseAttachment

classe TIPCommon.base.action.data_models.CaseAttachment(attachment_id: int, attachment_type: str, description: str, is_favorite: bool)

Bases : object

Une pièce jointe à une demande.

Cette classe est immuable. Après avoir attribué des valeurs et créé l'objet, vous ne pouvez pas attribuer de nouvelles valeurs aux attributs. La classe est compatible avec le hachage (stocké dans un ensemble ou en tant que clé de dictionnaire) et l'opérateur ==.

Attributs

Attributs
attachment_id int

ID de la pièce jointe.

attachment_type str

Type de pièce jointe.

description str

Description de la pièce jointe.

is_favorite bool

Indique si la pièce jointe est marquée comme favorite.

class TIPCommon.base.action.data_models.CaseComment

classe TIPCommon.base.action.data_models.CaseComment(comment: str, creator_user_id: str, comment_id: int, comment_type: int, case_id: int, is_favorite: bool, modification_time_unix_time_in_ms: int, creation_time_unix_time_in_ms: int, alert_identifier: str, creator_full_name: str | None = None, is_deleted: bool | None = None, last_editor: str | None = None, last_editor_full_name: str | None = None, modification_time_unix_time_in_ms_for_client: int | None = None, comment_for_client: str | None = None)

Bases : object

Commentaire sur une demande.

Cette classe est immuable. Une fois les valeurs attribuées et l'objet créé, de nouvelles valeurs ne peuvent pas être attribuées aux attributs. La classe est compatible avec le hachage (stocké dans un ensemble ou en tant que clé de dictionnaire) et l'opérateur ==.

Attributs

Attributs
comment str

Le commentaire.

comment_for_client str | None

Commentaire destiné au client.

modification_time_unix_time_in_ms_for_client int

Heure de modification de comment_for_client.

last_editor str

ID du dernier éditeur, par exemple 77bdb7a4-8484-481d-9482-2449e33f9518.

last_editor_full_name str

Nom complet du dernier utilisateur ayant modifié l'élément, par exemple admin admin.

is_deleted bool

Indique si le commentaire a déjà été supprimé.

creator_user_id str

ID utilisateur du créateur, par exemple 77bdb7a4-8484-481d-9482-2449e33f9518.

creator_full_name str

Nom complet du créateur, par exemple Système.

comment_id int

ID du commentaire.

comment_type int

Type du commentaire.

case_id int

ID de la demande.

is_favorite bool

Indique si le commentaire est marqué comme favori.

modification_time_unix_time_in_ms int

Heure de la dernière modification du commentaire au format Unix, par exemple 1686040471269.

creation_time_unix_time_in_ms int

Heure de création du commentaire au format Unix, par exemple 1686040471269.

alert_identifier str

Identifiant de l'alerte, par exemple SUSPICIOUS PHISHING EMAIL_83765943-9437-4771-96F6-BD0FB291384E.

class TIPCommon.base.action.data_models.CaseInsight

classe TIPCommon.base.action.data_models.CaseInsight(triggered_by: str, title: str, content: str, severity: InsightSeverity, insight_type: InsightType, entity_identifier: str = '', additional_data: Any | None = None, additional_data_type: Any | None = None, additional_data_title: str | None = None)

Bases : object

Un insight sur une demande.

Cette classe est immuable : après avoir attribué des valeurs et créé l'objet, vous ne pouvez pas attribuer de nouvelles valeurs aux attributs. La classe est compatible avec le hachage (stocké dans un ensemble ou en tant que clé de dictionnaire) et l'opérateur ==.

Attributs

Attributs
title str

Titre de l'insight.

triggered_by str

Nom de l'intégration.

content str

Message de l'insight.

severity InsightSeverity

Niveau de gravité des insights. Les valeurs possibles sont les suivantes :

  • info
  • warning
  • error
insight_type InsightType

Type d'insight. Les valeurs possibles sont les suivantes :

  • general
  • entity
entity_identifier str | None

Identifiant de l'entité.

additional_data Any | None

Données supplémentaires.

additional_data_type Any | None

Type de données supplémentaires.

additional_data_title str | None

Titre des données supplémentaires.

class TIPCommon.base.action.data_models.CasePriority

classe TIPCommon.base.action.data_models.CasePriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases : Enum

Constantes

  • CRITICAL = 100

  • HIGH = 80

  • INFORMATIONAL = 0

  • LOW = 40

  • MEDIUM = 60

class TIPCommon.base.action.data_models.CaseStage

classe TIPCommon.base.action.data_models.CaseStage(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases : Enum

Constantes

  • ASSESSMENT = 'Assessment'

  • IMPROVEMENT = 'Improvement'

  • INCIDENT = 'Incident'

  • INVESTIGATION = 'Investigation'

  • RESEARCH = 'Research'

  • TRIAGE = 'Triage'

class TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses

classe TIPCommon.base.action.data_models.CloseCaseOrAlertInconclusiveRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases : Enum

Constantes

  • NO_CLEAR_CONCLUSION = 'No clear conclusion'

class TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses

classe TIPCommon.base.action.data_models.CloseCaseOrAlertMaintenanceRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases : Enum

Constantes

  • LAB_TEST = 'Lab test'

  • OTHER = 'Other'

  • RULE_UNDER_CONSTRUCTION = 'Rule under construction'

class TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses

classe TIPCommon.base.action.data_models.CloseCaseOrAlertMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases : Enum

Constantes

  • EXTERNAL_ATTACK = 'External attack'

  • INFRASTRUCTURE_ISSUE = 'Infrastructure issue'

  • IRRELEVANT_TCP_UDP_PORT = 'Irrelevant TCP/UDP port'

  • MISCONFIGURED_SYSTEM = 'Misconfigured system'

  • OTHER = 'Other'

  • SIMILAR_CASE_IS_ALREADY_UNDER_INVESTIGATION = 'Similar case is already under investigation'

  • SYSTEM_APPLICATION_MALFUNCTION = 'System/application malfunction'

  • SYSTEM_CLOCKED_THE_ATTACK = 'System blocked the attack'

  • UNFORESEEN_EFFECTS_OF_CHANGE = 'Unforeseen effects of change'

  • UNKNOWN = 'Unknown'

class TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses

classe TIPCommon.base.action.data_models.CloseCaseOrAlertNotMaliciousRootCauses(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases : Enum

Constantes

  • EMPLOYEE_ERROR = 'Employee error'

  • HUMAN_ERROR = 'Human error'

  • LAB_TEST = 'Lab test'

  • LEGIT_ACTION = 'Legit action'

  • MISCONFIGURED_SYSTEM = 'Misconfigured system'

  • NONE = 'None'

  • NORMAL_BEHAVIOR = 'Normal behavior'

  • OTHER = 'Other'

  • PENETRATION_TEST = 'Penetration test'

  • RULE_UNDER_CONSTRUCTION = 'Rule under construction'

  • SIMILAR_CASE_IS_ALREADY_UNDER_INVESTIGATION = 'Similar case is already under investigation'

  • UNKNOWN = 'Unknown'

  • USER_MISTAKE = 'User mistake'

class TIPCommon.base.action.data_models.CloseCaseOrAlertReasons

classe TIPCommon.base.action.data_models.CloseCaseOrAlertReasons(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases : Enum

### Constantes

  • INCONCLUSIVE = 3

  • MAINTENANCE = 2

  • MALICIOUS = 0

  • NOT_MALICIOUS = 1

class TIPCommon.base.action.data_models.Content

classe TIPCommon.base.action.data_models.Content(content: str, title: str = 'Script Result Content')

Bases : object

Contenu du résultat du script d'une action.

Cette classe est immuable : après avoir attribué des valeurs et créé l'objet, vous ne pouvez pas attribuer de nouvelles valeurs aux attributs. La classe est compatible avec le hachage (stocké dans un ensemble ou en tant que clé de dictionnaire) et l'opérateur ==.

Attributs

Attributs
title str | None

Titre du contenu.

content str

Contenu à ajouter aux résultats du script.

class TIPCommon.base.action.data_models.DataTable

classe TIPCommon.base.action.data_models.DataTable(data_table: list[str], title: str = 'Script Result Data Table')

Bases : object

Table de données de résultat de script d'action.

Cette classe est immuable. Une fois les valeurs attribuées et l'objet créé, de nouvelles valeurs ne peuvent pas être attribuées aux attributs. La classe est compatible avec le hachage (stocké dans un ensemble ou en tant que clé de dictionnaire) et l'opérateur ==.

Attributs

Attributs
title str | None

Titre du tableau.

data_table list[str]

Liste des lignes CSV qui constituent la table.

class TIPCommon.base.action.data_models.EntityInsight

classe TIPCommon.base.action.data_models.EntityInsight(entity: DomainEntityInfo, message: str, triggered_by: str | None = None, original_requesting_user: str | None = None)

Bases : object

Un insight d'entité.

Cette classe est immuable : après avoir attribué des valeurs et créé l'objet, vous ne pouvez pas attribuer de nouvelles valeurs aux attributs. La classe est compatible avec le hachage (stocké dans un ensemble ou en tant que clé de dictionnaire) et l'opérateur ==.

Attributs

Attributs
entity Entity

Objet d'entité.

message str

Message de l'insight.

triggered_by str | None

Nom de l'intégration.

original_requesting_user str | None

L'utilisateur d'origine.

class TIPCommon.base.action.data_models.EntityTypesEnum

classe TIPCommon.base.action.data_models.EntityTypesEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases : Enum

Constantes

  • ADDRESS = 'ADDRESS'

  • ALERT = 'ALERT'

  • APPLICATION = 'APPLICATION'

  • CHILD_HASH = 'CHILDHASH'

  • CHILD_PROCESS = 'CHILDPROCESS'

  • CLUSTER = 'CLUSTER'

  • CONTAINER = 'CONTAINER'

  • CREDIT_CARD = 'CREDITCARD'

  • CVE = 'CVE'

  • CVE_ID = 'CVEID'

  • DATABASE = 'DATABASE'

  • DEPLOYMENT = 'DEPLOYMENT'

  • DESTINATION_DOMAIN = 'DESTINATIONDOMAIN'

  • DOMAIN = 'DOMAIN'

  • EMAIL_MESSAGE = 'EMAILSUBJECT'

  • EVENT = 'EVENT'

  • FILE_HASH = 'FILEHASH'

  • FILE_NAME = 'FILENAME'

  • GENERIC = 'GENERICENTITY'

  • HOST_NAME = 'HOSTNAME'

  • IP_SET = 'IPSET'

  • MAC_ADDRESS = 'MacAddress'

  • PARENT_HASH = 'PARENTHASH'

  • PARENT_PROCESS = 'PARENTPROCESS'

  • PHONE_NUMBER = 'PHONENUMBER'

  • POD = 'POD'

  • PROCESS = 'PROCESS'

  • SERVICE = 'SERVICE'

  • SOURCE_DOMAIN = 'SOURCEDOMAIN'

  • THREAT_ACTOR = 'THREATACTOR'

  • THREAT_CAMPAIGN = 'THREATCAMPAIGN'

  • THREAT_SIGNATURE = 'THREATSIGNATURE'

  • URL = 'DestinationURL'

  • USB = 'USB'

  • USER = 'USERUNIQNAME'

class TIPCommon.base.action.data_models.ExecutionState

classe TIPCommon.base.action.data_models.ExecutionState(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases : Enum

Constantes

  • COMPLETED = 0

  • FAILED = 2

  • IN_PROGRESS = 1

  • TIMED_OUT = 3

class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter

classe TIPCommon.base.action.data_models.FullDetailsConfigurationParameter(input_dict: dict[str, Any])

Bases : object

Objet de paramètre de script général.

Attributs

Attributs
full_dict dict[str, Any]

Dictionnaire d'origine reçu de l'API.

id int | None

ID du paramètre.

integration_identifier str

Identifiant de l'intégration, par exemple VirusTotalV3.

creation_time int

Heure de création du paramètre.

modification_time int

Heure de la dernière modification du paramètre.

is_mandatory bool

Définissez si le paramètre est obligatoire ou non.

description str | None

Description du paramètre.

name str

Nom du paramètre.

display_name str

Nom à afficher du paramètre.

value Any

Valeur par défaut du paramètre.

type IntegrationParamType

Type du paramètre.

optional_values list

DDL de valeurs facultatives pour le type LDD.

class TIPCommon.base.action.data_models.HTMLReport

classe TIPCommon.base.action.data_models.HTMLReport(report_name: str, report_contents: str, title: str = 'Script Result HTML Report')

Bases : object

Lien vers le résultat du script d'une action.

Cette classe est immuable : après avoir attribué des valeurs et créé l'objet, vous ne pouvez pas attribuer de nouvelles valeurs aux attributs. La classe est compatible avec le hachage (stocké dans un ensemble ou en tant que clé de dictionnaire) et l'opérateur ==.

Attributs

Attributs
title str | None

Titre du lien.

report_name str

Nom du rapport.

report_contents str

Contenu HTML du rapport.

class TIPCommon.base.action.data_models.IntegrationParamType

classe TIPCommon.base.action.data_models.IntegrationParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases : Enum

Constantes

  • BOOLEAN = 0

  • EMAIL = 8

  • INTEGER = 1

  • IP = 4

  • NULL = -1

  • PASSWORD = 3

  • STRING = 2

classe TIPCommon.base.action.data_models.Link(link: str, title: str = 'Script Result Link')

Bases : object

Lien vers le résultat du script d'une action.

Cette classe est immuable : après avoir attribué des valeurs et créé l'objet, vous ne pouvez pas attribuer de nouvelles valeurs aux attributs. La classe est compatible avec le hachage (stocké dans un ensemble ou en tant que clé de dictionnaire) et l'opérateur ==.

Attributs

Attributs
title str | None

Titre du lien.

link str

Le lien.

class TIPCommon.base.action.data_models.ScriptParameter

classe TIPCommon.base.action.data_models.ScriptParameter(input_dict: dict[str, Any]

Bases : object

Objet de paramètre de script général.

Attributs

Attributs
full_dict dict[str, Any]

Dictionnaire d'origine reçu de l'API.

id int | None

ID du paramètre.

creation_time int

Heure de création du paramètre.

modification_time int

Heure de la dernière modification du paramètre.

custom_action_id int | None

ID de l'action.

is_mandatory bool

Indique si le paramètre est obligatoire ou non.

default_value Any

Valeur par défaut du paramètre.

Ce paramètre est prioritaire sur le paramètre value dans les playbooks.

description str | None

Description du paramètre.

name str | None

Nom du paramètre.

value Any

Valeur du paramètre.

Cette valeur est prioritaire sur le paramètre default_value dans les actions manuelles.

type ActionParamType

Type du paramètre.

optional_values list

LDD des valeurs facultatives pour le type LDD.

class TIPCommon.base.interfaces.apiable.Apiable

classe TIPCommon.base.interfaces.apiable.Apiable(authenticated_session: AuthenticatedSession, configuration: ApiParams)

Bases : ABC, Generic[ApiParams]

Interface pour les classes qui gèrent les appels d'API vers des services externes.

class TIPCommon.base.interfaces.authable.Authable

classe TIPCommon.base.interfaces.authable.Authable

Bases : ABC, Generic[AuthParams]

Interface pour les classes qui gèrent l'authentification auprès de services externes.

Méthodes abstraites

Méthodes abstraites
authenticat_session(params: Authparams) → None Authentifiez l'attribut self.session de la classe à l'aide de params.

Cette méthode vous authentifie auprès du service avec lequel la session interagit, après la création d'un objet à l'aide de cette session.

Attributs

Attributs
params object, dataclass, TypedDict, namedtuple ou tout élément contenant tous les paramètres d'authentification.

Paramètres d'authentification.

class TIPCommon.base.interfaces.logger.Logger

classe TIPCommon.base.interfaces.logger.Logger

Bases : ABC

Interface de l'enregistreur conçue pour les scripts Content Hub, qui vérifie la compatibilité lorsque l'enregistreur transmis est remplacé ou simulé.

Méthodes abstraites

Méthodes abstraites
debug(msg: str, *args, **kwargs) → None Consigne un message de débogage.
error(error_msg: str, *args, **kwargs) → None Enregistre un message d'erreur.
exception(ex: Exception, *args, **kwargs) → None Enregistre un message d'exception.
info(msg: str, *args, **kwargs) → None Enregistre un message d'information.
warn(warning_msg: str, *args, **kwargs) → None Enregistre un message d'avertissement.

class TIPCommon.base.interfaces.session.Session

classe TIPCommon.base.interfaces.session.Session

Bases : ABC, Generic[_R]

Cette classe gère les sessions d'API à l'aide d'un objet de session. Il accepte différents types de sessions et de simulations avec des bibliothèques telles que requests ou httpx.

Attributs

Attributs
headers dict
verify bool

Méthodes abstraites

Méthodes abstraites
delete(url: str, *args, **kwargs)→ _R Supprime une ressource du serveur.
get(url: str, *args, **kwargs)→ _R Récupère une ressource du serveur.
patch(url: str, *args, **kwargs) → _R Applique un correctif à une ressource sur le serveur.
post(url: str, *args, **kwargs) → _R Publie une ressource sur le serveur.
put(url: str, *args, **kwargs) → _R Met à jour ou crée une ressource sur le serveur.
request(method: str, *args, **kwargs) → _R Envoie une requête au serveur.

class TIPCommon.base.job.base_job.Job

classe TIPCommon.base.job.base_job.Job(name: str)

Bases : ABC, Generic[ApiClient]

Classe représentant un script de job dans Google SecOps.

Méthodes

  • start(**kwargs) → None

property api_client

property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None

Fournit le ou les clients API permettant d'interagir avec des services externes.

property error_msg

property error_msg: str

Stocke tout message d'erreur rencontré lors de l'exécution du job.

property job_start_time

property job_start_time: int

Représente le code temporel du démarrage du job.

property logger

property logger: ScriptLogger

Fournit une fonctionnalité de journalisation pour le script de job.

Nom de la propriété

property name: str

Contient le nom du script de job.

Paramètres property

property params: Container

Contient les paramètres de configuration fournis au job.

property soar_job

property soar_job: SiemplifyJob

Représente l'instance de job Google SecOps sous-jacente.

class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob

classe TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob(name: str, integration_identifier: str)

Bases : Job, Generic[ApiClient]

Cette section décrit les méthodes de cycle de vie qui influencent le traitement des jobs. Les sous-classes ne sont pas obligées de les remplacer.

property api_client

property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None

Contient le ou les clients API utilisés pour les interactions avec les services externes.

class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple

classe TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple(success_list, failure_list)

Bases : tuple

Attributs

Attributs
success_list Alias du champ numéro 0.
failure_list Alias du champ numéro 1.

TIPCommon.base.job.base_job_refresh_token.validate_param_csv_to_multi_value

TIPCommon.base.job.base_job_refresh_token.validate_param_csv_to_multi_value(param_name: str, param_csv_value: str | None, delimiter: str = ',') → list[str]

Valide et analyse une valeur de paramètre séparée par une virgule dans une liste d'éléments uniques. Cette fonction gère les valeurs uniques, les chaînes entre guillemets et les formats mixtes.

Paramètres

Paramètres
param_name Clé du paramètre.
param_csv_value Valeur de paramètre fournie dans le paramètre job. Si la valeur est None, une liste vide est renvoyée.

Génère

ValueError : lorsque le nombre de guillemets n'est pas valide, que certaines valeurs ne sont pas valides ou que certaines valeurs ne correspondent pas aux guillemets.

Renvoie

Liste de valeurs uniques fournies dans le paramètre de la tâche. Si aucune valeur valide n'est trouvée, une liste vide est renvoyée.

Type renvoyé

list[str]

class TIPCommon.base.job.data_models.JobParameter

classe TIPCommon.base.job.data_models.JobParameter(input_dict: MutableMapping[str, Any])

Bases : object

Objet de paramètre de script général.

Attributs

Attributs
full_dict dict[str, Any]

Dictionnaire d'origine reçu de l'API.

id int | None

ID du paramètre.

is_mandatory bool

Définissez si le paramètre est obligatoire ou non.

Remarque : Cet attribut est prioritaire par rapport à value dans les playbooks.

name str | None

Nom du paramètre.

type ActionParamType

Type du paramètre.

value Any

Valeur par défaut du paramètre.

Remarque : Cet attribut est prioritaire sur default_value dans les actions manuelles.

class TIPCommon.base.data_models.ActionJsonOutput

classe TIPCommon.base.data_models.ActionJsonOutput(title: 'str' = 'JsonResult', content: 'str' = '', type: 'str | None' = None, is_for_entity: 'bool' = False, json_result: 'JSON | None' = None)

Bases : object

Représente la sortie JSON structurée d'une action.

class TIPCommon.base.data_models.ActionOutput

classe TIPCommon.base.data_models.ActionOutput(output_message: 'str', result_value: 'str | bool', execution_state: 'ExecutionState', json_output: 'ActionJsonOutput | None', debug_output: 'str' = '')

Bases : object

Représente la structure de sortie complète d'une action.

class TIPCommon.base.data_models.ConnectorJsonOutput

classe TIPCommon.base.data_models.ConnectorJsonOutput(alerts: 'list[AlertInfo | CaseInfo]', overflow_alerts: 'list[OverflowAlertDetails]' = <factory>, log_items: 'list' = <factory>, log_rows: 'list[str]' = <factory>, variables: 'dict' = <factory>)

Bases : object

Représente la sortie JSON structurée d'un connecteur.

class TIPCommon.base.data_models.ConnectorOutput

classe TIPCommon.base.data_models.ConnectorOutput(json_output: 'ConnectorJsonOutput | None', debug_output: 'str' = '')

Bases : object

Représente la structure de sortie complète d'un connecteur.

TIPCommon.base.data_models.alert_info_from_json

TIPCommon.base.data_models.alert_info_from_json(json_: MutableMapping[str, Any])→ AlertInfo

Crée un objet AlertInfo à partir d'un JSON d'attributs.

Renvoie

Objet AlertInfo créé.

Type renvoyé

AlertInfo

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.