| title | emoji | colorFrom | colorTo | sdk | sdk_version | app_file | pinned | python_version |
|---|---|---|---|---|---|---|---|---|
Shadow Log |
📊 |
green |
indigo |
streamlit |
1.42.2 |
app.py |
false |
3.11.11 |
You can try ShadowLog online at our Hugging Face demo: https://huggingface.co/spaces/berangerthomas/shadowlog
Because attacks hide… but your logs don't.
ShadowLog is a powerful Streamlit-based application designed to simplify and enhance log file analysis. Whether you're debugging an application, monitoring system performance, or investigating security incidents, ShadowLog provides the tools you need to efficiently process and extract insights from your log data.
- 📁 Log File Upload & Parsing: Upload and process log files with automatic parsing and filtering
- 📈 Statistical Analysis: Get comprehensive statistics and insights about your log data
- 🔍 Advanced Data Visualization: Interactive charts and graphs to spot patterns and anomalies
- 🔎 Powerful Filtering: Filter logs by time, action type, port ranges, and more
- 🤖 AI-Powered Analytics: Machine learning clustering to identify patterns and anomalies
- Docker installed on your system
If you have a prebuilt "shadowlog.tar" Docker image, you can load and run it as follows:
- Load the image:
docker load -i shadowlog.tar
- Verify the image name (usually "shadowlog") by running:
docker images
- Run the container:
docker run -p 8501:8501 shadowlog
- Navigate to:
http://localhost:8501
-
Clone the repository:
git clone https://github.com/berangerthomas/ShadowLog.git cd ShadowLog -
Build the Docker image:
docker build -t shadowlog . -
Run the container:
docker run -p 8501:8501 shadowlog
-
Open your browser and navigate to:
http://localhost:8501
If you prefer not to use Docker:
-
Clone the repository:
git clone https://github.com/yourusername/ShadowLog.git cd ShadowLog -
Install the required packages:
pip install -r requirements.txt
-
Run the application:
streamlit run app.py
- Upload Log Files: Navigate to the Upload section and upload your log files
- Analyze Data: Use the Statistics section to get an overview of your log data
- Visualize Patterns: Explore visualizations in the Analyze section
- Detect Anomalies: Check the Alerts section for potential security issues
- Apply AI Analysis: Use the Analytics section for advanced pattern detection
ShadowLog currently supports only one log format, describe on the "Upload" page :
| Column name | timestamp | ipsrc | ipdst | protocole | portsrc | portdst | rule | action | interface | unknown | fw |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Format | YYYY-MM-DD HH:MM:SS | str | str | str | int | int | int | str | str | str | int |
ShadowLog is built with:
- Python 3.11+
- Streamlit for the web interface
- Polars and Pandas for high-performance data processing
- Plotly for interactive visualizations
- scikit-learn for machine learning capabilities
Contributions are welcome! To contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/new-feature) - Commit your changes (
git commit -m 'Add new feature') - Push to the branch (
git push origin feature/new-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Nancy Randriamiarijaona
- Cyril Kocab
- Béranger Thomas