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
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
class TIPCommon.base.action.base_action.Action(name: str)
Bases : ABC, Generic[ApiClient]
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, des propriétés génériques et des 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 : |
_api_client |
Client API de l'intégration.
Type : |
_name |
Nom du script utilisant cette action.
Type : |
_action_start_time |
Heure de début de l'action.
Type : |
_logger |
Objet de journalisation utilisé pour la journalisation des actions.
Type : |
_params |
Conteneur de paramètres pour cette action.
Type : |
global_context |
Dictionnaire permettant de stocker le contexte, si nécessaire.
Type : |
_entity_types |
Types d'entités acceptés par l'action.
Type : |
_entities_to_update |
Entités à mettre à jour lorsque l'action se termine.
Type : |
json_results |
Résultats JSON de l'action.
Type : |
_attachments |
Pièces jointes à ajouter au résultat de la demande.
Type : |
_contents |
Contenu des résultats de la demande à ajouter.
Type : |
_data_tables |
Tables de données des résultats des cas à ajouter.
Type : |
_html_reports |
Rapports HTML sur les résultats des tests à ajouter.
Type : |
_links |
Liens vers les résultats de la demande à ajouter.
Type : |
_entity_insights |
Insights sur l'entité de demande à ajouter.
Type : |
_case_insights |
Insights sur les demandes à ajouter.
Type : |
_execution_state |
État d'exécution final de l'action.
Type : |
_result_value |
Valeur du résultat final de l'action.
Type : |
_output_message |
Message de résultat de l'action en cas de réussite.
Type : |
_error_output_message |
Message de sortie de l'action en cas d'échec.
Type : |
Méthodes
- run() |
Exécute 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 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 qui ne sont pas obligatoires à remplacer.
_get_entity_types()_finalize_action_on_success()_finalize_action_on_failure()_on_entity_failure()_handle_timeout()_extract_action_parameters()_finalize()
Méthodes d'encapsulation 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.
Pièces jointes propriété
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 sur les cas de la liste sont envoyés au résultat du cas.
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 la demande.
Renvoie une liste d'objets Content représentant les insights pour cette demande.
property data_tables
property data_tables: list[DataTable]
Par défaut, tous les tableaux de données de la liste sont envoyés au résultat de la fiche.
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 à mettre à 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 la demande.
Renvoie une liste d'objets EntityInsight représentant les insights pour cette demande.
Types d'entités property
property entity_types:
list[EntityTypesEnum]
Si l'action fonctionne avec des entités, elle ne traite que celles 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
État d'exécution de l'action : indicateur d'état représenté par un nombre entier à renvoyer à la plate-forme.
Voici les états possibles :
ExecutionState.COMPLETED = 0ExecutionState.IN_PROGRESS = 1ExecutionState.FAILED = 2ExecutionState.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 sont 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 dans le cas contraire.
property json_results
property json_results: Dict[str, Any] | List[Dict[str, Any]]
Renvoie le résultat JSON de l'action à envoyer à la section "Dossier".
Liens propriété
property links: list[Link]
Par défaut, tous les liens de la liste sont envoyés dans le résultat de la demande.
Renvoie une liste d'objets Link représentant les insights pour cette demande.
Journaliseur property
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: l'action a réussiFalse: É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
class TIPCommon.base.action.base_enrich_action.EnrichAction(name: str)
Bases : Action
Classe représentant une action d'enrichissement d'entité.
Cette classe hérite de la classe TIPCommon.base.actions.base_action::Action.
Paramètres
| Paramètres | |
|---|---|
name |
strNom de l'action. |
Attributs
| Attributs | |
|---|---|
enrichment_data |
Cet attribut contient les données d'enrichissement pour l'entité actuelle dans chacune des itérations d'entité. À la fin de chaque itération, l'attribut Type : |
entity_results |
Résultats d'entité inclus dans la sortie JSON pour cet objet.
Type : Tout |
global_context |
Dictionnaire permettant de stocker le contexte si nécessaire. Type : |
Méthodes abstraites
| Méthodes abstraites | |
|---|---|
_get_entity_types() |
Obtient le type d'entités sur lesquelles l'action s'exécute. |
_perform_enrich_action() |
Exécutez 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 plus importante et la transmet à la classe parente pour l'utiliser dans la méthode |
class TIPCommon.base.action.data_models.ActionParamType
class TIPCommon.base.action.data_models.ActionParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
BOOLEAN = 1CASE_PRIORITIES = 7CLOSE_CASE_REASONS = 5CLOSE_ROOT_CAUSE = 6CODE = 20CONTENT = 11DDL = 15EMAIL_CONTENT = 10ENTITY_TYPE = 13MULTI_VALUES = 14NULL = -1PASSWORD = 12PLAYBOOK_NAME = 2STAGE = 4STRING = 0USER = 3
class TIPCommon.base.action.data_models.Attachment
class TIPCommon.base.action.data_models.Attachment(filename: str, file_contents: bytes, title: str = 'Script Result Attachment', additional_data: dict | None = None)
Bases : objet
Pièce jointe de résultat de script d'action.
Cette classe est immuable : une fois créée, ses attributs ne peuvent pas être modifiés. Il est compatible avec le hachage (par exemple, l'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 : |
filename |
Nom du fichier de la pièce jointe. Type : |
file_contents |
Contenu du fichier joint. Type : |
additional_data |
Données supplémentaires. Type : |
class TIPCommon.base.action.data_models.CaseAttachment
class TIPCommon.base.action.data_models.CaseAttachment(attachment_id: int, attachment_type: str, description: str, is_favorite: bool)
Bases : objet
Pièce jointe d'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 | |
|---|---|
attachment_id |
intID de la pièce jointe. |
attachment_type |
strType de pièce jointe. |
description |
strDescription de la pièce jointe. |
is_favorite |
boolIndique si la pièce jointe est marquée comme favorite. |
class TIPCommon.base.action.data_models.CaseComment
class 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 : objet
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 |
strLe commentaire. |
comment_for_client |
str | NoneCommentaire destiné au client. |
modification_time_unix_time_in_ms_for_client |
int
Date et heure de modification de |
last_editor |
str
ID du dernier éditeur, tel que 77bdb7a4-8484-481d-9482-2449e33f9518. |
last_editor_full_name |
str
Nom complet du dernier utilisateur ayant effectué une modification, 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, tel que 77bdb7a4-8484-481d-9482-2449e33f9518. |
creator_full_name |
str
Nom complet du créateur, tel que Système. |
comment_id |
intID du commentaire. |
comment_type |
intType du commentaire. |
case_id |
intID de la demande. |
is_favorite |
bool
Indique si le commentaire est marqué comme favori. |
modification_time_unix_time_in_ms |
int
Date et 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 |
strIdentifiant de l'alerte, tel que SUSPICIOUS PHISHING EMAIL_83765943-9437-4771-96F6-BD0FB291384E. |
class TIPCommon.base.action.data_models.CaseInsight
class 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 : objet
Informations 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 | |
|---|---|
title |
strTitre de l'insight. |
triggered_by |
strNom de l'intégration. |
content |
strMessage d'insight. |
severity |
InsightSeverityGravité de l'insight. Les valeurs possibles sont les suivantes :
|
insight_type |
InsightTypeType d'insight. Les valeurs possibles sont les suivantes :
|
entity_identifier |
str | NoneIdentifiant de l'entité. |
additional_data |
Any | NoneDonnées supplémentaires. |
additional_data_type |
Any | NoneType de données supplémentaires. |
additional_data_title |
str | NoneTitre des données supplémentaires. |
class TIPCommon.base.action.data_models.CasePriority
class TIPCommon.base.action.data_models.CasePriority(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
CRITICAL = 100HIGH = 80INFORMATIONAL = 0LOW = 40MEDIUM = 60
class TIPCommon.base.action.data_models.CaseStage
class 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
class 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
class 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
class 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
class 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
class TIPCommon.base.action.data_models.CloseCaseOrAlertReasons(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
### Constantes
INCONCLUSIVE = 3MAINTENANCE = 2MALICIOUS = 0NOT_MALICIOUS = 1
class TIPCommon.base.action.data_models.Content
class TIPCommon.base.action.data_models.Content(content: str, title: str = 'Script Result Content')
Bases : objet
Contenu du résultat du script d'une 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 | NoneTitre du contenu. |
content |
strContenu à ajouter aux résultats du script. |
class TIPCommon.base.action.data_models.DataTable
class TIPCommon.base.action.data_models.DataTable(data_table: list[str], title: str = 'Script Result Data Table')
Bases : objet
Table de données des résultats du 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 | NoneTitre du tableau. |
data_table |
list[str]Liste des lignes CSV qui constituent le tableau. |
class TIPCommon.base.action.data_models.EntityInsight
class TIPCommon.base.action.data_models.EntityInsight(entity: DomainEntityInfo, message: str, triggered_by: str | None = None, original_requesting_user: str | None = None)
Bases : objet
Insight sur une entité.
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 | |
|---|---|
entity |
EntityObjet d'entité. |
message |
strMessage de l'insight. |
triggered_by |
str | NoneNom de l'intégration. |
original_requesting_user |
str | NoneUtilisateur d'origine. |
class TIPCommon.base.action.data_models.EntityTypesEnum
class 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
class TIPCommon.base.action.data_models.ExecutionState(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
COMPLETED = 0FAILED = 2IN_PROGRESS = 1TIMED_OUT = 3
class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter
class TIPCommon.base.action.data_models.FullDetailsConfigurationParameter(input_dict: dict[str, Any])
Bases : objet
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 | NoneID du paramètre. |
integration_identifier |
strIdentifiant de l'intégration, tel que VirusTotalV3. |
creation_time |
intHeure de création du paramètre. |
modification_time |
intHeure à laquelle le paramètre a été modifié pour la dernière fois. |
is_mandatory |
boolIndiquez si le paramètre est obligatoire ou non. |
description |
str | NoneDescription du paramètre. |
name |
strNom du paramètre. |
display_name |
strNom à afficher du paramètre. |
value |
AnyValeur par défaut du paramètre. |
type |
IntegrationParamTypeType du paramètre. |
optional_values |
listDDL de valeurs facultatives pour le type LDD. |
class TIPCommon.base.action.data_models.HTMLReport
class TIPCommon.base.action.data_models.HTMLReport(report_name: str, report_contents: str, title: str = 'Script Result HTML Report')
Bases : objet
Lien vers le résultat du 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 | NoneTitre du lien. |
report_name |
strNom du rapport. |
report_contents |
strContenu HTML du rapport. |
class TIPCommon.base.action.data_models.IntegrationParamType
class TIPCommon.base.action.data_models.IntegrationParamType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)
Bases : Enum
Constantes
BOOLEAN = 0EMAIL = 8INTEGER = 1IP = 4NULL = -1PASSWORD = 3STRING = 2
class TIPCommon.base.action.data_models.Link
class TIPCommon.base.action.data_models.Link(link: str, title: str = 'Script Result Link')
Bases : objet
Lien vers le résultat du 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 | NoneTitre du lien. |
link |
strLe lien. |
class TIPCommon.base.action.data_models.ScriptParameter
class TIPCommon.base.action.data_models.ScriptParameter(input_dict: dict[str, Any]
Bases : objet
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 | NoneID du paramètre. |
creation_time |
intHeure à laquelle le paramètre a été créé. |
modification_time |
intHeure de la dernière modification du paramètre. |
custom_action_id |
int | NoneID de l'action. |
is_mandatory |
boolIndique si le paramètre est obligatoire ou non. |
default_value |
AnyValeur par défaut du paramètre. Ce paramètre est prioritaire sur le paramètre |
description |
str | NoneDescription du paramètre. |
name |
str | NoneNom du paramètre. |
value |
AnyValeur du paramètre. Cette valeur est prioritaire sur le paramètre |
type |
ActionParamTypeType du paramètre. |
optional_values |
listLDD des valeurs facultatives pour le LDD de type. |
class TIPCommon.base.interfaces.apiable.Apiable
class 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
class TIPCommon.base.interfaces.authable.Authable
Bases : ABC, Generic[AuthParams]
Interface pour les classes qui gèrent l'authentification avec des 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 autre élément contenant tous les paramètres d'authentification.Paramètres d'authentification. |
class TIPCommon.base.interfaces.logger.Logger
class TIPCommon.base.interfaces.logger.Logger
Bases : ABC
Interface de journalisation conçue pour les scripts Marketplace, qui vérifie la compatibilité lorsque le journaliseur 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 |
Consigne un message d'avertissement. |
class TIPCommon.base.interfaces.session.Session
class 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 est compatible avec 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 à partir 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 |
Place (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
class TIPCommon.base.job.base_job.Job(name: str)
Bases : ABC, Generic[ApiClient]
Classe représentant un script de job dans Google Security Operations SOAR.
Méthodes
start(**kwargs) → None
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Fournit le ou les clients API pour interagir avec les 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ébut du job.
Journaliseur property
property logger: ScriptLogger
Fournit une fonctionnalité de journalisation pour le script du 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 à la tâche.
property soar_job
property soar_job: SiemplifyJob
Représente l'instance de job Google Security Operations SOAR sous-jacente.
class TIPCommon.base.job.base_job_refresh_token.RefreshTokenRenewalJob
class 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 tenues de les remplacer.
property api_client
property api_client: ApiClient | Collection[ApiClient] | Type[Tuple[ApiClient, ...]] | None
Contient le ou les clients d'API utilisés pour les interactions avec les services externes.
class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple
class TIPCommon.base.job.base_job_refresh_token.SuccessFailureTuple(success_list, failure_list)
Bases : tuple
Attributs
| Attributs | |
|---|---|
success_list |
Alias pour le champ numéro 0. |
failure_list |
Alias pour le 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 pour la convertir en 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 du paramètre fournie dans le paramètre job.
Si la valeur est None, une liste vide est renvoyée. |
Génère
ValueError : le nombre de guillemets n'est pas valide, certaines valeurs ne sont pas valides ou certaines valeurs comportent des guillemets non concordants.
Renvoie
Liste des valeurs uniques fournies dans le paramètre du job. 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
class TIPCommon.base.job.data_models.JobParameter(input_dict: MutableMapping[str, Any])
Bases : objet
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 | NoneID du paramètre. |
is_mandatory |
boolIndiquez si le paramètre est obligatoire ou non. Remarque : Cet attribut est prioritaire par rapport à |
name |
str | NoneNom du paramètre. |
type |
ActionParamTypeType du paramètre. |
value |
AnyValeur par défaut du paramètre. Remarque : Cet attribut est prioritaire par rapport à |
class TIPCommon.base.data_models.ActionJsonOutput
class 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 : objet
Représente la sortie JSON structurée pour une action.
class TIPCommon.base.data_models.ActionOutput
class TIPCommon.base.data_models.ActionOutput(output_message: 'str', result_value: 'str | bool', execution_state: 'ExecutionState', json_output: 'ActionJsonOutput | None', debug_output: 'str' = '')
Bases : objet
Représente la structure de sortie complète d'une action.
class TIPCommon.base.data_models.ConnectorJsonOutput
class 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 : objet
Représente la sortie JSON structurée d'un connecteur.
class TIPCommon.base.data_models.ConnectorOutput
class TIPCommon.base.data_models.ConnectorOutput(json_output: 'ConnectorJsonOutput | None', debug_output: 'str' = '')
Bases : objet
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.