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

---
