🦀 Network Security Monitor
🎯 Project Overview

#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

🏗️ 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

Log in or sign up for Devpost to join the conversation.