# pentest-ai - AI-Powered Pentesting Assistant

**pentest-ai** is a Python utility that leverages AI to assist with penetration testing tasks. Created by AKM Korishee Apurbo, it interactively guides users in building and executing pentesting commands on Kali Linux, featuring a vibrant CLI powered by Groq.

## Features

- **AI-Driven Guidance**: Interactively builds pentesting commands step-by-step using Groq’s AI.
- **Tool Support**: Works with tools like `nmap`, `sqlmap`, `hashid`, `hashcat`, and more.
- **Interactive Execution**: Executes commands in a new terminal window (e.g., `xterm`).
- **Colorful Interface**: Uses `colorama` and `pyfiglet` for a fun, animated experience with emojis 🌟.
- **API Key Management**: Set and store your Groq API key with a single command.

## Installation

To install **pentest-ai**, use the following command:

```bash
pip install pentest-ai
```

### Requirements
- Python 3.7+
- Dependencies: `groq`, `colorama`, `pyfiglet` (installed automatically)
- Groq API key (get one from [Groq](https://groq.com))
- Pentesting tools (e.g., `nmap`, `sqlmap`) installed on your system
- Terminal emulator like `xterm`

## Usage

### 1. Set Your Groq API Key

Before using the tool, set your API key:

```bash
pentest-ai --api "your_groq_api_key"
```

This saves the key to `~/.pentest_ai_config.json`.

### 2. Start the Pentesting Assistant

Run the tool to start the interactive assistant:

```bash
pentest-ai
```

It will display a colorful logo and prompt you for input:
```
[Animated "PenTest AI" logo]
AI Pentesting Chatbot 🎉 Powered by AKM Korishee Apurbo 🚀
Welcome to PenTest AI! 🎉 Type 'exit' to quit. 🚪
You 👤:
```

### 3. Interact with the Assistant

Type commands or questions (e.g., "scan a network", "identify a hash") to build and execute pentesting tasks.

## Example Commands

- Set the API key:
  ```bash
  pentest-ai --api "gsk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  ```

- Start the tool:
  ```bash
  pentest-ai
  ```

- Scan a network (interactive):
  ```bash
  pentest-ai
  You 👤: scan a network
  [Follow prompts to specify network]
  ```

- Identify a hash (interactive):
  ```bash
  pentest-ai
  You 👤: identify a hash
  [Follow prompts to provide hash]
  ```

## Example Output

### Scanning a Network
```
You 👤: scan a network
Korishee 🤖: COMMAND: nmap -sP <network>
Explanation 📝: This uses nmap to ping scan a network and find live hosts.
Korishee asks ❓: What network would you like to scan (e.g., 192.168.1.0/24)? 🌐
You 👤: 192.168.1.0/24
Korishee 🤖: COMMAND: nmap -sP 192.168.1.0/24
Command executed in a new terminal window! 🎉
```

### Identifying a Hash
```
You 👤: identify a hash
Korishee 🤖: COMMAND: hashid <hash>
Explanation 📝: This uses hashid to identify the type of a hash.
Korishee asks ❓: Please provide the hash you want to identify! 🔍
You 👤: 5f4dcc3b5aa765d61d8327deb882cf99
Korishee 🤖: COMMAND: hashid 5f4dcc3b5aa765d61d8327deb882cf99
Command executed in a new terminal window! 🎉
```

### Setting API Key
```
pentest-ai --api "gsk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
API key saved to ~/.pentest_ai_config.json! 🎉
```

## Options

- **`--api <key>`**: Set and save your Groq API key for the tool to use.

## License

This project is open-source and available under the MIT License.

---

**pentest-ai** is designed to make pentesting fun and efficient. Whether you’re scanning networks or cracking hashes, Korishee is your AI sidekick! 🌟 Questions? Reach out at `bandinvisible8@gmail.com`.
