Open source, AI-driven cybersecurity SDK for system analysis, actor identification, autonomous threat detection, analysis and mitigation.
Project description
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
-
Clone the Repository:
git clone https://github.com/kishoraditya/cybersec_sdk.git cd cybersec_sdk
-
Install Dependencies:
pip install -r requirements.txt
-
Set Up Neo4j:
- Download and install Neo4j Desktop or Community Edition.
- Start the Neo4j server and set your username and password.
-
Configure Environment Variables:
export NEO4J_URI=bolt://localhost:7687 export NEO4J_USER=neo4j export NEO4J_PASSWORD=your_neo4j_password export API_KEY=your_gemini_api_key
Usage
-
Run the Main Script:
python example_usage.py -
Launch the Dashboard:
If not automatically opened, run:
streamlit run example_usage.py
-
Explore the Dashboard:
- Access the dashboard at
http://localhost:8501. - View total processes, users, and anomalous processes.
- Examine detailed explanations for each anomaly.
- Access the dashboard at
Customization
- Adjust Anomaly Detection:
- Modify
ml_models.pyto fine-tune the Isolation Forest parameters.
- Modify
- Update Data Collection:
- Edit
analyzer.pyto collect additional system metrics.
- Edit
- Enhance the Dashboard:
- Customize
ui.pyto improve the user interface and add new features.
- Customize
Contributing
Contributions are welcome! Please submit a pull request or open an issue to discuss changes.
License
Refer to the LICENSE file
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cyberguard_sdk-1.0.0.tar.gz.
File metadata
- Download URL: cyberguard_sdk-1.0.0.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
626795c390cd847e1040140e0617001d5826b94d380540f0d351a5d9bedc7252
|
|
| MD5 |
4bdf5af40991ea86b654c908a797dd4c
|
|
| BLAKE2b-256 |
1a559ce42e4f288b8041d868c4b3c7e9629b761303066d9bc62449de592e41db
|
File details
Details for the file cyberguard_sdk-1.0.0-py3-none-any.whl.
File metadata
- Download URL: cyberguard_sdk-1.0.0-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1487b1938236755eae4e30292dad7a4289e10938d5fb9fdc4e1db04cd188b18e
|
|
| MD5 |
3d7d3a4af81f08b32eb45b6953ce38db
|
|
| BLAKE2b-256 |
50d0321091e73307ae32b702f35cfec747feb0592bdd1654a52ee97629aeb7be
|