Skip to content

Repository files navigation

    ___    ____  ___  __  _______
   /   |  / __ \/ __ \/ / / / ___/
  / /| | / /_/ / /_/ / / / /\__ \ 
 / ___ |/ _, _/ __  / /_/ /___/ / 
/_/  |_/_/ |_|\____/\____//____/  

The hundred-eyed sentinel for your attack surface.

CI Python FastAPI Next.js PostgreSQL Docker Gemini License: MIT Status


🔎 Overview

Argus is a full-stack Vulnerability Assessment and Penetration Testing (VAPT) Report Automation Dashboard.

Security engineers frequently spend up to 40% of their engagement hours manually formatting Word documents, mapping CVSS scores, and drafting mitigation strategies. Argus eliminates this bottleneck. By providing a centralized, AI-powered platform to log vulnerabilities, track engagements, and instantaneously generate professional PDF deliverables, Argus shifts the focus back to where it belongs: breaking things.

Designed for specialized VAPT teams, solo red teamers, and rigorous bug bounty hunters, Argus is a highly hardened, deploy-anywhere security command center.


⚡ Features

  • Engagement Management: Isolate and track vulnerabilities logically per-client or per-pentest project.
  • Vulnerability Tracking: Rich classification with automated mapping to the OWASP Top 10.
  • CVSS Intelligence: Automated CVSS severity parsing and calculation alignment.
  • AI-Powered Analyst: Leverages Google Gemini to auto-generate deeply technical, step-by-step developer remediation instructions based directly on your payload and findings.
  • Analytics SOC Dashboard: Real-time severity doughnut charts, an OWASP frequency heatmap, and algorithmic project-wide Risk Scoring calculations.
  • Automated Deliverables: One-click, native compilation to a polished, professional PDF Report utilizing Jinja2 and WeasyPrint pipelines without relying on external SaaS formatting.
  • Hardened Security: Protected by strict JWT authentication (HTTPOnly + silent refresh), aggressive IP rate limiting, strict CORS, and CSP origin lockdown.
  • Production Ready: One-command orchestrator deployment via docker-compose.

🛠️ Tech Stack

Layer Technology
Frontend React, Next.js 14, Tailwind CSS, Recharts, Lucide Icons
Backend Python 3.11, FastAPI, SQLAlchemy (ORM), Pydantic, SlowAPI
Database PostgreSQL 15
AI Analyst Google Generative AI (Gemini Flash)
PDF Engine WeasyPrint, Jinja2, python-markdown
Authentication JWT, bcrypt, Secure HTTPOnly Cookies
Infrastructure Docker, Nginx Reverse Proxy, Alpine Linux

🚀 Getting Started

Deploy Argus locally or on a VPS in under three minutes.

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/thearjunl/Argus.git
    cd Argus
  2. Configure your environment:

    cp .env.example .env

    Edit .env inside your preferred editor to inject your API keys and secure your database.

  3. Deploy the fleet:

    docker-compose up -d --build

The dashboard will be securely exposed at http://localhost.

Running Tests

To run the automated test suite locally:

  1. Verify Test Environment: Run the setup script to instantly instantiate the required Postgres schema:
    bash scripts/setup_test_db.sh
  2. Execute Pytest:
    cd argus-backend
    pytest --cov=app --cov-report=term-missing -v
  3. Frontend Validations:
    cd argus-frontend
    npm test

⚙️ Environment Variables

The .env file requires the following keys for secure compilation:

Variable Description Example
POSTGRES_USER Target database deployment username. argus_admin
POSTGRES_PASSWORD Target database deployment password. super_secure_passwd
POSTGRES_DB Target database table name. argus
DATABASE_URL SQLAlchemy connection string (interpolated). postgresql://argus_admin:super_secure_passwd@postgres:5432/argus
JWT_SECRET_KEY High-entropy seed used for JWT signing. dd5a...1a56
GEMINI_API_KEY Required API key for AI remediation generation. AIzaSyD...
FRONTEND_URL CORS restriction target. http://localhost
ACCESS_TOKEN_EXPIRE_MINUTES Lifecycle of the short-lived auth token. 15
REFRESH_TOKEN_EXPIRE_DAYS Lifecycle of the silent refresh cookie. 7

📁 Project Structure

Argus/
├── argus-backend/
│   ├── app/
│   │   ├── models/           # SQLAlchemy DB Models
│   │   ├── routers/          # FastAPI API endpoints
│   │   ├── schemas/          # Pydantic input/output schemas
│   │   ├── templates/        # Jinja2 HTML Report Templates
│   │   ├── utils/            # JWT, Gemini, PDF Handlers
│   │   └── main.py           # FastAPI entry point & Middleware config
│   ├── Dockerfile
│   └── requirements.txt
├── argus-frontend/
│   ├── app/
│   │   ├── dashboard/        # Next.js Analytics & Operations Pages
│   │   ├── login/            # Auth UI
│   │   ├── layout.tsx
│   │   └── page.tsx          # Landing Splash
│   ├── components/           # Reusable Tailwind/Radix UI modules
│   ├── lib/                  # Axios Interceptors & TS Interfaces
│   ├── Dockerfile
│   ├── next.config.ts        # CSP & Security Headers configuration
│   └── package.json
├── docker-compose.yml        # Multi-container orchestration
├── nginx.conf                # Reverse proxy traffic routing configs
├── README.md
└── .env.example

📡 API Reference

Core routing table. (All endpoints except /auth/login and /auth/register require Bearer / Token auth).

Method Endpoint Description
POST /api/auth/register Register a new operator.
POST /api/auth/login Authenticate and dispense secure HTTPOnly tokens.
POST /api/auth/refresh Silently swap the refresh cookie for a new session.
GET /api/engagements/ Retrieve logic-isolated pentest engagements.
GET /api/vulnerabilities/ Query vulnerabilities (supports severity filtering).
POST /api/vulnerabilities/{id}/remediate Poll Gemini to generate AI dev remediation logic.
GET /api/dashboard/stats Export complex Recharts aggregation metrics.
POST /api/engagements/{id}/report/pdf Compile vulnerability dataset into a raw Blob PDF.

📸 Interface Previews

Placeholder: Dashboard Analytics Screenshot

Placeholder: Vulnerability Tracking Table Screenshot

Placeholder: Exported PDF Report Preview Screenshot


🗺️ Roadmap

  • Mobile responsive UI
  • Multi-user team support and RBAC
  • CVE database integration
  • Slack/email alert notifications
  • CVSS v4.0 scoring support
  • Export to DOCX format

🤝 Contributing

Contributions make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📜 License

Distributed under the MIT License. See LICENSE for more information.


👤 Author

Built by Arjun LMCA Cybersecurity & Full-Stack AI
View GitHub Profile

About

Full-stack VAPT report automation dashboard — vulnerability tracking, OWASP mapping, AI remediation via Gemini, and one-click PDF report generation.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages