🦀 Network Security Monitor

Rust Python MongoDB Streamlit LLM

🎯 Project Overview

Demo Screenshot

#rust #security #privacy #ai #crossplatform #mongodb #streamlit #llm

A privacy-first network security monitoring tool that analyzes your local network traffic for potential security threats. Built with Rust for performance and reliability, featuring AI-powered threat detection while keeping your data private.

Key Features

  • 🔒 Privacy-First Design: Only analyzes metadata, not packet contents
  • 🚀 High-Performance: Written in Rust for blazing-fast packet processing
  • 🤖 AI-Powered Insights: LLM-based threat analysis without exposing sensitive data
  • 📊 Real-Time Dashboard: Built with Streamlit and async MongoDB integration
  • 🌐 Cross-Platform: Works on Linux, macOS, and Windows
  • 💻 On-Device Processing: All analysis happens locally except for anonymized LLM queries

Component Diagram

Architecture Diagram

🏗️ Technical Achievements

  • Rust Implementation: Learned and implemented core networking functionality in Rust
  • Async Streamlit: Successfully integrated async MongoDB operations with Streamlit
  • Privacy-Preserving Design: Developed a secure architecture that respects user privacy
  • Cross-Platform Networking: Handled platform-specific network capture requirements
  • Real-Time Processing: Efficient packet processing and analysis pipeline

🚀 Getting Started

Quick Start

Unix/MacOS

# Clone the repository
git clone https://github.com/nichoc0/ConUHacks2025

Windows

# Clone the repository
git clone https://github.com/nichoc0/ConUHacks2025


Manual Setup

If you prefer to set up manually:

# Install Rust dependencies
cargo build

# Install Python dependencies
pip install -r requirements.txt

# Start MongoDB (required for event storage)
mongod

# Run the Rust backend
cargo run

# Launch the dashboard
streamlit run streamlit_dashboard.py

🔒 Legal & Privacy

This tool is designed for monitoring your own network traffic only. By default, it operates in non-promiscuous mode, capturing only your machine's traffic to ensure legal compliance. The promiscuous mode toggle should only be used in environments where you have explicit permission to monitor network traffic.

Privacy Features

  • Only metadata is analyzed, never packet contents
  • All processing happens on your device
  • LLM queries are anonymized and contain no identifying information
  • Local MongoDB storage with configurable retention

🛠️ Technical Architecture

Core Components

  • Packet Capture: Rust-based packet sniffing
  • Threat Detection: - Pattern recognition of common threats
  • Event Storage: Local MongoDB with async operations
  • Dashboard: Streamlit interface with real-time updates

💡 Challenges & Learning

  • Rust Learning Curve: Overcame not knowing any Rust
  • Async Integration: Successfully overcame Streamlit's flawed async handling with async MongoDB
  • Privacy Design: Balanced security insights with data privacy

📈 Future Development

  • Implement additional threat detection patterns
  • Add support for custom detection rules
  • Enhance LLM-based analysis capabilities
  • Expand visualization options in the dashboard

👥 Team

Team Member Role GitHub
Nicholas Backend & Database @nichoc0
Kristen LLM Integration @kp-automata
Minh Frontend & System Design @vibqetowi
Larry Documentation @larry

🤝 Contributing

Contributions are welcome! Please read our Contributing Guidelines and Code of Conduct.

📜 License

This project is licensed under the GPL 3.0 License - see the LICENSE file for details.


Built with ❤️ during ConUHacks 2025

Built With

Share this project:

Updates