Skip to main content

Sysdig Response Actions

This Integration is part of the Sysdig Response Actions Pack.#

Supported versions

Available on Cortex XSOAR (versions 6.10.0 and later) and Cortex XSIAM.

This is an integration that will use Sysdig agent to respond to malicious activity by triggering different actions at the host or container level like killing a container, quarantine a file or perform a system capture This integration was integrated and tested with Host shield 13.9.1 of the Sysdig Agent and ResponseActions version 0.1.0

This is the default integration for this content pack when configured by the Data Onboarder in Cortex XSIAM.

Configure Sysdig Response Actions in Cortex#

ParameterRequired
Your server URLTrue
API KeyTrue
Trust any certificate (not secure)False
Use system proxy settingsFalse
ClassifierFalse
Incident type (if classifier doesn't exist)False
Mapper (incoming)False

Commands#

You can execute these commands from the CLI, as part of an automation, or in a playbook. After you successfully execute a command, a DBot message appears in the War Room with the command details.

execute-response-action#


Executes response actions through the Sysdig API. Each action type requires a specific set of parameters.

Base Command#

execute-response-action

Input#

Argument NameDescriptionRequired
actionTypeThe action type to perform. Required parameters per action:
- KILL_PROCESS: host_id, process_id (startTime defaults to -1)
- KILL_CONTAINER: host_id, container_id
- STOP_CONTAINER: host_id, container_id
- PAUSE_CONTAINER: host_id, container_id
- UNPAUSE_CONTAINER: host_id, container_id
- START_CONTAINER: host_id, container_id
- FILE_QUARANTINE: host_id, path_absolute (optional: container_id)
- FILE_ACQUIRE: host_id, path_absolute (optional: container_id)
- FILE_UNQUARANTINE: host_id, path_absolute, quarantined_file_path (optional: container_id)
- DELETE_POD: k8s_cluster_name, k8s_namespace_name, k8s_pod_name
- ROLLOUT_RESTART: k8s_cluster_name, k8s_namespace_name, k8s_workload_type, k8s_workload_name
- ISOLATE_NETWORK: k8s_cluster_name, k8s_namespace_name, k8s_workload_type, k8s_workload_name (optional: network_protocol, network_port, network_cidr, network_direction)
- DELETE_NETWORK_POLICY: k8s_cluster_name, k8s_namespace_name, network_policy_name
- GET_LOGS: k8s_cluster_name, k8s_namespace_name (optional: k8s_workload_type, k8s_workload_name, k8s_pod_name, k8s_container_name, previous, all_containers)
- KUBERNETES_VOLUME_SNAPSHOT: k8s_cluster_name, k8s_namespace_name (optional: k8s_pvc_name, k8s_workload_type, k8s_workload_name)
- KUBERNETES_DELETE_VOLUME_SNAPSHOT: k8s_cluster_name, k8s_namespace_name, k8s_pvc_name, k8s_volume_snapshot_name
- CAPTURE: host_id, capture_storage_config_id, capture_duration_ns, capture_past_duration_ns (optional: capture_filters, capture_max_size, container_id, capture_token)
- IAM_QUARANTINE: cloud_provider, cloud_account_id (optional: ct_user_arn, ct_user_identity_type, ct_user)
- IAM_UNQUARANTINE: cloud_provider, cloud_account_id, iam_policy_name, ct_user_identity_type, ct_user
- MAKE_PRIVATE_CLOUD_RESOURCE: cloud_provider, cloud_account_id, cloud_resource_type, cloud_resource_name (optional: cloud_region)
- UNDO_MAKE_PRIVATE_CLOUD_RESOURCE: cloud_provider, cloud_account_id, cloud_resource_type, cloud_resource_name, previous_public_access_settings (optional: cloud_region)
- CLOUD_VOLUME_SNAPSHOT: cloud_provider, cloud_account_id, cloud_region, aws_instance_id
- UNDO_CLOUD_VOLUME_SNAPSHOT: cloud_provider, cloud_account_id, cloud_region, snapshot_ids, aws_instance_id
- FETCH_CLOUD_LOGS: cloud_provider, cloud_account_id, cloud_region, from_timestamp, to_timestamp (optional: ct_original_user, ct_name, ct_src). Possible values are: KILL_PROCESS, KILL_CONTAINER, STOP_CONTAINER, PAUSE_CONTAINER, UNPAUSE_CONTAINER, START_CONTAINER, FILE_QUARANTINE, FILE_ACQUIRE, FILE_UNQUARANTINE, DELETE_POD, ROLLOUT_RESTART, ISOLATE_NETWORK, DELETE_NETWORK_POLICY, GET_LOGS, KUBERNETES_VOLUME_SNAPSHOT, KUBERNETES_DELETE_VOLUME_SNAPSHOT, CAPTURE, IAM_QUARANTINE, IAM_UNQUARANTINE, MAKE_PRIVATE_CLOUD_RESOURCE, UNDO_MAKE_PRIVATE_CLOUD_RESOURCE, CLOUD_VOLUME_SNAPSHOT, UNDO_CLOUD_VOLUME_SNAPSHOT, FETCH_CLOUD_LOGS.
Required
callerIdThe unique caller identifier for the audit trail.Required
host_idThe host ID where the agent runs. Required for: KILL_PROCESS, KILL_CONTAINER, STOP_CONTAINER, PAUSE_CONTAINER, UNPAUSE_CONTAINER, START_CONTAINER, FILE_QUARANTINE, FILE_ACQUIRE, FILE_UNQUARANTINE, CAPTURE.Optional
container_idThe container ID. Required for: KILL_CONTAINER, STOP_CONTAINER, PAUSE_CONTAINER, UNPAUSE_CONTAINER, START_CONTAINER. Optional for: FILE_QUARANTINE, FILE_ACQUIRE, FILE_UNQUARANTINE, CAPTURE.Optional
process_idThe process ID to kill. Required for: KILL_PROCESS.Optional
path_absoluteThe absolute file path. Required for: FILE_QUARANTINE, FILE_ACQUIRE, FILE_UNQUARANTINE.Optional
quarantined_file_pathThe path of the quarantined file. Required for: FILE_UNQUARANTINE.Optional
k8s_cluster_nameThe Kubernetes cluster name. Required for: DELETE_POD, ROLLOUT_RESTART, ISOLATE_NETWORK, DELETE_NETWORK_POLICY, GET_LOGS, KUBERNETES_VOLUME_SNAPSHOT, KUBERNETES_DELETE_VOLUME_SNAPSHOT.Optional
k8s_namespace_nameThe Kubernetes namespace. Required for: DELETE_POD, ROLLOUT_RESTART, ISOLATE_NETWORK, DELETE_NETWORK_POLICY, GET_LOGS, KUBERNETES_VOLUME_SNAPSHOT, KUBERNETES_DELETE_VOLUME_SNAPSHOT.Optional
k8s_pod_nameThe Kubernetes pod name. Required for: DELETE_POD. Optional for: GET_LOGS.Optional
k8s_workload_typeThe Kubernetes workload type (for example, Deployment, StatefulSet, DaemonSet). Required for: ROLLOUT_RESTART, ISOLATE_NETWORK. Optional for: GET_LOGS, KUBERNETES_VOLUME_SNAPSHOT.Optional
k8s_workload_nameThe Kubernetes workload name. Required for: ROLLOUT_RESTART, ISOLATE_NETWORK. Optional for: GET_LOGS, KUBERNETES_VOLUME_SNAPSHOT.Optional
k8s_pvc_nameThe PVC name. Optional for: KUBERNETES_VOLUME_SNAPSHOT. Required for: KUBERNETES_DELETE_VOLUME_SNAPSHOT.Optional
k8s_volume_snapshot_nameThe volume snapshot name. Required for: KUBERNETES_DELETE_VOLUME_SNAPSHOT.Optional
k8s_container_nameThe container name for log retrieval. Optional for: GET_LOGS.Optional
network_policy_nameThe network policy name. Required for: DELETE_NETWORK_POLICY.Optional
network_protocolThe network protocol (TCP, UDP). Optional for: ISOLATE_NETWORK.Optional
network_portThe port number. Optional for: ISOLATE_NETWORK.Optional
network_cidrThe CIDR range. Optional for: ISOLATE_NETWORK.Optional
network_directionThe traffic direction (ingress, egress). Optional for: ISOLATE_NETWORK.Optional
previousWhether to retrieve logs from the previous container instance. Optional for: GET_LOGS.Optional
all_containersWhether to retrieve logs from all containers. Optional for: GET_LOGS.Optional
capture_storage_config_idThe remote storage configuration ID. Required for: CAPTURE.Optional
capture_duration_nsThe capture duration in nanoseconds. Required for: CAPTURE.Optional
capture_past_duration_nsThe amount of time to capture retroactively, in nanoseconds. Required for: CAPTURE.Optional
capture_filtersThe syscall filter expression. Optional for: CAPTURE.Optional
capture_max_sizeThe maximum capture file size in bytes (0 = no limit). Optional for: CAPTURE.Optional
capture_tokenThe base name of the capture file. Optional for: CAPTURE.Optional
cloud_providerThe cloud provider name (for example, aws). Required for: IAM_QUARANTINE, IAM_UNQUARANTINE, MAKE_PRIVATE_CLOUD_RESOURCE, UNDO_MAKE_PRIVATE_CLOUD_RESOURCE, CLOUD_VOLUME_SNAPSHOT, UNDO_CLOUD_VOLUME_SNAPSHOT, FETCH_CLOUD_LOGS.Optional
cloud_account_idThe cloud account ID. Required for: IAM_QUARANTINE, IAM_UNQUARANTINE, MAKE_PRIVATE_CLOUD_RESOURCE, UNDO_MAKE_PRIVATE_CLOUD_RESOURCE, CLOUD_VOLUME_SNAPSHOT, UNDO_CLOUD_VOLUME_SNAPSHOT, FETCH_CLOUD_LOGS.Optional
cloud_regionThe cloud region. Required for: CLOUD_VOLUME_SNAPSHOT, UNDO_CLOUD_VOLUME_SNAPSHOT, FETCH_CLOUD_LOGS. Optional for: MAKE_PRIVATE_CLOUD_RESOURCE, UNDO_MAKE_PRIVATE_CLOUD_RESOURCE.Optional
ct_user_arnThe AWS identity ARN. Optional for: IAM_QUARANTINE.Optional
ct_user_identity_typeThe AWS identity type (IAMUser, Role, AssumedRole). Required for: IAM_UNQUARANTINE. Optional for: IAM_QUARANTINE.Optional
ct_userThe AWS identity name. Required for: IAM_UNQUARANTINE. Optional for: IAM_QUARANTINE.Optional
ct_original_userThe CloudTrail original user. Optional for: FETCH_CLOUD_LOGS.Optional
ct_nameThe CloudTrail event name. Optional for: FETCH_CLOUD_LOGS.Optional
ct_srcThe CloudTrail source. Optional for: FETCH_CLOUD_LOGS.Optional
iam_policy_nameThe IAM policy name to remove. Required for: IAM_UNQUARANTINE.Optional
cloud_resource_typeThe cloud resource type (rds, s3). Required for: MAKE_PRIVATE_CLOUD_RESOURCE, UNDO_MAKE_PRIVATE_CLOUD_RESOURCE.Optional
cloud_resource_nameThe cloud resource name. Required for: MAKE_PRIVATE_CLOUD_RESOURCE, UNDO_MAKE_PRIVATE_CLOUD_RESOURCE.Optional
previous_public_access_settingsThe previous public access settings. Required for: UNDO_MAKE_PRIVATE_CLOUD_RESOURCE.Optional
aws_instance_idThe AWS instance ID. Required for: CLOUD_VOLUME_SNAPSHOT, UNDO_CLOUD_VOLUME_SNAPSHOT.Optional
snapshot_idsThe comma-separated snapshot IDs. Required for: UNDO_CLOUD_VOLUME_SNAPSHOT.Optional
from_timestampThe start timestamp for the log search. Required for: FETCH_CLOUD_LOGS.Optional
to_timestampThe end timestamp for the log search. Required for: FETCH_CLOUD_LOGS.Optional

Context Output#

PathTypeDescription
execute_response_action.OutputDictThe output of the response-actions API.

create-system-capture#


Triggers a system capture, recording all system calls at the host level.

Base Command#

create-system-capture

Input#

Argument NameDescriptionRequired
container_idThe container ID to apply the action. Example "container.id": "123456789123".Required
host_nameThe host name. Example "ip-1-1-1-1.us-west-1.compute.internal".Required
capture_nameThe capture name.Required
agent_idThe agent ID.Required
customer_idThe customer ID.Required
machine_idThe machine ID/MAC. Example "01:aa:02:bb:03:cc".Required
scan_durationThe capture duration in seconds.Optional
scap_filterThe filter for the scope of the capture to take. Example: (proc.name=ncat or proc.name=vi).Optional

Context Output#

PathTypeDescription
create_system_capture.OutputDictThe output of the created system capture.

get-capture-file#


Gets a system capture based on the capture ID.

Base Command#

get-capture-file

Input#

Argument NameDescriptionRequired
capture_idThe system capture ID.Required

Context Output#

PathTypeDescription
get_capture_file.OutputDictThe output of the downloaded system capture.

get-action-execution#


Gets the status and information of a triggered action execution.

Base Command#

get-action-execution

Input#

Argument NameDescriptionRequired
action_execution_idThe action execution ID.Required

Context Output#

PathTypeDescription
get_action_execution.OutputDictThe output of the action execution info.

sysdig-agent-info-get#


Resolves a host MAC address to its Sysdig agent details (agent ID, customer ID, hostname). The result is cached per MAC address.

Base Command#

sysdig-agent-info-get

Input#

Argument NameDescriptionRequired
machine_idThe MAC address (machineId) of the host to look up.Required
force_refreshWhether to force a refresh of the cached agent info from the Sysdig API.Optional

Context Output#

PathTypeDescription
Sysdig.Agent.agentIdStringThe Sysdig agent ID.
Sysdig.Agent.customerIdStringThe Sysdig customer ID.
Sysdig.Agent.hostNameStringThe agent hostname.
Sysdig.Agent.machineIdStringThe host MAC address.
Sysdig.Agent.hostIdStringThe opaque host identifier.
Sysdig.Agent.clusterNameStringThe Kubernetes cluster name.

sysdig-customer-info-get#


Gets the Sysdig customer ID and name. The result is cached per integration instance.

Base Command#

sysdig-customer-info-get

Input#

Argument NameDescriptionRequired
force_refreshWhether to force a refresh of the cached customer info from the Sysdig API.Optional

Context Output#

PathTypeDescription
Sysdig.Customer.customerIdStringThe Sysdig customer ID.
Sysdig.Customer.customerNameStringThe Sysdig customer name.