VulnCheck - Open Source Vulnerability Management for Wazuh Features: - Vulnerability management with Wazuh integration - AI-powered CVE analysis (OpenAI, Anthropic, Google, DeepSeek, Ollama, Infomaniak) - SLA policy enforcement with automated email alerts - Automated patch verification via Wazuh Syscollector - Role-based access control (Admin, Editor, Readonly) - PDF/CSV reporting for compliance workflows - Full audit trail https://gitea.isuit.ch/vulncheck/vulncheck
80 lines
2.1 KiB
Bash
Executable File
80 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
||
set -e
|
||
|
||
echo "🚀 Starte VulnManager lokal (ohne Docker)..."
|
||
echo ""
|
||
|
||
# Prüfe Python
|
||
if ! command -v python3 &> /dev/null; then
|
||
echo "❌ Python 3 nicht gefunden"
|
||
exit 1
|
||
fi
|
||
|
||
# Erstelle Virtual Environment
|
||
if [ ! -d "venv" ]; then
|
||
echo "📦 Erstelle Virtual Environment..."
|
||
python3 -m venv venv
|
||
fi
|
||
|
||
# Aktiviere venv
|
||
source venv/bin/activate
|
||
|
||
# Installiere Dependencies
|
||
echo "📥 Installiere Dependencies..."
|
||
pip install -q --upgrade pip
|
||
pip install -q -r requirements.txt
|
||
|
||
# Setze SQLite statt PostgreSQL für lokale Entwicklung
|
||
export DATABASE_URL="sqlite:///./vulnmanager.db"
|
||
export ENV="development"
|
||
|
||
# Erstelle Datenbank mit SQLAlchemy
|
||
echo "🗄️ Erstelle Datenbank..."
|
||
python3 << 'PYEOF'
|
||
from app.database import engine
|
||
from app.models.base import Base
|
||
from app.models.user import User, UserRole
|
||
from app.auth.jwt_handler import hash_password
|
||
from sqlalchemy.orm import Session
|
||
|
||
# Erstelle Tabellen
|
||
Base.metadata.create_all(bind=engine)
|
||
|
||
# Erstelle Admin-User
|
||
from app.database import SessionLocal
|
||
db = SessionLocal()
|
||
|
||
existing = db.query(User).filter(User.username == "admin").first()
|
||
if not existing:
|
||
admin = User(
|
||
username="admin",
|
||
email="admin@vulnmanager.local",
|
||
password_hash=hash_password("changeme"),
|
||
role=UserRole.ADMIN,
|
||
is_active=True,
|
||
is_verified=True
|
||
)
|
||
db.add(admin)
|
||
db.commit()
|
||
print("✅ Admin-User erstellt: admin / changeme")
|
||
else:
|
||
print("ℹ️ Admin-User existiert bereits")
|
||
|
||
db.close()
|
||
PYEOF
|
||
|
||
echo ""
|
||
echo "╔══════════════════════════════════════════════════════╗"
|
||
echo "║ VulnManager läuft lokal! 🎉 ║"
|
||
echo "╚══════════════════════════════════════════════════════╝"
|
||
echo ""
|
||
echo "📡 API: http://localhost:8000"
|
||
echo "📚 Docs: http://localhost:8000/docs"
|
||
echo "🔐 Login: admin / changeme"
|
||
echo ""
|
||
echo "Server wird gestartet..."
|
||
echo ""
|
||
|
||
# Starte Server
|
||
uvicorn app.main:app --reload --port 8000
|