Modular Linux intrusion detection CLI by MinakiLabs
Project description
🛡️ MinakiShield
Modular Linux Intrusion Detection CLI
Built by MinakiLabs
🚀 Overview
MinakiShield is a lightweight, modular command-line intrusion detection system for Linux. It monitors system logs in real time to detect unauthorized access attempts, privilege escalations, and more. MinakiShield alerts you instantly via webhooks (Slack, Discord, or custom endpoints) and can run continuously using systemd (user or system scope).
✅ Features
- 🔐 SSH Brute-Force Detection
- 🧑💻 Sudo Abuse Monitoring
- 🔎 Real-Time Log Watching (
/var/log/auth.log) - 📦 Slack & Discord Webhook Alerts
- 🧩 Modular Detection Services
- 🧱 Plugin System for Custom Rules
- ⚙️ Systemd Integration (User & System Level)
- 📁 Plaintext & JSON Logging
- 🧪 Built-in Testing, Configuration, and Log Review
📦 Installation
From PyPI (recommended):
pip install --user minaki-shield
Then confirm:
shield --help
Optional: Make globally accessible
sudo ln -s ~/.local/bin/shield /usr/local/bin/shield
⸻
🧠 Quick Start
Start monitoring:
shield monitor --logfile /var/log/auth.log --json --log-to-file
Configure your webhook:
shield config --set-webhook https://hooks.slack.com/services/...
Install as a systemd user service:
shield systemd
Install as a system-wide service:
sudo shield systemd --scope system
⸻
📜 Command Overview
shield monitor # Start live log monitoring
shield config # Set or view webhook settings
shield services # Enable/disable detection modules
shield systemd # Create and launch systemd service
shield uninstall # Stop and remove service
shield test # Verify webhook and log file setup
shield logs # Show recent alerts
shield plugins # View custom plugin commands
⸻
🔔 Supported Detection Modules
Module Description
ssh_bruteforce Detects repeated failed SSH login attempts
sudo_abuse Detects brute-forced or abnormal sudo usage
Enable/disable them with:
shield services enable sudo_abuse
shield services disable ssh_bruteforce
⸻
📂 File Locations
File or Directory Purpose
~/.minakishield/config.yaml Webhook configuration
~/.minakishield/shield.log JSON or plaintext alert log
~/.config/systemd/user/minakishield.service User-level systemd service
/etc/systemd/system/minakishield.service System-wide systemd service (optional)
⸻
🤖 Plugin Development
To create your own custom plugin:
1. Save the following to ~/.minakishield/plugins/my_plugin.py:
import click
@click.command()
def cli():
click.echo("🧪 Plugin loaded successfully!")
2. Then run:
shield plugins
⸻
🧪 Developer Setup
Clone and install from source:
git clone https://github.com/MinakiLabs-Official/minaki_shield-.git
cd minaki_shield-
pip install --user .
Reinstall after making local changes:
pip install --user --force-reinstall .
⸻
🌍 Webhook Support
✅ MinakiShield supports:
• Slack
• Discord
• Custom Webhook URLs (HTTP POST with JSON payloads)
⸻
🧽 Uninstallation
Stop and remove services:
shield uninstall
Uninstall the package:
pip uninstall minaki-shield
Remove global executable (if created):
sudo rm /usr/local/bin/shield
⸻
📜 License
MIT License
© 2025 Andrew Polykandriotis / MinakiLabs
⸻
👋 Contributions & Feedback
Pull requests, ideas, feedback, and security reports are welcome.
Join the mission at MinakiLabs-Offical on GitHub
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file minaki_shield-1.1.3.tar.gz.
File metadata
- Download URL: minaki_shield-1.1.3.tar.gz
- Upload date:
- Size: 12.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9746f59c5e08a57c0afa730aca4c8409c076eccf550195d8e865086c89d88f3d
|
|
| MD5 |
145c50a0d85805b9b727dc1f8035de74
|
|
| BLAKE2b-256 |
c09469b430a81b0b296005b873c7beb973687b520f5584be980fa082a7160c75
|
File details
Details for the file minaki_shield-1.1.3-py3-none-any.whl.
File metadata
- Download URL: minaki_shield-1.1.3-py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2152568d99db284d08a1c64740dab28c04568376e7244a84fc604de93d4dcf5a
|
|
| MD5 |
54923bf1060ef5be929ca149eb44f60b
|
|
| BLAKE2b-256 |
c72e377ae9f5d83f3e11fb72031b46c96764424e79d4ab658e02d1d7b94d306c
|