Digital Guardian Demo Playbook
This playbook will show how to handle an exfiltration event through Digital Guardian by emailing a user's manager and adding the user to a DG Watchlist.
Digital Guardian · 15 tasks · 4 inputs · 0 outputs
Details
| ID | Digital Guardian Demo Playbook |
|---|---|
| From Version | 5.0.0 |
| Tasks | 15 |
README
This playbook will show how to handle an exfiltration event through Digital Guardian by emailing a user’s manager and adding the user to a DG Watchlist.
Dependencies
This playbook uses the following sub-playbooks, integrations, and scripts.
Sub-playbooks
- Active Directory - Get User Manager Details
- Account Enrichment - Generic v2.1
Integrations
- Builtin
- Digital Guardian
Scripts
This playbook does not use any scripts.
Commands
- send-mail
- digitalguardian-add-watchlist-entry
- closeInvestigation
Playbook Inputs
| Name | Description | Default Value | Source | Required |
|---|---|---|---|---|
| User Name | User Name to check | ${incident.digitalguardianusername} | Required | |
| Watchlist Name | The name of the DG watchlist to add the user to. | DLP-USB-USERS | Required | |
| Incident Match | The incident name should contain this string in order for the playbook to handle the event. The default is DLP1008 which is a USB Exfiltration event. | DLP1008 | Required | |
| Notify Manager | Notify User’s Manager | true | Optional |
Playbook Outputs
There are no outputs for this playbook.

Inputs
User Name— User Name to checkWatchlist Name— The name of the DG watchlist to add the user to.Incident Match— The incident name should contain this string in order for the playbook to handle the event. The default is DLP1008 which is a USB Exfiltration event.Notify Manager— Notify User's Manager
Commands used
closeInvestigation
digitalguardian-add-watchlist-entry
send-mail
Flowchart
id: Digital Guardian Demo Playbook version: -1 name: Digital Guardian Demo Playbook description: This playbook will show how to handle an exfiltration event through Digital Guardian by emailing a user's manager and adding the user to a DG Watchlist. starttaskid: '0' tasks: '0': id: '0' taskid: 88ac459f-e1af-4abb-8aaf-b79e63012f29 type: start task: id: 88ac459f-e1af-4abb-8aaf-b79e63012f29 version: -1 name: '' iscommand: false brand: '' description: '' nexttasks: '#none#': - '20' separatecontext: false view: "{\n \"position\": {\n \"x\": 1022.5,\n \"y\": 50\n }\n}" note: false timertriggers: [] ignoreworker: false '2': id: '2' taskid: e81ff2cb-4039-47a8-8b20-0fc08cc0510f type: condition task: id: e81ff2cb-4039-47a8-8b20-0fc08cc0510f version: -1 name: Check if Event matches the condition description: Check for incident name matching event criteria type: condition iscommand: false brand: '' nexttasks: '#default#': - '13' 'yes': - '15' separatecontext: false conditions: - label: 'yes' condition: - - operator: startWith left: value: simple: incident.name iscontext: true right: value: simple: inputs.Incident Match iscontext: true view: "{\n \"position\": {\n \"x\": 275,\n \"y\": 370\n }\n}" note: false timertriggers: [] ignoreworker: false '5': id: '5' taskid: 2ac2e077-3171-4b73-8577-53fbc2ecefdd type: regular task: id: 2ac2e077-3171-4b73-8577-53fbc2ecefdd version: -1 name: Send the Manager email about the violation description: Send an email script: '|||send-mail' type: regular iscommand: true brand: '' nexttasks: '#none#': - '7' scriptarguments: additionalHeader: {} attachCIDs: {} attachIDs: {} attachNames: {} bcc: {} body: simple: ${incident.digitalguardianusername} has written ${incident.digitalguardianfilename} to removable media cc: {} htmlBody: {} raw_message: {} replyTo: {} subject: simple: Removable Media Policy Violation templateParams: {} to: complex: root: UserManagerEmail transientFile: {} transientFileCID: {} transientFileContent: {} separatecontext: false view: "{\n \"position\": {\n \"x\": 910,\n \"y\": 1420\n }\n}" note: false timertriggers: [] ignoreworker: false '7': id: '7' taskid: b20c5d85-4db6-4b50-80ee-0fee65435bcf type: regular task: id: b20c5d85-4db6-4b50-80ee-0fee65435bcf version: -1 name: Close incident description: commands.local.cmd.close.inv script: Builtin|||closeInvestigation type: regular iscommand: true brand: Builtin nexttasks: '#none#': - '21' scriptarguments: assetid: {} closeNotes: {} closeReason: {} emailclassification: {} id: simple: ${incident.id} phishingsubtype: {} separatecontext: false view: "{\n \"position\": {\n \"x\": 1125,\n \"y\": 1595\n }\n}" note: false timertriggers: [] ignoreworker: false '11': id: '11' taskid: fcb0832b-09cc-49b1-8c8b-c0dfe81b4329 type: condition task: id: fcb0832b-09cc-49b1-8c8b-c0dfe81b4329 version: -1 name: Found user in AD description: Check if we found the user in Active Directory type: condition iscommand: false brand: '' nexttasks: '#default#': - '19' 'yes': - '12' - '16' separatecontext: false conditions: - label: 'yes' condition: - - operator: isNotEmpty left: value: simple: ActiveDirectory.Users.sAMAccountName iscontext: true view: "{\n \"position\": {\n \"x\": 1022.5,\n \"y\": 720\n }\n}" note: false timertriggers: [] ignoreworker: false '12': id: '12' taskid: fdcfdd25-f8c2-48d8-8e77-854e26a9046c type: regular task: id: fdcfdd25-f8c2-48d8-8e77-854e26a9046c version: -1 name: Add user to the DG Watchlist description: Add User to Watchlist Entry script: Digital Guardian|||digitalguardian-add-watchlist-entry type: regular iscommand: true brand: Digital Guardian nexttasks: '#none#': - '7' scriptarguments: watchlist_entry: simple: ${inputs.User Name} watchlist_name: simple: ${inputs.Watchlist Name} separatecontext: false view: "{\n \"position\": {\n \"x\": 480,\n \"y\": 1420\n }\n}" note: false timertriggers: [] ignoreworker: false '13': id: '13' taskid: 7906cccb-e7b6-4372-894f-d97567ee8435 type: regular task: id: 7906cccb-e7b6-4372-894f-d97567ee8435 version: -1 name: Manually handle other alert type description: This alert is different from the one configured in this playbook to automatically investigate, please handle manually. type: regular iscommand: false brand: '' nexttasks: '#none#': - '7' separatecontext: false view: "{\n \"position\": {\n \"x\": 50,\n \"y\": 1420\n }\n}" note: false timertriggers: [] ignoreworker: false '14': id: '14' taskid: ba0e57ca-65e6-4208-87fc-b26781eade5d type: playbook task: id: ba0e57ca-65e6-4208-87fc-b26781eade5d version: -1 name: Active Directory - Get User Manager Details playbookName: Active Directory - Get User Manager Details type: playbook iscommand: false brand: '' description: '' nexttasks: '#none#': - '17' scriptarguments: UserEmail: {} Username: complex: root: inputs.User Name separatecontext: true loop: iscommand: false exitCondition: '' wait: 1 view: "{\n \"position\": {\n \"x\": 1125,\n \"y\": 1070\n }\n}" note: false timertriggers: [] ignoreworker: false '15': id: '15' taskid: 653b480f-1a20-4bc3-8bb1-368a0ccb6730 type: playbook task: id: 653b480f-1a20-4bc3-8bb1-368a0ccb6730 version: -1 name: Account Enrichment - Generic v2.1 playbookName: Account Enrichment - Generic v2.1 type: playbook iscommand: false brand: '' description: '' nexttasks: '#none#': - '11' scriptarguments: Username: complex: root: inputs.User Name transformers: - operator: uniq separatecontext: true loop: iscommand: false exitCondition: '' wait: 1 view: "{\n \"position\": {\n \"x\": 1022.5,\n \"y\": 545\n }\n}" note: false timertriggers: [] ignoreworker: false '16': id: '16' taskid: 77aa8463-497e-499c-8eb0-28512cc8f4c0 type: condition task: id: 77aa8463-497e-499c-8eb0-28512cc8f4c0 version: -1 name: Shall we notify the manager? type: condition iscommand: false brand: '' description: '' nexttasks: '#default#': - '7' 'yes': - '14' separatecontext: false conditions: - label: 'yes' condition: - - operator: isEqualString left: value: simple: inputs.Notify Manager iscontext: true right: value: simple: 'true' ignorecase: true view: "{\n \"position\": {\n \"x\": 1237.5,\n \"y\": 895\n }\n}" note: false timertriggers: [] ignoreworker: false '17': id: '17' taskid: c1efa71f-e72d-4eff-83fe-e3d08d105438 type: condition task: id: c1efa71f-e72d-4eff-83fe-e3d08d105438 version: -1 name: Is User's Manager email found? description: Check if User's Manager email is found type: condition iscommand: false brand: '' nexttasks: '#default#': - '18' 'yes': - '5' separatecontext: false conditions: - label: 'yes' condition: - - operator: isNotEmpty left: value: simple: UserManagerEmail iscontext: true view: "{\n \"position\": {\n \"x\": 1125,\n \"y\": 1245\n }\n}" note: false timertriggers: [] ignoreworker: false '18': id: '18' taskid: 26f9cbac-cd35-42a3-8886-eb06dc816813 type: regular task: id: 26f9cbac-cd35-42a3-8886-eb06dc816813 version: -1 name: Manually Notify Manager description: "User's Manager email not found: please manually notify the user's\ \ manager" type: regular iscommand: false brand: '' nexttasks: '#none#': - '7' separatecontext: false view: "{\n \"position\": {\n \"x\": 1340,\n \"y\": 1420\n }\n}" note: false timertriggers: [] ignoreworker: false '19': id: '19' taskid: ffb165b3-1945-4aab-8c2b-910d3deb10e3 type: regular task: id: ffb165b3-1945-4aab-8c2b-910d3deb10e3 version: -1 name: Manually Investigate description: The Digital Guardian integration is not enabled, or the User was not found in Active Directory, investigate manually and handle the issue. type: regular iscommand: false brand: '' nexttasks: '#none#': - '7' separatecontext: false view: "{\n \"position\": {\n \"x\": 1790,\n \"y\": 895\n }\n}" note: false timertriggers: [] ignoreworker: false '20': id: '20' taskid: 65e5d731-6a38-49ca-8c74-115c591fedb5 type: condition task: id: 65e5d731-6a38-49ca-8c74-115c591fedb5 version: -1 name: Is Digital Guardian Enabled? description: Is Digital Guardian integration enabled? type: condition iscommand: false brand: '' nexttasks: '#default#': - '19' 'yes': - '2' separatecontext: false conditions: - label: 'yes' condition: - - operator: isExists left: value: complex: root: modules filters: - - operator: isEqualString left: value: simple: modules.brand iscontext: true right: value: simple: Digital Guardian - - operator: isEqualString left: value: simple: modules.state iscontext: true right: value: simple: active iscontext: true view: "{\n \"position\": {\n \"x\": 1022.5,\n \"y\": 195\n }\n}" note: false timertriggers: [] ignoreworker: false '21': id: '21' taskid: bcbdd941-c197-4b41-8533-54f048b867b0 type: title task: id: bcbdd941-c197-4b41-8533-54f048b867b0 version: -1 name: Done type: title iscommand: false brand: '' description: '' separatecontext: false view: "{\n \"position\": {\n \"x\": 1125,\n \"y\": 1770\n }\n}" note: false timertriggers: [] ignoreworker: false view: "{\n \"linkLabelsPosition\": {\n \"20_2_yes\": 0.41\n },\n \"paper\":\ \ {\n \"dimensions\": {\n \"height\": 1785,\n \"width\": 2120,\n \ \ \"x\": 50,\n \"y\": 50\n }\n }\n}" inputs: - key: User Name value: simple: ${incident.digitalguardianusername} required: true description: User Name to check - key: Watchlist Name value: simple: DLP-USB-USERS required: true description: The name of the DG watchlist to add the user to. - key: Incident Match value: simple: DLP1008 required: true description: The incident name should contain this string in order for the playbook to handle the event. The default is DLP1008 which is a USB Exfiltration event. - key: Notify Manager value: simple: 'true' required: false description: Notify User's Manager outputs: [] sourceplaybookid: 20bb2629-4467-456f-8d20-c89e17842fa7 fromversion: 5.0.0 tests: - No tests