Picus
Run commands on Picus and automate security validation with playbooks.
Network Security · PicusAutomation (Deprecated)
Details
| ID | Picus |
|---|---|
| Provider | Picus Security |
| Category | Network Security |
| From Version | 6.0.0 |
| Docker Image | demisto/python3:3.12.8.3296088 |
| Supported Modules | Agentix XSIAM |
README
Run commands on Picus and automate security validation with playbooks.
This integration was integrated and tested with version 3976 of Picus
Configure Picus in Cortex

| Parameter | Description | Required |
|---|---|---|
| Picus Manager URL | True | |
| Picus Refresh Token | The refresh token will be used to generate access token. | True |
| Trust any certificate (not secure) | False | |
| Use system proxy settings | 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.
picus-get-access-token
Generates an access token for API usage. This function used for other functions inner authentication mechanism. Looks for X-Refresh-Token on the header or refresh-token cookie.
Base Command
picus-get-access-token
Input
There are no input arguments for this command.
Context Output
There is no context output for this command.
picus-get-vector-list
Returns the vector list from PICUS. These vectors can be used for automation processes.
Base Command
picus-get-vector-list
Input
| Argument Name | Description | Required |
|---|---|---|
| add_user_details | Add vectors’ assigned user details to the response. | Optional |
| page | Requested page number. | Optional |
| size | Requested data size. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Picus.vectorlist.description | String | Description info of the vector |
| Picus.vectorlist.heartbeat_results.is_successful | Boolean | Was the heartbeat end successfully? |
| Picus.vectorlist.heartbeat_results.module | String | On which module did the heartbeat executed? |
| Picus.vectorlist.heartbeat_results.result_time | Date | When the heartbeat is executed? (End time) |
| Picus.vectorlist.heartbeat_results.variant | String | On which variant did the heartbeat executed? |
| Picus.vectorlist.is_disabled | Boolean | Is the vector status disabled? |
| Picus.vectorlist.name | String | Name of the vector |
| Picus.vectorlist.trusted | String | Trusted peer name |
| Picus.vectorlist.type | String | Type of the vector, if error is encountered, “Unknown” is returned. Other valid values are: “Network”, “Email, “Endpoint” |
| Picus.vectorlist.untrusted | String | Untrusted peer name |
| Picus.vectorlist.users | Unknown | Users assigned to this vector |
Command Example
!picus-get-vector-list
Human Readable Output
| Name | Trusted | Untrusted | Is Disabled | Type |
|---|---|---|---|---|
| Picus_Attacker_1 - Win10-Det1 | Win10-Det1 | Picus_Attacker_1 | true | Endpoint |
| Picus_Attacker_2 - Win10-Det2 | Win10-Det2 | Picus_Attacker_2 | true | Endpoint |
picus-get-peer-list
Returns the peer list with current statuses. These peers also can be seen on the PICUS Panel ->Settings-> Peers.

Base Command
picus-get-peer-list
Input
There are no input arguments for this command.
Context Output
| Path | Type | Description |
|---|---|---|
| Picus.peerlist.is_alive | Boolean | Is Peer Alive? |
| Picus.peerlist.latest_attack | Date | Latest Attack Time of the Peer |
| Picus.peerlist.name | String | Peer Name |
| Picus.peerlist.registered_ip | String | IP of the peer |
| Picus.peerlist.type | String | Peer’s Type |
Command Example
!picus-get-peer-list
Human Readable Output
| Name | Registered Ip | Type | Is Alive |
|---|---|---|---|
| Picus_Attacker_1 | x.x.x.x | Network | true |
| Picus_Attacker_2 | x.x.x.x | Network | true |
| Win10-Det2 | x.x.x.x | Endpoint | true |
picus-get-attack-results
In the Picus, all attacks are carried out with the logic of the attacker and the victim. This command returns the list of the attack results on specified peers. Time range and result status can be given.
Base Command
picus-get-attack-results
Input
| Argument Name | Description | Required |
|---|---|---|
| attacker_peer | Untrusted peer name. | Required |
| victim_peer | Trusted peer name. | Required |
| days | Set days parameter. Default is 3. | Optional |
| result | This setting can only be insecure,secure and all. Default is all. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Picus.attackresults.results.threat_ids | String | Threat ID List |
| Picus.attackresults.results.begin_time | Date | begin time of the attack |
| Picus.attackresults.results.destination_port | Number | Value “0” indicates it is not applicable such as all vector types except network |
| Picus.attackresults.results.end_time | Date | end time of the attack |
| Picus.attackresults.results.id | Number | id |
| Picus.attackresults.results.l1_category_name | String | Level 1 Category Name of the attack |
| Picus.attackresults.results.scenario_details.action_id | Number | Action ID of the threat scenario action |
| Picus.attackresults.results.scenario_details.action_name | String | Action Name of the threat scenario action |
| Picus.attackresults.results.scenario_details.end | Date | The time attack ended |
| Picus.attackresults.results.scenario_details.id | Number | Primary key |
| Picus.attackresults.results.scenario_details.process_results | Unknown | Process Results(play and rewind) |
| Picus.attackresults.results.scenario_details.result | String | Final result of the scenario action |
| Picus.attackresults.results.scenario_details.technique_id | String | Technique ID of the threat scenario action |
| Picus.attackresults.results.source_port | Number | Value “0” indicates it is not applicable such as all vector types except network and wats attacks |
| Picus.attackresults.results.string | String | Attack Result |
| Picus.attackresults.results.threat_id | Number | Threat ID of the attack |
| Picus.attackresults.results.threat_name | String | Threat Name of the attack |
| Picus.attackresults.results.trusted | String | Trusted peer name |
| Picus.attackresults.results.untrusted | String | Untrusted peer name |
| Picus.attackresults.results.variant | String | Variant info |
Command Example
!picus-get-attack-results attacker_peer="Picus_Attacker_1" victim_peer="net1-det1" days=1 result="insecure"
Human Readable Output
| Begin Time | End Time | String | Threat Id | Threat Name |
|---|---|---|---|---|
| 2021-09-16T23:59:54.738644627Z | 2021-09-16T23:59:54.753408649Z | Insecure | 206450 | HTML5 Web Storage Sensitive Data Exposure |
| 2021-09-16T23:52:52.022470123Z | 2021-09-16T23:52:52.077736344Z | Insecure | 206111 | Zeus PandaBanker Trojan .EXE File Download Variant-11 |
picus-run-attacks
In the Picus, all attacks are carried out with the logic of the attacker and the victim. This command schedules a single attack on the requested vector.
Base Command
picus-run-attacks
Input
| Argument Name | Description | Required |
|---|---|---|
| threat_ids | Threat ID list (“111,222,333,…”) or single threat ID can be given. | Required |
| attacker_peer | Untrusted peer name. | Required |
| victim_peer | Trusted peer name. | Required |
| variant | This parameter can be HTTP or HTTPS. Example variant=HTTP | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| Picus.runattacks | String | IDs of the assessed attacks |
Command Example
!picus-run-attacks attacker_peer="Picus_Attacker_1" victim_peer="net1-det1" threat_ids="881728,879812,798283" variant="HTTP"
Human Readable Output
| Threat Id | Result |
|---|---|
| 881728 | success |
| 879812 | success |
| 798283 | success |
picus-get-threat-results
Returns the list of the attack results of a single threat have optional parameters for filtration.
Base Command
picus-get-threat-results
Input
| Argument Name | Description | Required |
|---|---|---|
| threat_ids | Threat ID list (“111,222,333,…”) or single threat ID can be given. | Required |
| attacker_peer | Untrusted peer name. | Required |
| victim_peer | Trusted peer name. | Required |
| variant | This parameter can be HTTP or HTTPS. Example variant=HTTP | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| Picus.threatresults.results.threat_results | String | Threat Results(ID and result combination) |
| Picus.threatresults.results.l1_category | String | Level 1 Category Name of the attack |
| Picus.threatresults.results.last_time | Date | Last Threat Result Time |
| Picus.threatresults.results.result | String | Threat Result |
| Picus.threatresults.results.status | String | Status |
| Picus.threatresults.results.threat_id | Number | Threat ID of the attack |
Command Example
!picus-get-threat-results attacker_peer="Picus_Attacker_1" victim_peer="net1-det1" variant="HTTP" threat_ids="562172"
Human Readable Output
| Threat Id | Result | L1 Category | Last Time | Status |
|---|---|---|---|---|
| 562172 | Secure | Vulnerability Exploitation | 2021-09-16T13:26:00.932298Z | success |
picus-set-paramPB
Set parameter on the playbook. (This command is only used on playbook)
Base Command
picus-set-paramPB
Input
| Argument Name | Description | Required |
|---|---|---|
| attacker_peer | Untrusted peer name. | Required |
| victim_peer | Trusted peer name. | Required |
| variant | This parameter can be HTTP or HTTPS. Example variant=HTTP | Required |
| mitigation_product | Products info of the mitigation. This parameter can be Check Point NGFW, ForcepointNGFW, McAfee IPS, PaloAlto IPS, SourceFire IPS, TippingPoint, F5 BIG-IP, Fortigate WAF, FortiWeb, Fortigate IPS, Snort, CitrixWAF, and ModSecurity. | Required |
| days | Set days parameter. Default is 3. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Picus.param.attacker_peer | String | Untrusted peer name |
| Picus.param.days | Number | days |
| Picus.param.mitigation_product | String | Products info of the mitigation |
| Picus.param.variant | String | This parameter can be HTTP or HTTPS. Example variant=HTTP |
| Picus.param.victim_peer | String | Trusted peer name |
filter-insecure-attacks
Filter insecure attacks on the playbook. (This command is only used on playbook)
Base Command
picus-filter-insecure-attacks
Input
| Argument Name | Description | Required |
|---|---|---|
| threatinfo | Threat id and result combine. Used for playbook. | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| Picus.filterinsecure | String | Insecure Attack List |
picus-get-mitigation-list
Returns the list of the mitigations of threats have optional parameters for filtration, this route may not be used associated with your license.
Base Command
picus-get-mitigation-list
Input
| Argument Name | Description | Required |
|---|---|---|
| threat_ids | Threat ID list (“111,222,333,…”) or single threat ID can be given. | Required |
| product | Products info of the mitigation. This parameter can be Check Point NGFW, ForcepointNGFW, McAfee IPS, PaloAlto IPS, SourceFire IPS, TippingPoint, F5 BIG-IP, Fortigate WAF, FortiWeb, Fortigate IPS, Snort, CitrixWAF, and ModSecurity. | Required |
Context Output
| Path | Type | Description |
|---|---|---|
| Picus.mitigationresults.signature_id | String | ID of the signature |
| Picus.mitigationresults.signature_name | String | Name of the signature |
| Picus.mitigationresults.threat_id | Number | Threat ID of Picus Attack |
| Picus.mitigationresults.vendor | String | Product name of the mitigation |
Command Example
!picus-get-mitigation-list threat_ids="103847" product="Snort"
Human Readable Output
| Threat Dd | Signature Id | Signature Name |
|---|---|---|
| 103847 | 1.2025644.1 | ET TROJAN Possible Metasploit Payload Common Construct Bind_API (from server) |
| 103847 | 1.44728.3 | INDICATOR-COMPROMISE Meterpreter payload download attempt |
picus-get-vector-compare
Makes a comparison of the given vector’s results.
Base Command
picus-get-vector-compare
Input
| Argument Name | Description | Required |
|---|---|---|
| attacker_peer | Untrusted peer name. | Required |
| victim_peer | Trusted peer name. | Required |
| days | Set days parameter. Default is 3. | Optional |
Context Output
| Path | Type | Description |
|---|---|---|
| Picus.vectorresults.name | String | Name of Picus Attack |
| Picus.vectorresults.status | String | Compare Result |
| Picus.vectorresults.threat_id | String | Threat ID of Picus Attack |
Command Example
!picus-get-vector-compare attacker_peer="Picus_Attacker_1" victim_peer="net1-det1"
Human Readable Output
| Status | Threat Id | Name |
|---|---|---|
| secure | 204923 | XSS Evasion via HTML Encoding Variant-4 |
| insecure | null | null |
| secure_to_insecures | null | null |
| insecure_to_secures | null | null |
picus-version
Returns the current Picus version and the update time config.
Base Command
picus-version
Input
There are no input arguments for this command.
Context Output
| Path | Type | Description |
|---|---|---|
| Picus.versioninfo.last_update_date | Date | When was the last update? |
| Picus.versioninfo.update_time | Number | When to update? |
| Picus.versioninfo.version | Number | Current version |
Command Example
!picus-version
Human Readable Output
| Version | Update Time | Last Update Date |
|---|---|---|
| 4025 | 0 | 20.10.2021 |
picus-trigger-update
Triggers the Picus product update mechanism manually.
Base Command
picus-trigger-update
Input
There are no input arguments for this command.
Context Output
| Path | Type | Description |
|---|---|---|
| Picus.triggerupdate.data | Boolean | Collected data that will be returned |
| Picus.triggerupdate.success | Boolean | Is the operation Succeed? |
Command Example
!picus-trigger-update
Human Readable Output
| Data | Success |
|---|---|
| true | true |
Configuration parameters
picus_server— Picus Manager URL (required)picus_apikey— Picus Refresh Token (required)insecure— Trust any certificate (not secure)proxy— Use system proxy settings
Commands (12)
-
picus-filter-insecure-attacksFilter insecure attacks on playbook. (This command is only used on playbook).
-
picus-get-access-tokenGenerates an access token for api usage. Looks for X-Refresh-Token on header or refresh-token cookie.
-
picus-get-attack-resultsReturns the list of the attack results have optional parameters for filtration.
-
picus-get-mitigation-listReturns the list of the mitigations of threats have optional parameters for filtration, this route may not be used associated with your license.
-
picus-get-peer-listReturns the peer list with current statuses.
-
picus-get-threat-resultsReturns the list of the attack results of a single threat have optional parameters for filtration.
-
picus-get-vector-compareMakes a comparison of the given vector's results.
-
picus-get-vector-listReturns the list of the vectors all disabled and enabled ones have optional parameters for pagination.
-
picus-run-attacksSchedules a single attack on requested vector.
-
picus-set-paramPBSet parameter on playbook. (This command is only used on playbook).
-
picus-trigger-updateTriggers the Picus product update mechanism manually.
-
picus-versionReturns the current Picus version and the update time config.
category: Network Security provider: Picus Security commonfields: id: Picus version: -1 configuration: - display: Picus Manager URL name: picus_server required: true type: 0 - additionalinfo: The refresh token will be used to generate access token. display: Picus Refresh Token name: picus_apikey required: true type: 4 - display: Trust any certificate (not secure) name: insecure type: 8 required: false - display: Use system proxy settings name: proxy type: 8 required: false description: Run commands on Picus and automate security validation with playbooks. display: Picus Security name: Picus script: commands: - arguments: - description: Add vector's assigned user details to the response. name: add_user_details - description: Requested page number. name: page - description: Requested data size. name: size description: Returns the list of the vectors all disabled and enabled ones have optional parameters for pagination. name: picus-get-vector-list outputs: - contextPath: Picus.vectorlist.description description: Description info of the vector. type: String - contextPath: Picus.vectorlist.heartbeat_results.is_successful description: Was the heartbeat end successfully? type: Boolean - contextPath: Picus.vectorlist.heartbeat_results.module description: On which module did the heartbeat executed? type: String - contextPath: Picus.vectorlist.heartbeat_results.result_time description: When the heartbeat is executed? (End time). type: Date - contextPath: Picus.vectorlist.heartbeat_results.variant description: On which variant did the heartbeat executed? type: String - contextPath: Picus.vectorlist.is_disabled description: Is the vector status disabled? type: Boolean - contextPath: Picus.vectorlist.name description: Name of the vector. type: String - contextPath: Picus.vectorlist.trusted description: Trusted peer name. type: String - contextPath: Picus.vectorlist.type description: 'Type of the vector, if error is encountered, "Unknown" is returned. Other valid values are: "Network", "Email, "Endpoint".' type: String - contextPath: Picus.vectorlist.untrusted description: Untrusted peer name. type: String - contextPath: Picus.vectorlist.users description: Users assigned to this vector. type: Unknown - description: Returns the peer list with current statuses. name: picus-get-peer-list outputs: - contextPath: Picus.peerlist.is_alive description: Is Peer Alive? type: Boolean - contextPath: Picus.peerlist.latest_attack description: Latest Attack Time of the Peer. type: Date - contextPath: Picus.peerlist.name description: Peer Name. type: String - contextPath: Picus.peerlist.registered_ip description: IP of the peer. type: String - contextPath: Picus.peerlist.type description: Peer's Type. type: String - arguments: - description: Untrusted peer name. name: attacker_peer required: true - description: Trusted peer name. name: victim_peer required: true - defaultValue: '3' description: Set days parameter. name: days - defaultValue: all description: This setting can only be insecure,secure and all. name: result description: Returns the list of the attack results have optional parameters for filtration. name: picus-get-attack-results outputs: - contextPath: Picus.attackresults.results.threat_ids description: Threat ID List. type: String - contextPath: Picus.attackresults.results.begin_time description: begin time of the attack. type: Date - contextPath: Picus.attackresults.results.destination_port description: Value "0" indicates it is not applicable such as all vector types except network. type: Number - contextPath: Picus.attackresults.results.end_time description: end time of the attack. type: Date - contextPath: Picus.attackresults.results.id description: id. type: Number - contextPath: Picus.attackresults.results.l1_category_name description: Level 1 Category Name of the attack. type: String - contextPath: Picus.attackresults.results.scenario_details.action_id description: Action ID of the threat scenario action. type: Number - contextPath: Picus.attackresults.results.scenario_details.action_name description: Action Name of the threat scenario action. type: String - contextPath: Picus.attackresults.results.scenario_details.end description: The time attack ended. type: Date - contextPath: Picus.attackresults.results.scenario_details.id description: Primary key. type: Number - contextPath: Picus.attackresults.results.scenario_details.process_results description: 'Process Results(play and rewind).' type: Unknown - contextPath: Picus.attackresults.results.scenario_details.result description: Final result of the scenario action. type: String - contextPath: Picus.attackresults.results.scenario_details.technique_id description: Technique ID of the threat scenario action. type: String - contextPath: Picus.attackresults.results.source_port description: Value "0" indicates it is not applicable such as all vector types except network and wats attacks. type: Number - contextPath: Picus.attackresults.results.string description: Attack Result. type: String - contextPath: Picus.attackresults.results.threat_id description: Threat ID of the attack. type: Number - contextPath: Picus.attackresults.results.threat_name description: Threat Name of the attack. type: String - contextPath: Picus.attackresults.results.trusted description: Trusted peer name. type: String - contextPath: Picus.attackresults.results.untrusted description: Untrusted peer name. type: String - contextPath: Picus.attackresults.results.variant description: Variant info. type: String - arguments: - description: Threat ID list ("111,222,333,...") or single threat ID can be given. name: threat_ids required: true - description: Untrusted peer name. name: attacker_peer required: true - description: Trusted peer name. name: victim_peer required: true - auto: PREDEFINED description: This parameter can be HTTP or HTTPS. Example variant=HTTP. name: variant predefined: - HTTP - HTTPS required: true description: Schedules a single attack on requested vector. name: picus-run-attacks outputs: - contextPath: Picus.runattacks description: IDs of the assessed attacks. type: String - arguments: - description: Threat ID list ("111,222,333,...") or single threat ID can be given. name: threat_ids required: true - description: Untrusted peer name. name: attacker_peer required: true - description: Trusted peer name. name: victim_peer required: true - auto: PREDEFINED description: This parameter can be HTTP or HTTPS. Example variant=HTTP. name: variant predefined: - HTTP - HTTPS required: true description: Returns the list of the attack results of a single threat have optional parameters for filtration. name: picus-get-threat-results outputs: - contextPath: Picus.threatresults.results.threat_results description: Threat Results(ID and result combination). type: String - contextPath: Picus.threatresults.results.l1_category description: Level 1 Category Name of the attack. type: String - contextPath: Picus.threatresults.results.last_time description: Last Threat Result Time. type: Date - contextPath: Picus.threatresults.results.result description: Threat Result. type: String - contextPath: Picus.threatresults.results.status description: Status. type: String - contextPath: Picus.threatresults.results.threat_id description: Threat ID of the attack. type: Number - arguments: - description: Untrusted peer name. name: attacker_peer required: true - description: Trusted peer name. name: victim_peer required: true - auto: PREDEFINED description: This parameter can be HTTP or HTTPS. Example variant=HTTP. name: variant predefined: - HTTP - HTTPS required: true - description: Products info of the mitigation. This parameter can be Check Point NGFW, ForcepointNGFW, McAfee IPS, PaloAlto IPS, SourceFire IPS, TippingPoint, F5 BIG-IP, Fortigate WAF, FortiWeb, Fortigate IPS, Snort, CitrixWAF, and ModSecurity. name: mitigation_product required: true - defaultValue: '3' description: Set days parameter. name: days description: Set parameter on playbook. (This command is only used on playbook). name: picus-set-paramPB outputs: - contextPath: Picus.param.attacker_peer description: Untrusted peer name. type: String - contextPath: Picus.param.days description: days. type: Number - contextPath: Picus.param.mitigation_product description: Products info of the mitigation. type: String - contextPath: Picus.param.variant description: This parameter can be HTTP or HTTPS. Example variant=HTTP. type: String - contextPath: Picus.param.victim_peer description: Trusted peer name. type: String - arguments: - description: Threat id and result combine. Used for playbook. name: threatinfo required: true description: Filter insecure attacks on playbook. (This command is only used on playbook). name: picus-filter-insecure-attacks outputs: - contextPath: Picus.filterinsecure description: Insecure Attack List. type: String - arguments: - description: Threat ID list ("111,222,333,...") or single threat ID can be given. name: threat_ids required: true - description: Products info of the mitigation. This parameter can be Check Point NGFW, ForcepointNGFW, McAfee IPS, PaloAlto IPS, SourceFire IPS, TippingPoint, F5 BIG-IP, Fortigate WAF, FortiWeb, Fortigate IPS, Snort, CitrixWAF, and ModSecurity. name: product required: true description: Returns the list of the mitigations of threats have optional parameters for filtration, this route may not be used associated with your license. name: picus-get-mitigation-list outputs: - contextPath: Picus.mitigationresults.signature_id description: ID of the signature. type: String - contextPath: Picus.mitigationresults.signature_name description: Name of the signature. type: String - contextPath: Picus.mitigationresults.threat_id description: Threat ID of Picus Attack. type: Number - contextPath: Picus.mitigationresults.vendor description: Product name of the mitigation. type: String - arguments: - description: Untrusted peer name. name: attacker_peer required: true - description: Trusted peer name. name: victim_peer required: true - defaultValue: '3' description: Set days parameter. name: days description: Makes a comparison of the given vector's results. name: picus-get-vector-compare outputs: - contextPath: Picus.vectorresults.name description: Name of Picus Attack. type: String - contextPath: Picus.vectorresults.status description: Compare Result. type: String - contextPath: Picus.vectorresults.threat_id description: Threat ID of Picus Attack. type: String - description: Returns the current Picus version and the update time config. name: picus-version outputs: - contextPath: Picus.versioninfo.last_update_date description: When was the last update? type: Date - contextPath: Picus.versioninfo.update_time description: When to update? type: Number - contextPath: Picus.versioninfo.version description: Current version. type: Number - description: Triggers the Picus product update mechanism manually. name: picus-trigger-update outputs: - contextPath: Picus.triggerupdate.data description: Collected data that will be returned. type: Boolean - contextPath: Picus.triggerupdate.success description: Is the operation Succeed? type: Boolean - description: Generates an access token for api usage. Looks for X-Refresh-Token on header or refresh-token cookie. name: picus-get-access-token dockerimage: demisto/python3:3.12.8.3296088 runonce: false script: '-' subtype: python3 type: python tests: - No tests (auto formatted) fromversion: 6.0.0