Skip to main content

AI-assisted CyberPanel server scanner and remediation CLI

Project description

🛡️ Cyberzard & CyberPanel Cleanup

PyPI version PyPI downloads Docs Build Docs License: MIT Python Status AI Optional Offline‑first

Modern incident triage for CyberPanel:

  • 🧰 Legacy bash cleanup scripts (basic & advanced)
  • 🤖 Cyberzard — an AI‑assisted, safety‑constrained CLI for scanning, explaining, and planning remediation

🔗 Quick Links


📖 Table of Contents

🤖 Cyberzard — AI Security CLI

Experimental preview. Interfaces may change until v0.1.

Features

Area What you get
Multi‑source scanning Files, processes, cron, services, users, SSH keys, encrypted files
Severity scoring Critical/High/Medium/Low with rationale
Evidence preservation Optional hashing/archiving prior to actions
Dry‑run planning Generate remediation plan JSON first
AI reasoning (optional) Summaries, prioritization, advice (OpenAI/Anthropic/xAI/none)
ReAct loop Safe tool schema, sandboxed helpers
Output Pretty tables + JSON
Chat mode Interactive, permission‑aware assistant
TUI (optional) Simple terminal UI for scan results
Email stack hardening scan + AI summary + guided execution

Install & Use

Option 1: Install from PyPI (Recommended) 🐍

# Basic install
pip install cyberzard

# With AI provider extras
pip install cyberzard[openai]      # OpenAI support
pip install cyberzard[anthropic]   # Anthropic Claude support
pip install cyberzard[xai]         # xAI Grok support
pip install cyberzard[providers]   # All AI providers
pip install cyberzard[all]         # Everything (AI + TUI + MCP)

With pipx (recommended for CLI tools - isolated environment):

pipx install cyberzard
pipx install 'cyberzard[openai]'

With uv (fast modern package manager):

uv tool install cyberzard
# Or run without installing:
uvx cyberzard scan

Option 2: One-liner installer (Linux binary)

bash -c "$(curl -fsSL https://raw.githubusercontent.com/elwizard33/Cyberzard/main/scripts/install.sh)"

Upgrade later:

# PyPI upgrade
pip install --upgrade cyberzard

# Binary upgrade
cyberzard --upgrade                    # quick upgrade using global flag
cyberzard upgrade --channel stable     # explicit upgrade command

Option 3: Install from source (development)

git clone https://github.com/elwizard33/Cyberzard.git
cd Cyberzard
python3 -m venv .venv && source .venv/bin/activate
python -m pip install -U pip setuptools wheel
pip install -e .[openai]   # or .[anthropic] or .[dev]

Notes:

Optional TUI (terminal UI):

pip install 'textual>=0.60'
cyberzard tui

Common commands:

# Scan and pretty print
cyberzard scan

# JSON findings
cyberzard scan --json > findings.json

# Advice (static + optional AI enrichment)
CYBERZARD_MODEL_PROVIDER=openai OPENAI_API_KEY=sk-... cyberzard advise

# Explain findings (AI)
OPENAI_API_KEY=sk-... cyberzard explain --provider openai

# Bounded reasoning loop (ReAct)
OPENAI_API_KEY=sk-... cyberzard agent "Top suspicious processes and rationale" --steps 4

# Interactive chat (permission‑aware)
cyberzard chat
cyberzard chat --auto-approve --max-probes 8

# Remediation (requires explicit flags)
cyberzard remediate --delete --kill --preserve

# n8n deployment assistant (generate + optional apply)
# Native (OpenLiteSpeed reverse-proxy):
cyberzard n8n-setup --domain example.com --subdomain n8n --mode native --basic-auth --out-dir ./out

# Cloudflare Tunnel (docker compose + cloudflared):
cyberzard n8n-setup --domain example.com --subdomain n8n --mode tunnel --out-dir ./out

# Write-only JSON summary (no apply):
cyberzard n8n-setup --domain example.com --mode native --write-only --out-dir ./out --overwrite

# Email security (scan + hardening preview)
cyberzard email-security --dry-run

# Execute guided (still dry-run by default until --no-dry-run)
cyberzard email-security --run --dry-run --max-risk medium

# Full remediation guide + optional execution
cyberzard email-fix --run --dry-run --max-risk low

# JSON output (no rich)
cyberzard email-security --json --run --dry-run

Troubleshooting

  • Editable install error (missing build_editable hook): upgrade pip/setuptools/wheel in a venv, or use non‑editable install:
    • python -m pip install -U pip setuptools wheel
    • pip install .[openai] (or .[anthropic] or just .)

Environment

Var Purpose Default
CYBERZARD_PROVIDER openai, anthropic, xai, none none
OPENAI_API_KEY API key when provider=openai
ANTHROPIC_API_KEY API key when provider=anthropic
XAI_API_KEY API key when provider=xai
CYBERZARD_EVIDENCE_DIR Evidence dir /var/lib/cyberzard/evidence
CYBERZARD_DRY_RUN Global dry‑run true

Check available providers:

cyberzard providers

Safety Model

  • No raw shell; curated, allow‑listed tools only
  • Dry‑run by default; explicit flags to delete/kill
  • Reasoning step cap; sandboxed helpers
  • AI optional; offline works fine

MCP Server (Model Context Protocol)

Cyberzard can act as an MCP server, exposing all its security tools to AI agents like Claude:

# Start MCP server (stdio transport for Claude Desktop)
cyberzard mcp

# Start with SSE transport for web clients
cyberzard mcp --transport sse --port 8080

# Start with streamable HTTP transport
cyberzard mcp --transport streamable-http --port 8080

Configure in Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "cyberzard": {
      "command": "cyberzard",
      "args": ["mcp"],
      "env": {}
    }
  }
}

Available tools via MCP:

  • scan_server - Full security scan
  • read_file - Safe file reading
  • propose_remediation - Generate remediation plans
  • CyberPanel management (websites, databases, email, DNS, SSL, backups, firewall)

CyberPanel Integration

Cyberzard integrates with CyberPanel's REST API for server management:

# Set CyberPanel credentials
export CYBERPANEL_HOST=https://your-server:8090
export CYBERPANEL_USER=admin
export CYBERPANEL_PASS=your-password

# Use via chat mode
cyberzard chat
> List all websites on this server
> Create a new database called myapp_db

# Or programmatically in Python
from cyberzard.cyberpanel import CyberPanelClient
client = CyberPanelClient()
websites = await client.list_websites()

Supported operations:

  • Websites: List, create, delete, suspend/unsuspend
  • Databases: List, create, delete MySQL/MariaDB databases
  • Email: Accounts, forwarders, DKIM
  • DNS: Records management
  • SSL: Issue/renew certificates
  • Firewall: CSF rules, block/unblock IPs
  • Backups: Create, restore, schedule

Enhanced TUI (Terminal UI)

The enhanced TUI provides a split-panel chat interface:

# Install TUI dependencies
pip install 'cyberzard[tui]'

# Run chat TUI
cyberzard chat --tui

# Or legacy scan TUI
cyberzard tui

Features:

  • Split layout: Conversation on left, tools on right
  • Real-time tool tracking: See tool calls as they execute
  • Streaming responses: Watch AI responses as they generate
  • Keyboard shortcuts: Ctrl+L (clear), Ctrl+T (toggle tools), q (quit)

🧰 Legacy Cleanup Scripts

Overview

Basic and Advanced bash scripts to triage and clean common artifacts from the November CyberPanel attacks.

Capability Basic Advanced
Diagnostics (files, processes, encrypted files)
Cleanup of artifacts
User + SSH key audit
Interactive confirmations
Extra post‑hardening tips

Quick Start

Basic:

sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/elwizard33/Cyberzard/main/scripts/wizard_cleanup.sh)"

Advanced:

sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/elwizard33/Cyberzard/main/scripts/advanced_wizard_cleanup.sh)"

Decrypt Helpers


🤝 Contributing

Please read the Issue Guide before filing.

  • Small, focused PRs with tests/docs updates are welcome
  • Clearly document environment and reproduction steps

⚠️ Disclaimer

These tools are provided as‑is, without warranty. Validate outputs before acting in production. Maintain backups and snapshots.


Useful References

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

cyberzard-0.1.18.tar.gz (105.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cyberzard-0.1.18-py3-none-any.whl (116.1 kB view details)

Uploaded Python 3

File details

Details for the file cyberzard-0.1.18.tar.gz.

File metadata

  • Download URL: cyberzard-0.1.18.tar.gz
  • Upload date:
  • Size: 105.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cyberzard-0.1.18.tar.gz
Algorithm Hash digest
SHA256 e0edc90afdc948627ded7853242ae6708a104e9b77920d8dcee63b9fef3793e8
MD5 38a26aa683d9cb9c204c1f5c8acac82a
BLAKE2b-256 ddd6e64a8d524bb936cc81a29418518dcd1966b11c36bfa86b85fab92c95a7a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyberzard-0.1.18.tar.gz:

Publisher: publish-pypi.yml on elwizard33/Cyberzard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cyberzard-0.1.18-py3-none-any.whl.

File metadata

  • Download URL: cyberzard-0.1.18-py3-none-any.whl
  • Upload date:
  • Size: 116.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cyberzard-0.1.18-py3-none-any.whl
Algorithm Hash digest
SHA256 5b276a9d04ddad19d526e3165115efe7e87fcabfb305a4b35c7e926cbfd6ba63
MD5 c811e9fbf1a457752753942f24be299f
BLAKE2b-256 0d6f708d8f4bcb023f9fb76d14c312dabd2215ca8e7116b5d32b0cbb85513447

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyberzard-0.1.18-py3-none-any.whl:

Publisher: publish-pypi.yml on elwizard33/Cyberzard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page