Skip to content

Kishoraditya/cybersec_sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

    git clone https://github.com/kishoraditya/cybersec_sdk.git
    cd cybersec_sdk
  2. Install Dependencies:

    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:

    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:

    python example_usage.py
  2. Launch the Dashboard:

    If not automatically opened, run:

    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


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published