Metadata-Version: 2.1
Name: cyberguard-sdk
Version: 1.0.0
Summary: Open source, AI-driven cybersecurity SDK for system analysis, actor identification, autonomous threat detection, analysis and mitigation.
Home-page: https://github.com/kishoraditya/cyberguard-sdk
Author: Kishoraditya
Author-email: kishoradityasc@gmail.com
License: CC BY-NC 4.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Security
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: altair ==4.2.2
Requires-Dist: annotated-types ==0.7.0
Requires-Dist: anyio ==4.6.0
Requires-Dist: asttokens ==2.4.1
Requires-Dist: attrs ==24.2.0
Requires-Dist: blinker ==1.8.2
Requires-Dist: cachetools ==5.5.0
Requires-Dist: certifi ==2024.8.30
Requires-Dist: charset-normalizer ==3.3.2
Requires-Dist: click ==8.1.7
Requires-Dist: colorama ==0.4.6
Requires-Dist: contourpy ==1.3.0
Requires-Dist: cycler ==0.12.1
Requires-Dist: decorator ==5.1.1
Requires-Dist: distro ==1.9.0
Requires-Dist: entrypoints ==0.4
Requires-Dist: exceptiongroup ==1.2.2
Requires-Dist: executing ==2.1.0
Requires-Dist: fonttools ==4.54.1
Requires-Dist: gitdb ==4.0.11
Requires-Dist: GitPython ==3.1.43
Requires-Dist: google-ai-generativelanguage ==0.6.10
Requires-Dist: google-api-core ==2.20.0
Requires-Dist: google-api-python-client ==2.147.0
Requires-Dist: google-auth ==2.35.0
Requires-Dist: google-auth-httplib2 ==0.2.0
Requires-Dist: google-generativeai ==0.8.2
Requires-Dist: googleapis-common-protos ==1.65.0
Requires-Dist: grpcio ==1.66.2
Requires-Dist: grpcio-status ==1.44.0
Requires-Dist: h11 ==0.14.0
Requires-Dist: httpcore ==1.0.5
Requires-Dist: httplib2 ==0.22.0
Requires-Dist: httpx ==0.27.2
Requires-Dist: idna ==3.10
Requires-Dist: importlib-metadata ==8.5.0
Requires-Dist: importlib-resources ==6.4.5
Requires-Dist: ipython ==8.18.1
Requires-Dist: jedi ==0.19.1
Requires-Dist: Jinja2 ==3.1.4
Requires-Dist: jiter ==0.5.0
Requires-Dist: joblib ==1.4.2
Requires-Dist: jsonpickle ==3.3.0
Requires-Dist: jsonschema ==4.23.0
Requires-Dist: jsonschema-specifications ==2023.12.1
Requires-Dist: kiwisolver ==1.4.7
Requires-Dist: markdown-it-py ==3.0.0
Requires-Dist: MarkupSafe ==2.1.5
Requires-Dist: matplotlib ==3.9.2
Requires-Dist: matplotlib-inline ==0.1.7
Requires-Dist: mdurl ==0.1.2
Requires-Dist: narwhals ==1.8.4
Requires-Dist: neo4j ==5.25.0
Requires-Dist: networkx ==3.2.1
Requires-Dist: numpy ==2.0.2
Requires-Dist: openai ==1.50.2
Requires-Dist: packaging ==24.1
Requires-Dist: pandas ==2.2.3
Requires-Dist: parso ==0.8.4
Requires-Dist: pillow ==10.4.0
Requires-Dist: prompt-toolkit ==3.0.48
Requires-Dist: proto-plus ==1.24.0
Requires-Dist: protobuf ==3.20.3
Requires-Dist: psutil ==6.0.0
Requires-Dist: pure-eval ==0.2.3
Requires-Dist: pyarrow ==17.0.0
Requires-Dist: pyasn1 ==0.6.1
Requires-Dist: pyasn1-modules ==0.4.1
Requires-Dist: pydantic ==2.9.2
Requires-Dist: pydantic-core ==2.23.4
Requires-Dist: pydeck ==0.9.1
Requires-Dist: Pygments ==2.18.0
Requires-Dist: Pympler ==1.1
Requires-Dist: pyparsing ==3.1.4
Requires-Dist: python-dateutil ==2.9.0.post0
Requires-Dist: pytz ==2024.2
Requires-Dist: pyvis ==0.3.2
Requires-Dist: pywin32 ==306
Requires-Dist: PyYAML ==6.0.2
Requires-Dist: referencing ==0.35.1
Requires-Dist: requests ==2.32.3
Requires-Dist: rich ==13.8.1
Requires-Dist: rpds-py ==0.20.0
Requires-Dist: rsa ==4.9
Requires-Dist: scikit-learn ==1.5.2
Requires-Dist: scipy ==1.13.1
Requires-Dist: seaborn ==0.13.2
Requires-Dist: semver ==3.0.2
Requires-Dist: six ==1.16.0
Requires-Dist: smmap ==5.0.1
Requires-Dist: sniffio ==1.3.1
Requires-Dist: stack-data ==0.6.3
Requires-Dist: streamlit ==1.12.0
Requires-Dist: threadpoolctl ==3.5.0
Requires-Dist: toml ==0.10.2
Requires-Dist: toolz ==0.12.1
Requires-Dist: tornado ==6.4.1
Requires-Dist: tqdm ==4.66.5
Requires-Dist: traitlets ==5.14.3
Requires-Dist: typing ==3.7.4.3
Requires-Dist: typing-extensions ==4.12.2
Requires-Dist: tzdata ==2024.2
Requires-Dist: tzlocal ==5.2
Requires-Dist: uritemplate ==4.1.1
Requires-Dist: urllib3 ==2.2.3
Requires-Dist: validators ==0.34.0
Requires-Dist: watchdog ==5.0.3
Requires-Dist: wcwidth ==0.2.13
Requires-Dist: zipp ==3.20.2

# **README.md**

## **Cybersecurity Monitoring SDK**

### **Overview**

The Cybersecurity Monitoring SDK is a Python-based tool designed to analyze system processes, detect anomalies, and visualize data through a user-friendly dashboard. It leverages system monitoring libraries, a graph database, machine learning models, and AI-powered explanations to provide insights into your system's security posture.

### **Features**

- **System Analysis:**
  - Collects data on running processes, network connections, users, and open files.
- **Anomaly Detection:**
  - Uses Isolation Forest algorithm to identify anomalous processes based on resource usage.
- **Graph Database Integration:**
  - Stores and manages data using Neo4j for efficient querying and relationship mapping.
- **AI Assistant:**
  - Generates explanations for anomalies using the Gemini AI API.
- **Interactive Dashboard:**
  - Visualizes data and anomalies using Streamlit for easy monitoring.

### **Prerequisites**

- Python 3.7 or higher
- Neo4j Graph Database
- Gemini AI API Key (from Google AI Studio)

### **Installation**

1. **Clone the Repository:**

   ```bash
   git clone https://github.com/kishoraditya/cybersec_sdk.git
   cd cybersec_sdk
   ```

2. **Install Dependencies:**

   ```bash
   pip install -r requirements.txt
   ```

3. **Set Up Neo4j:**

   - Download and install Neo4j Desktop or Community Edition.
   - Start the Neo4j server and set your username and password.

4. **Configure Environment Variables:**

   ```bash
   export NEO4J_URI=bolt://localhost:7687
   export NEO4J_USER=neo4j
   export NEO4J_PASSWORD=your_neo4j_password
   export API_KEY=your_gemini_api_key
   ```

### **Usage**

1. **Run the Main Script:**

   ```bash
   python example_usage.py
   ```

2. **Launch the Dashboard:**

   If not automatically opened, run:

   ```bash
   streamlit run example_usage.py
   ```

3. **Explore the Dashboard:**

   - Access the dashboard at `http://localhost:8501`.
   - View total processes, users, and anomalous processes.
   - Examine detailed explanations for each anomaly.

### **Customization**

- **Adjust Anomaly Detection:**
  - Modify `ml_models.py` to fine-tune the Isolation Forest parameters.
- **Update Data Collection:**
  - Edit `analyzer.py` to collect additional system metrics.
- **Enhance the Dashboard:**
  - Customize `ui.py` to improve the user interface and add new features.

### **Contributing**

Contributions are welcome! Please submit a pull request or open an issue to discuss changes.

### **License**

Refer to the LICENSE file

---
