> For the complete documentation index, see [llms.txt](https://docs.expel.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.expel.io/workbench-setup/auto-remediations/contain-hosts/broadcom-carbon-black-cloud-contain-hosts.md).

# Broadcom Carbon Black Cloud: Contain Hosts

This guide helps you set up your Broadcom Carbon Black Cloud device and grant necessary permissions so that you can enable the Contain Hosts auto remediation in Workbench.

*This guide is the first step of a larger process to enable auto remediations. After completing the steps on this page, you will be instructed to return to the* [*Enable an Auto Remediation in Workbench*](/workbench-setup/auto-remediations/enable-an-auto-remediation-in-workbench.md) *guide to finish your setup.*

## How It Works <a href="#h_01jgydp2j2h80jh6z0z91at9ne" id="h_01jgydp2j2h80jh6z0z91at9ne"></a>

If our SOC identifies a host that must be contained, Workbench completes the action automatically. You have the option to restrict these actions to specific hosts by configuring an allow or deny list (the hosts must first be added as context, and then the list can be configured in Workbench; see [Step 2](#h_01jh5zhtqthkyym38xnhr25vgj)).

### Endpoints Used <a href="#h_01kcq58zyx8ybb32hecxz7qhhp" id="h_01kcq58zyx8ybb32hecxz7qhhp"></a>

**Carbon Black Cloud Device Actions API**

`appservices/v6`, full quarantine

<table><thead><tr><th width="123.40625">Method</th><th>Endpoint</th><th>Purpose</th></tr></thead><tbody><tr><td>POST</td><td><code>appservices/v6/orgs/{org_key}/devices/_search</code></td><td>Look up the device by hostname to resolve its ID</td></tr><tr><td>GET</td><td><code>appservices/v6/orgs/{org_key}/devices/{deviceId}</code></td><td>Pre-check: read the <code>quarantined</code> state</td></tr><tr><td>POST</td><td><code>appservices/v6/orgs/{org_key}/device_actions</code></td><td>Quarantine the device (<code>action_type</code> is  <code>QUARANTINE</code>, <code>toggle</code> is <code>true</code>)</td></tr><tr><td>GET</td><td><code>appservices/v6/orgs/{org_key}/devices/{deviceId}</code></td><td>Check to make sure the device was quarantined</td></tr></tbody></table>

Revert (release): same `device_actions` call with the `toggle` set to `false`.

## Step 1: Allow Appropriate Permissions in Your EDR Console <a href="#h_01jh5zgcgw8ekzjnfd2tzwjvat" id="h_01jh5zgcgw8ekzjnfd2tzwjvat"></a>

1. Make sure you assign all API permissions in the [Broadcom Carbon Black Cloud Setup for Workbench](/connect-your-technology/a-c-integrations/broadcom/broadcom-carbon-black-cloud-formerly-cb-threathunter-and-cb-defense-setup-for-workbench.md) guide.
2. Enable the Quarantine permission for the Expel role.

   <div align="left"><figure><img src="https://2371323735-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F82234aPbNfd179j5U4ti%2Fuploads%2F0rtFgecRAxD8qJ7LBJTL%2Fpermissions_annoated.png?alt=media&amp;token=f7043d93-366c-4072-a97b-4cdf60b19078" alt="Expel Custom Role has the Quarantine permission enabled." width="375"><figcaption></figcaption></figure></div>

## Step 2: Update Your Context <a href="#h_01jh5zhtqthkyym38xnhr25vgj" id="h_01jh5zhtqthkyym38xnhr25vgj"></a>

**If you do not want to specify any hosts for a "do not contain" or "always contain" list, and instead wish for Expel to automatically contain&#x20;*****all*****&#x20;identified hosts, skip to** [**Step 3**](#h_01jgycgywj4m9tc7j443dvsmf1)**.**

Working with your Customer Success Manager, prepare to create an allow or deny list by adding hosts as [org context](/workbench-reference/expel-terminology.md#org-context) for your environment. You will then be able to select those hosts as "Never contain" or "Always contain" assets when you enable the auto remediation in Workbench. In this instance, the context update process is usually accomplished by sending us a .csv file.

{% hint style="info" %}
If our SOC identifies a host that must be contained and you have created either an allow ("Always contain") or deny ("Never contain") list in Workbench, any hosts falling outside of those parameters are assigned to you as actions rather than being contained automatically.
{% endhint %}

## Step 3: Return to the Main Setup Guide <a href="#h_01jgycgywj4m9tc7j443dvsmf1" id="h_01jgycgywj4m9tc7j443dvsmf1"></a>

Your Carbon Black Cloud device is now ready for the Contain Hosts auto remediation. You should now do one of the following:

* **If you do not need to set up any other devices for this auto remediation**, you can return to the [Enable an Auto Remediation in Workbench](/workbench-setup/auto-remediations/enable-an-auto-remediation-in-workbench.md) guide to finish Step 2 of the process.
* **If you need to set up additional devices for this auto remediation, or wish to use this device with multiple auto remediations**, be sure to [complete those setup guides as well](/workbench-setup/auto-remediations.md) before returning to the [Enable an Auto Remediation in Workbench](/workbench-setup/auto-remediations/enable-an-auto-remediation-in-workbench.md) guide to finish Step 2 of the process. *Make sure to follow the setup guide that is specific to your auto remediation, as device setup instructions are unique to each auto remediation and device.*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.expel.io/workbench-setup/auto-remediations/contain-hosts/broadcom-carbon-black-cloud-contain-hosts.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
