> For the complete documentation index, see [llms.txt](https://riteshs4hu.gitbook.io/infosec-notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://riteshs4hu.gitbook.io/infosec-notes/reconnaissance/active-reconnaissance-approach/projectdiscovery-tools/chaos.md).

# Chaos

ProjectDiscovery Chaos is a crowdsourced attack surface management platform that provides a continuously updated list of subdomains for bug bounty and security research. It is particularly useful for security professionals, pentesters, and bug bounty hunters to expand their reconnaissance scope.

#### 🔗 **Official Links**

* **GitHub Repository**: [Chaos Client](https://github.com/projectdiscovery/chaos-client)
* **Chaos Platform**: [Chaos by ProjectDiscovery](https://chaos.projectdiscovery.io/)

***

### **Why Use Chaos?**

* Free and open-source subdomain enumeration tool.
* Provides a continuously updated dataset from bug bounty programs.
* Helps in reconnaissance and asset discovery.

***

### **Installation & Setup**

* You can install **Chaos Client** using **Go**:

  ```bash
  go install -v github.com/projectdiscovery/chaos-client/cmd/chaos@latest
  ```

Or manually clone and build:

```bash
git clone https://github.com/projectdiscovery/chaos-client.git
cd chaos-client/cmd/chaos
go build
```

* To make `chaos` globally accessible:

  ```bash
  sudo cp ~/go/bin/chaos /usr/local/bin
  ```
* Verify installation:

  ```bash
  chaos -h
  ```

***

### **Usage Examples**

* **To fetch subdomains for a target domain:**

  ```bash
  chaos -d example.com -key <API_KEY>
  ```

To get an API key, sign up at [PDCP (ProjectDiscovery Cloud Platform)](https://cloud.projectdiscovery.io/sign-up).

* **Fetch Subdomains for a Domain & Save to a File**

  ```bash
  chaos -d tesla.com -key <API_KEY> -o tesla-subdomains.txt
  ```
* **Check Statistics for a Domain**

  ```bash
  chaos -d tesla.com -key <API_KEY> -count
  ```
* **Run in Silent Mode (Only Output Subdomains)**

  ```bash
  chaos -d tesla.com -key <API_KEY> -silent
  ```
* **Process Multiple Domains from a File**

  ```bash
  chaos -dL domains.txt -key <API_KEY>
  ```
* **Output JSON Format**

  ```bash
  chaos -d tesla.com -key <API_KEY> -json
  ```
* **Update Chaos Client**

  ```bash
  chaos -update
  ```

***

### **Using Chaos Without an API Key**

If you don’t have an API key, you can still access **Chaos data** using a Python script.

### **Get Chaos Data (Without API Key)**

A great alternative is the **Get Chaos Data** script by [InfoSecWarrior](https://github.com/InfoSecWarrior/Offensive-Pentesting-Scripts/tree/main/Get-Chaos-Data).

**Installation**:

```bash
wget https://raw.githubusercontent.com/InfoSecWarrior/Offensive-Pentesting-Scripts/main/Get-Chaos-Data/chaos-data-get.py
```

**Prerequisites**:\
Ensure you have **Python 3** installed along with the following modules:

```bash
pip install argparse os shutil zipfile json requests
```

**Usage Examples**:

* **Download URLs from HackerOne Programs**

  ```bash
  python chaos-data-get.py -p hackerone
  ```
* **Download Only Programs with Bounties**

  ```bash
  python chaos-data-get.py -p hackerone -b true
  ```
* **Download All Chaos Data**

  ```bash
  python chaos-data-get.py -a
  ```
* **Download from a Specific Program**

  ```bash
  python chaos-data-get.py -n Adobe
  ```
