Argus is an automated, AI-powered security analysis tool designed to scan Git repositories and detect vulnerabilities, leaked secrets, and insecure dependencies. By orchestrating top-tier open-source security scanners and enriching their findings with a Large Language Model (NVIDIA NIM / Llama 3.1 70B), Argus provides an actionable, unified, and beautifully rendered security report.
- Multi-Scanner Orchestration:
- SAST (Semgrep): Detects code vulnerabilities (Injection, XSS, insecure cryptography, OWASP Top 10).
- Secrets (Gitleaks): Scans for exposed API keys, passwords, and tokens.
- SCA (OSV-Scanner): Identifies vulnerable open-source dependencies (npm, PyPI, Go, Maven, Rust).
- AI-Powered Remediation: Utilizes NVIDIA NIM (Llama 3.1 70B) to explain complex vulnerabilities and suggest concrete fixes.
- Unified Reporting: Aggregates all findings, removes duplicates, and generates an elegant HTML report and JSON summary.
- Risk Scoring: Evaluates the severity of findings and calculates an overarching "Grade" (A to F) based on a custom CVSS-inspired algorithm.
- Modern Dashboard: A Next.js-powered frontend to trigger scans and review historical scan data in real-time via WebSockets.
Argus is split into two main components:
- Backend (Python / FastAPI): Handles repository cloning, orchestrates the CLI scanners concurrently, processes/normalizes their JSON outputs, interfaces with the LLM for explanations, and generates the final HTML reports using Jinja2. Data is stored in SQLite.
- Frontend (Next.js / React): Provides a stunning Lemon-Green themed UI for the user to initiate scans, track real-time progress, and view historical reports.
- Python 3.11+
- Node.js 18+
- Docker Desktop (Strongly Recommended for Windows users to use Semgrep)
Running via Docker ensures all scanners (including Semgrep, which requires Linux) are perfectly configured.
- Clone the repository:
git clone https://github.com/your-username/Argus.git cd Argus - Configure environment variables:
- Copy
argus-backend/.env.exampletoargus-backend/.env. - Add your
NVIDIA_NIM_API_KEY.
- Copy
- Build and run using Docker Compose:
docker-compose up --build
- Access the web interface at:
http://localhost:3000
Note: Semgrep will be safely bypassed on native Windows. Gitleaks and OSV-Scanner binaries must be in your PATH.
Backend Setup:
cd argus-backend
python -m venv venv
# Windows: .\venv\Scripts\activate
# Linux/Mac: source venv/bin/activate
pip install -r requirements.txt
python -m argus.mainFrontend Setup:
cd argus-frontend
npm install
npm run dev- Open your browser and navigate to
http://localhost:3000. - Enter a valid public Git repository URL (e.g.,
https://github.com/OWASP/NodeGoat). - Click Scan Repository.
- Watch the real-time terminal progress.
- Once complete, you will be presented with a comprehensive HTML report detailing vulnerabilities, LLM insights, and remediation steps.
This project is licensed under the MIT License.