Overview
Event types represent security events detected by Garnet agents. Events use the V2 ashkaal format and include detections, flows, and informational events.Event
Represents a security event with full agent details (V2 format).Unique event identifier
Full agent details that generated this event
Event data in ashkaal format
Event kind:
flows, detections, infos, or netpolicyWhen the event was created
When the event was last updated
Methods
Validate() error- Validates event has required fields and valid kind
EventV2
V2 event representation with ashkaal format.Unique event identifier (UUID format)
ID of the agent that generated this event
Full agent details
Event kind from ashkaal
Event data payload
Methods
Validate() error- Validates event structure
CreateOrUpdateEventV2
Request to create or update a V2 event.Methods
Validate() error- Validates ID is UUID and kind is validAgentID() string- Returns the agent ID (populated from JWT)SetAgentID(agentID string)- Sets the agent ID
Validation Rules
idmust be a valid UUIDkindmust be one of:flows,detections,infos,netpolicy- Agent ID is populated from JWT token, not provided in request
EventV2CreatedOrUpdated
Response after creating or updating an event.The event ID
True if event was created, false if updated
When the event was created or updated
ListEvents
Request to list events with filtering and pagination.Methods
Validate() error- Validates filters and pagination
ListEventsFilters
Filters for listing events.Metadata Names
Metadata names identify specific event types: Network Events:dropip- IP drop eventsdropdomain- Domain drop eventsflow- Network flow eventsadult_domain_access- Adult content domain accessthreat_domain_access- Threat domain accessbadware_domain_access- Malware domain accessdyndns_domain_access- Dynamic DNS domain accessfake_domain_access- Fake domain accessgambling_domain_access- Gambling domain accesspiracy_domain_access- Piracy domain accessplaintext_communication- Unencrypted communicationtracking_domain_access- Tracking domain accessvpnlike_domain_access- VPN-like domain access
capabilities_modification- Linux capabilities changedbinary_executed_by_loader- Binary executed by loadercode_on_the_fly- Dynamic code executiondata_encoder_exec- Data encoder executiondenial_of_service_tools- DoS tool executionexec_from_unusual_dir- Execution from unusual directoryhidden_elf_exec- Hidden ELF executioninterpreter_shell_spawn- Shell spawned by interpreternet_filecopy_tool_exec- Network file copy toolnet_mitm_tool_exec- MITM tool executionnet_scan_tool_exec- Network scanning toolnet_sniff_tool_exec- Network sniffing toolnet_suspicious_tool_exec- Suspicious network toolnet_suspicious_tool_shell- Suspicious tool shell spawnpasswd_usage- Password utility usagerunc_suspicious_exec- Suspicious runc executionwebserver_exec- Webserver executionwebserver_shell_exec- Webserver shell spawncrypto_miner_execution- Crypto miner execution
code_modification_through_procfs- Code modified via procfscrypto_miner_files- Crypto miner files detectedauth_logs_tamper- Authentication logs tamperedfile_attribute_change- File attributes changedglobal_shlib_modification- Global library modifiedpackage_repo_config_modification- Package repo config changedpam_config_modification- PAM config changedshell_config_modification- Shell config changedsudoers_modification- Sudoers file modified
cpu_fingerprint- CPU fingerprintingfilesystem_fingerprint- Filesystem fingerprintingmachine_fingerprint- Machine fingerprintingos_fingerprint- OS fingerprintingos_network_fingerprint- OS network fingerprintingos_status_fingerprint- OS status fingerprinting
core_pattern_access- Core pattern accesscredentials_files_access- Credentials file accessjava_debug_lib_load- Java debug library loadedjava_instrument_lib_load- Java instrumentation loadedsched_debug_access- Scheduler debug accessssl_certificate_access- SSL certificate accesssysrq_access- SysRq accessunprivileged_bpf_config_access- Unprivileged BPF accessenviron_read_from_procfs- Environment read from procfsbinary_self_deletion- Binary deleted itself
Methods
Validate() error- Validates filter valuesIsEmpty() bool- Checks if all filters are empty
Validation Rules
- Maximum 20 metadata names allowed
- Metadata names must be 1-64 characters, ASCII letters/numbers/underscores only
timeStartmust be beforetimeEnd
EventAction
Action to perform on an event.Methods
Validate() error- Validates action type, scope, and reason
EventActionPerformed
Result of performing an action on an event.The event ID the action was performed on
The action that was performed
ID of the created network policy
The network policy rule that was created
When the action was performed
