🛡️ 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
Metadata
Release files for minaki-shield 1.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| minaki_shield-1.1.3.tar.gz | 12.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| minaki_shield-1.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.4 kB
Release files / minaki_shield-1.1.3.tar.gz
| Download URL | minaki_shield-1.1.3.tar.gz |
|---|---|
| Size | 12.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9746f59c5e08a57c0afa730aca4c8409c076eccf550195d8e865086c89d88f3d
|
|
BLAKE2b-256 checksum How to use checksums |
c09469b430a81b0b296005b873c7beb973687b520f5584be980fa082a7160c75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Release files / minaki_shield-1.1.3-py3-none-any.whl
| Download URL | minaki_shield-1.1.3-py3-none-any.whl |
|---|---|
| Size | 17.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2152568d99db284d08a1c64740dab28c04568376e7244a84fc604de93d4dcf5a
|
|
BLAKE2b-256 checksum How to use checksums |
c72e377ae9f5d83f3e11fb72031b46c96764424e79d4ab658e02d1d7b94d306c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.12
|
Security for minaki-shield 1.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.