Metadata-Version: 2.4
Name: nebula-ai
Version: 2.0.0
Summary: AI-Powered Ethical Hacking Assistant
License: BSD
License-File: LICENSE.md
Keywords: AI,ethical hacking,nmap,zap,crackmapexec
Author: David I
Author-email: david@berylliumsec.com
Requires-Python: >=3.10,<=3.13.9
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Provides-Extra: flash
Requires-Dist: Cython
Requires-Dist: Faker
Requires-Dist: IPython (>=8,<9)
Requires-Dist: PyQt6
Requires-Dist: Pygments
Requires-Dist: Whoosh
Requires-Dist: accelerate
Requires-Dist: boto3
Requires-Dist: chromadb
Requires-Dist: ddgs (>=9.13.0,<10)
Requires-Dist: duckduckgo-search
Requires-Dist: fastapi (>=0.135.3,<1)
Requires-Dist: h5py (>=3.16.0,<4)
Requires-Dist: jq
Requires-Dist: langchain (>=1.2.15,<2)
Requires-Dist: langchain-classic (>=1.0.3,<2)
Requires-Dist: langchain-community (>=0.4,<1)
Requires-Dist: langchain-core (>=1.2.22,<2)
Requires-Dist: langchain-experimental (>=0.4,<1)
Requires-Dist: langchain-huggingface (>=1.2.1,<2)
Requires-Dist: langchain_chroma (>=1.1.0,<2)
Requires-Dist: langchain_ollama (>=1.0.1,<2)
Requires-Dist: langchain_openai (>=1.1.12,<2)
Requires-Dist: numba (>=0.63,<1)
Requires-Dist: numpy (>=2.1,<3)
Requires-Dist: ollama
Requires-Dist: opencv-python
Requires-Dist: pexpect (>=4.9.0,<5.0.0)
Requires-Dist: prompt_toolkit
Requires-Dist: psutil
Requires-Dist: pydantic
Requires-Dist: qdarkstyle
Requires-Dist: regex
Requires-Dist: requests
Requires-Dist: sentence-transformers
Requires-Dist: setuptools (>=78.1.1)
Requires-Dist: spacy (>=3.8.14,<4)
Requires-Dist: thinc (>=8.3.13,<9)
Requires-Dist: tiktoken
Requires-Dist: toml
Requires-Dist: torch (>=2.8.0,<3)
Requires-Dist: transformers (>=4.53.0,<5)
Requires-Dist: typing-extensions
Requires-Dist: unstructured (>=0.17,<0.21)
Requires-Dist: uvicorn
Requires-Dist: websockets
Project-URL: Homepage, https://github.com/berylliumsec/nebula
Description-Content-Type: text/markdown

# Nebula – AI-Powered Penetration Testing Assistant

Nebula is an advanced, AI-powered penetration testing open-source tool that revolutionizes penetration testing by integrating state-of-the-art AI models into your command-line interface. Designed for cybersecurity professionals, ethical hackers, and developers, Nebula automates vulnerability assessments and enhances security workflows with real-time insights and automated note-taking.


![Nebula AI-Powered Penetration Testing CLI Interface](/images/Nebula.png)

## Acknowledgement

**First i would like to thank the All-Mighty God who is the source of all knowledge, without Him, this would not be possible.**

## News

Introducing the Deep Application Profiler (DAP). DAP uses neural networks to analyze an executable's internal structure and intent, rather than relying on traditional virus signatures. This approach enables it to detect new, zero-day malware that conventional methods often miss. DAP also provides detailed breakdowns for rapid analyst review and is available as both a web service and an API. [Learn More Here](https://berylliumsec.com/malware-analysis)


## Nebula: AI-Powered Penetration Testing Platform

Nebula is a cutting-edge, AI-powered penetration testing tool designed for cybersecurity professionals and ethical hackers. It integrates both hosted models available through the OpenAI API and open-source models such as Meta's Llama-3.1-8B-Instruct, Mistral AI's Mistral-7B-Instruct-v0.2, and DeepSeek-R1-Distill-Llama-8B directly into the command line interface (CLI). By leveraging these state-of-the-art models, Nebula not only enhances vulnerability assessments and penetration testing workflows but also supports any tool that can be invoked from the CLI.


## Installation

**System Requirements:**

For CPU-Based Inference(Ollama)(Note that Ollama Supports GPU too):
- At least 16GB of RAM 
- Python 3.10 – 3.13.9
- [Ollama](https://ollama.com/)

**Installation Command:**
```bash
python -m pip install nebula-ai --upgrade
```


## Running Nebula

**Important:** 


**Ollama Local Model Based Usage**

[Install Ollama](https://ollama.com/download/mac) and download your preferred models for example

```bash
 ollama pull mistral
```
Then enter the model's exact name as it appears in Ollama in the engagement settings.

**OpenAI Models Usage**

To use OpenAI models, add your API keys to your env like so

```bash
export OPENAI_API_KEY="sk-blah-blaj"
```

Then enter the OpenAI model's exact name in the engagement settings.


Run nebula

```
nebula
```

**Using docker**

First allow local connections to your X server:

```bash
xhost +local:docker
```

```bash
docker run --rm -it   -e DISPLAY=$DISPLAY   -v /home/YOUR_HOST_NAME/.local/share/nebula/logs:/root/.local/share/nebula/logs -v YOUR_ENGAGEMENT_FOLDER_ON_HOST_MACHINE:/engagements -v /tmp/.X11-unix:/tmp/.X11-unix   berylliumsec/nebula:latest
```
### Interacting with the models. 

To interact with the models, begin your input with a `!` or use the AI/Terminal button to switch between modes. For example: `! write a python script to scan the ports of a remote system` the "!" is not needed if you use the context button

## Key Features

- **AI-Powered Internet Search via agents:**  
  Enhance responses by integrating real-time, internet-sourced context to keep you updated on cybersecurity trends. "whats in the news on cybersecurity today"
  
- **AI-Assisted Note-Taking:**  
  Automatically record and categorize security findings.

- **Real-Time AI-Driven Insights:**  
  Get immediate suggestions for discovering and exploiting vulnerabilities based on terminal tool outputs.

- **Enhanced Tool Integration:**  
  Seamlessly import data from external tools for AI-powered note-taking and advice.

- **Integrated Screenshot & Editing:**  
  Capture and annotate images directly within Nebula for streamlined documentation.

- **Manual Note-Taking & Automatic Command Logging:**  
  Maintain a detailed log of your actions and findings with both automated and manual note-taking features.
  
- **Status feed:**  
  This panel displays your most recent penetration testing activities, it refreshes every five minutes


### Roadmap

- Create custom models that are more useful for penetration testing

### Troubleshooting

Logs are located at `/home/[your_username]/.local/share/nebula/logs`. You would most likely find the reason for the error in one of those logs

## Get More Support

- Have questions or need help? [Open an Issue](https://github.com/berylliumsec/nebula/issues) on GitHub.

