berangerthomas commited on
Commit
e9828a3
·
unverified ·
1 Parent(s): 2ab3545

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +99 -41
README.md CHANGED
@@ -10,63 +10,121 @@ pinned: false
10
  python_version: 3.11.11
11
  ---
12
 
13
- /* On-going work */
14
 
15
- Hugging Face demo : https://huggingface.co/spaces/berangerthomas/shadowlog
 
16
 
17
- # 🔐 ShadowLog
18
- **Because attacks hide… but your logs don’t.**
19
- *A Streamlit-Powered Cyber Threat Illuminator*
20
 
21
- ## 🕵️♂️ **Unmask the Invisible**
22
- ShadowLog transforms raw logs into a battlefield map against cyber threats. Designed for SOC teams, IT admins, and security hunters, it exposes hidden attack patterns before they escalate.
23
 
24
- ---
25
 
26
- ## 🚀 **Key Features**
27
- - 🔍 **Deep-Log Illumination** : Visualize log patterns across servers, firewalls, and endpoints.
28
- - ⚡ **Real-Time Threat Scoring** : AI-powered anomaly detection with severity alerts.
29
- - 🎯 **Attack Timeline Reconstruction** : Map multi-stage breaches like a digital detective.
30
- - 📊 **Custom Dashboards** : Build focused views for Zero-Day hunting, DDoS analysis, or insider threats.
31
- - 🛡️ **One-Click MITRE ATT&CK Tagging** : Automatically classify threats using the industry framework.
32
 
33
- ---
 
 
 
 
 
 
34
 
35
- ## 🛠️ **Getting Started**
36
 
37
- ### Prerequisites
38
- - Python 3.11+
39
- - Streamlit
40
 
41
- ### Installation
42
- ```bash
43
- git clone https://github.com/berangerthomas/shadowlog.git
44
- cd shadowlog
45
- pip install -r requirements.txt
46
- ```
47
 
48
- ### Launch the Hunter
49
- ```bash
50
- streamlit run shadowlog.py
51
- ```
52
 
53
- ---
54
 
55
- ## 🖥️ **Usage Scenarios**
56
 
57
- ### 🗺️ Dashboard Overview
 
 
 
 
58
 
59
- ![alt text](assets/preview1.png)
 
 
 
60
 
61
- ### 🗺️ Temporal analysis
 
 
 
62
 
63
- ![alt text](assets/preview5.png)
 
 
 
64
 
65
- ### 🗺️ Agregate Value Over Time
66
 
67
- ![alt text](assets/preview6.png)
68
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
 
70
- ## 🤝 **Support & Contribution**
71
- **Report a Ghost** : send us an email
72
- **Contribute** : Open a GitHub Issue for feature requests or log parsers.
 
10
  python_version: 3.11.11
11
  ---
12
 
13
+ ## 🌐 Online Demo
14
 
15
+ You can try ShadowLog online at our Hugging Face demo:
16
+ [https://huggingface.co/spaces/berangerthomas/shadowlog](https://huggingface.co/spaces/berangerthomas/shadowlog)
17
 
 
 
 
18
 
19
+ ## 🔐 ShadowLog - Your Advanced Log Analysis Platform
20
+ **Because attacks hide… but your logs don't.**
21
 
22
+ 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.
23
 
24
+ ## 📊 Key Features
 
 
 
 
 
25
 
26
+ - **📁 Log File Upload & Parsing**: Upload and process log files with automatic parsing and filtering
27
+ - **📈 Statistical Analysis**: Get comprehensive statistics and insights about your log data
28
+ - **🔍 Advanced Data Visualization**: Interactive charts and graphs to spot patterns and anomalies
29
+ - **🔎 Powerful Filtering**: Filter logs by time, action type, port ranges, and more
30
+ - **🤖 AI-Powered Analytics**: Machine learning clustering to identify patterns and anomalies
31
+ - **🚨 Threat Detection**: Identify suspicious activities and security threats in your logs
32
+ - **🔒 Network Security Analysis**: Special tools for analyzing network security logs
33
 
34
+ ## 🖼️ Screenshots
35
 
36
+ ![Preview 1](assets/preview1.png)
37
+ ![Preview 5](assets/preview5.png)
38
+ ![Preview 6](assets/preview6.png)
39
 
40
+ ## 🚀 Installation
 
 
 
 
 
41
 
42
+ ### Prerequisites
 
 
 
43
 
44
+ - Docker installed on your system
45
 
46
+ ### Quick Start with Docker
47
 
48
+ 1. Clone the repository:
49
+ ```bash
50
+ git clone https://github.com/berangerthomas/ShadowLog.git
51
+ cd ShadowLog
52
+ ```
53
 
54
+ 2. Build the Docker image:
55
+ ```bash
56
+ docker build -t shadowlog .
57
+ ```
58
 
59
+ 3. Run the container:
60
+ ```bash
61
+ docker run -p 8501:8501 shadowlog
62
+ ```
63
 
64
+ 4. Open your browser and navigate to:
65
+ ```
66
+ http://localhost:8501
67
+ ```
68
 
69
+ ### Manual Installation
70
 
71
+ If you prefer not to use Docker:
72
+
73
+ 1. Clone the repository:
74
+ ```bash
75
+ git clone https://github.com/yourusername/ShadowLog.git
76
+ cd ShadowLog
77
+ ```
78
+
79
+ 2. Install the required packages:
80
+ ```bash
81
+ pip install -r requirements.txt
82
+ ```
83
+
84
+ 3. Run the application:
85
+ ```bash
86
+ streamlit run app.py
87
+ ```
88
+
89
+ ## 📝 Usage Guide
90
+
91
+ 1. **Upload Log Files**: Navigate to the Upload section and upload your log files
92
+ 2. **Analyze Data**: Use the Statistics section to get an overview of your log data
93
+ 3. **Visualize Patterns**: Explore visualizations in the Analyze section
94
+ 4. **Detect Anomalies**: Check the Alerts section for potential security issues
95
+ 5. **Apply AI Analysis**: Use the Analytics section for advanced pattern detection
96
+
97
+ ShadowLog currently supports only one log format, describe on the "Upload" page :
98
+
99
+ | Column name | timestamp | ipsrc | ipdst | protocole | portsrc | portdst | rule | action | interface | unknown | fw |
100
+ |------------|-----------|-------|-------|-----------|---------|---------|------|--------|-----------|---------|-----|
101
+ | Format | YYYY-MM-DD HH:MM:SS | str | str | str | int | int | int | str | str | str | int |
102
+
103
+ ## 🛠️ Technical Details
104
+
105
+ ShadowLog is built with:
106
+ - **Python 3.11+**
107
+ - **Streamlit** for the web interface
108
+ - **Polars** and **Pandas** for high-performance data processing
109
+ - **Plotly** for interactive visualizations
110
+ - **scikit-learn** for machine learning capabilities
111
+
112
+
113
+ ## 🤝 Contributing
114
+
115
+ Contributions are welcome! To contribute:
116
+ 1. Fork the repository
117
+ 2. Create your feature branch (`git checkout -b feature/new-feature`)
118
+ 3. Commit your changes (`git commit -m 'Add new feature'`)
119
+ 4. Push to the branch (`git push origin feature/new-feature`)
120
+ 5. Open a Pull Request
121
+
122
+ ## 📄 License
123
+
124
+ This project is licensed under the MIT License - see the LICENSE file for details.
125
+
126
+ ## 👥 Authors
127
 
128
+ - Nancy Randriamiarijaona
129
+ - Cyril Kocab
130
+ - Béranger Thomas