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.20.tar.gz (105.7 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.20-py3-none-any.whl (116.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cyberzard-0.1.20.tar.gz
  • Upload date:
  • Size: 105.7 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.20.tar.gz
Algorithm Hash digest
SHA256 2cf13f797d45df448414dd3a06cfcf6df1dfe2d4ff6cf937ed8316c45dfa187c
MD5 5149b9638c080624e276706aa0fbd469
BLAKE2b-256 e35b55b3063b98545f280f872c97dd870668cc074a219df52085e1837e164e32

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyberzard-0.1.20.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.20-py3-none-any.whl.

File metadata

  • Download URL: cyberzard-0.1.20-py3-none-any.whl
  • Upload date:
  • Size: 116.2 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.20-py3-none-any.whl
Algorithm Hash digest
SHA256 deed0e84fc5d4b50f20aa7c10fda7786962626dfaf1bc7b409868f338e37f22a
MD5 dd642dc6e63a13bb55498b8e92f9450a
BLAKE2b-256 157729cf29c704fd8988a8606cf08f0ebac73fbe8051a3ee528b7fb6e01b4e7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cyberzard-0.1.20-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