Skip to content

Latest commit

ย 

History

43 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ›ก๏ธ Argus Header

Fast, lightweight HTTP security header analyzer built for developers, security engineers, and penetration testers.

Python Version License

Argus Header is a command-line tool that analyzes HTTP response headers and identifies common security misconfigurations, information leakage, and HTTP security best-practice issues. It scores each target from 0โ€“100 with a letter grade and exports reports as JSON, Markdown, or HTML.


โœจ Features

HTTP Request Engine

  • โœ… GET & HEAD request support
  • โœ… Configurable request timeout
  • โœ… Redirect handling
  • โœ… Retry mechanism
  • โœ… Multiple URL scanning
  • โœ… Parallel scanning

Security Analysis

Detects missing security headers including:

  • Content-Security-Policy (CSP)
  • Strict-Transport-Security (HSTS)
  • X-Frame-Options
  • X-Content-Type-Options

Security Score & Grade

  • Security Score from 0โ€“100
  • Letter Grade from Aโ€“F
  • Risk level and penalty breakdown
  • Stable rule IDs for every finding (e.g. SEC-001, COOKIE-002)

Cookie Analysis

Analyzes Set-Cookie attributes:

  • Secure flag (MEDIUM)
  • HttpOnly flag (MEDIUM)
  • SameSite attribute (LOW)

Information Leakage Detection

Detects exposed:

  • Server
  • X-Powered-By

CORS Analysis

Detects:

  • Wildcard Access-Control-Allow-Origin: *

Performance Checks

Analyzes:

  • Cache-Control

Reports

  • Rich CLI output
  • Detailed --verbose mode
  • JSON report export (enhanced v0.7 schema)
  • Markdown report export
  • HTML report export (self-contained, escaped)
  • Severity levels
  • Security recommendations

๐Ÿ” Verbose Mode

The --verbose option provides a comprehensive scan report including:

  • Scan Information
  • Target Information
  • Request Configuration
  • Connection Information
  • HTTP Response Details
  • Redirect Information
  • Response Headers
  • Security Headers
  • Missing Security Headers
  • Present Security Headers
  • Information Leakage
  • Response Statistics
  • Findings Summary
  • Overall Assessment
  • End of Scan Summary

๐Ÿ“ฆ Installation

Install from PyPI

pip install argus-header

Verify installation:

argus-header --version

Expected output:

Argus Header 0.7.0

Install from Source

git clone https://github.com/heyshreee/argus-header.git

cd argus-header

python -m venv .venv

Windows

.venv\Scripts\activate

Linux / macOS

source .venv/bin/activate

Install:

pip install -e .

๐Ÿš€ Usage

Basic Scan

argus-header https://example.com

HEAD Request

argus-header https://example.com --method HEAD

Verbose Report

argus-header https://example.com --verbose

Custom Timeout

argus-header https://example.com --timeout 5

Multiple URLs

argus-header https://google.com https://github.com --parallel

Disable Redirects

argus-header https://example.com --no-redirect

Export JSON

argus-header https://example.com --json report.json

Security Score & Grade

argus-header https://example.com --score

Export Markdown Report

argus-header https://example.com --markdown report.md

Export HTML Report

argus-header https://example.com --html report.html

All Export Formats Together

argus-header https://example.com \
    --score \
    --json report.json \
    --markdown report.md \
    --html report.html

Display Version

argus-header --version

Display Help

argus-header --help

โš™๏ธ Command Line Options

Option Description
--method HTTP Method (GET / HEAD)
--timeout Request timeout
--parallel Scan multiple URLs concurrently
--json FILE Save report as JSON (v0.7 enhanced schema)
--score Display the security score and grade
--markdown FILE Save a Markdown security report
--html FILE Save an HTML security report
--no-redirect Disable redirect following
--verbose Display detailed scan report
--version Display tool version
--help Show help information

๐Ÿ“‹ Example Output

$ argus-header https://example.com --score

   ___                             
  / _ | _______ _____ _____ _____  
 / __ |/ __/ _ `/ // (_-</(_-<(_-<  
/_/ |_/_/  \_, /\_,_/___/___/___/  
            /_/                    

 Argus Header
 HTTP Header Security Analyzer

Version: 0.7.0

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Scan Summary โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ Target: https://example.com/ โ”‚
โ”‚ Status: 200                  โ”‚
โ”‚ Headers Found: 11            โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
                                     Analysis Findings                                     
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Severity     โ”ƒ Issue                     โ”ƒ Risk                      โ”ƒ Recommendation            โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ HIGH         โ”‚ Missing                   โ”‚ XSS (Cross-Site           โ”‚ Add a                     โ”‚
โ”‚              โ”‚ Content-Security-Policy   โ”‚ Scripting) attacks are    โ”‚ 'Content-Security-Policy' โ”‚
โ”‚              โ”‚                           โ”‚ easier to exploit.        โ”‚ header defining allowed   โ”‚
โ”‚              โ”‚                           โ”‚                           โ”‚ content sources.          โ”‚
โ”‚ HIGH         โ”‚ Missing                   โ”‚ Susceptible to            โ”‚ Add                       โ”‚
โ”‚              โ”‚ Strict-Transport-Security โ”‚ Man-in-the-Middle (MITM)  โ”‚ 'Strict-Transport-Securiโ€ฆ โ”‚
โ”‚              โ”‚                           โ”‚ protocol downgrade        โ”‚ max-age=63072000;         โ”‚
โ”‚              โ”‚                           โ”‚ attacks.                  โ”‚ includeSubDomains'.       โ”‚
โ”‚ HIGH         โ”‚ Missing X-Frame-Options   โ”‚ Vulnerable to             โ”‚ Add 'X-Frame-Options:     โ”‚
โ”‚              โ”‚                           โ”‚ Clickjacking attacks.     โ”‚ DENY' or 'SAMEORIGIN'.    โ”‚
โ”‚ MEDIUM       โ”‚ Missing                   โ”‚ Browsers may MIME-sniff   โ”‚ Add                       โ”‚
โ”‚              โ”‚ X-Content-Type-Options    โ”‚ the response body,        โ”‚ 'X-Content-Type-Options:  โ”‚
โ”‚              โ”‚                           โ”‚ leading to XSS.           โ”‚ nosniff'.                 โ”‚
โ”‚ LOW          โ”‚ Server Header Leaked:     โ”‚ Reveals server            โ”‚ Configure server to       โ”‚
โ”‚              โ”‚ cloudflare                โ”‚ technology, helping       โ”‚ suppress or obfuscate the โ”‚
โ”‚              โ”‚                           โ”‚ attackers verify CVEs.    โ”‚ 'Server' header.          โ”‚
โ”‚ LOW          โ”‚ Missing Cache-Control     โ”‚ Browser may not cache     โ”‚ Add 'Cache-Control'       โ”‚
โ”‚              โ”‚ Header                    โ”‚ resources efficiently,    โ”‚ header (e.g.,             โ”‚
โ”‚              โ”‚                           โ”‚ slowing load times.       โ”‚ max-age=3600).            โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Tip: Run with --verbose to view detailed scan information.
โ•ญโ”€ Security Score โ”€โ•ฎ
โ”‚ Score: 27/100    โ”‚
โ”‚ Grade: F         โ”‚
โ”‚ Risk: HIGH       โ”‚
โ”‚ Penalty: 73      โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

๐Ÿ” Security Analysis

Security Headers

Checks for:

  • Content-Security-Policy
  • Strict-Transport-Security
  • X-Frame-Options
  • X-Content-Type-Options

Information Leakage

Checks for:

  • Server
  • X-Powered-By

CORS

Checks for:

  • Wildcard Access-Control-Allow-Origin

Performance

Checks for:

  • Cache-Control

๐Ÿ“ Project Structure

argus-header/

src/
โ””โ”€โ”€ argus_header/
    โ”œโ”€โ”€ __init__.py
    โ”œโ”€โ”€ __main__.py
    โ”œโ”€โ”€ analyzer.py        # rule engine with stable rule IDs
    โ”œโ”€โ”€ cookies.py         # Set-Cookie attribute analysis
    โ”œโ”€โ”€ scorer.py          # security score / grade engine
    โ”œโ”€โ”€ cli.py             # argument parsing & orchestration
    โ”œโ”€โ”€ reporter.py        # terminal output + canonical report + JSON export
    โ”œโ”€โ”€ markdown.py        # Markdown report renderer
    โ”œโ”€โ”€ html_report.py     # HTML report renderer
    โ”œโ”€โ”€ requester.py       # HTTP fetch engine (retries, redirects)
    โ”œโ”€โ”€ schemas.py         # Pydantic models for the API layer
    โ”œโ”€โ”€ utils.py           # URL normalization
    โ””โ”€โ”€ verbose.py         # 15-section detailed report

api.py                     # FastAPI service (GET/POST /analyze)
frontend/                  # vanilla JS dashboard with score panel & exports
tests/
docs/

README.md
CHANGELOG.md
CONTRIBUTING.md
LICENSE
pyproject.toml

๐Ÿ—บ๏ธ Roadmap

โœ… v0.7.0 โ€” Current Release

Added

  • Security Score (0โ€“100) and Grade (Aโ€“F)
  • Risk level and penalty breakdown
  • Cookie analysis: Secure, HttpOnly, SameSite
  • Stable rule IDs for findings
  • Enhanced JSON reports with scan metadata
  • Markdown report export (--markdown)
  • HTML report export (--html)
  • CLI --score option
  • API score/grade/summary exposure
  • Dashboard score panel and finding summaries

๐Ÿš€ v0.8.0 โ€” Next

Planned features:

  • Expanded unit test coverage (CLI / verbose rendering)
  • GitHub Actions CI
  • Documentation improvements
  • Architecture improvements

๐Ÿš€ v0.9.0

Planned features:

  • TLS Inspection
  • Certificate Analysis
  • HTTP/2 Detection
  • Advanced CORS Analysis

๐ŸŽ‰ v1.0.0

  • Stable Public Release
  • Production-ready Documentation
  • Comprehensive Testing
  • Complete HTTP Security Analysis

๐Ÿ’ป Development

Clone the repository:

git clone https://github.com/heyshreee/argus-header.git

cd argus-header

Install the development version:

python -m venv .venv

# Windows
.venv\Scripts\activate

# Linux / macOS
source .venv/bin/activate

pip install -e .
pip install -r requirements-dev.txt

Run:

argus-header https://example.com

Run verbose mode:

argus-header https://example.com --verbose

Run the test suite and static checks:

pytest tests/ -v
ruff check src/ tests/
black --check src/ tests/
mypy src/

๐Ÿค Contributing

Contributions are welcome.

  1. Fork the repository.

  2. Create a feature branch.

git checkout -b feature/my-feature
  1. Commit your changes.
git commit -m "feat: add awesome feature"
  1. Push your branch.
git push origin feature/my-feature
  1. Open a Pull Request.

Please read CONTRIBUTING.md before submitting major changes.


๐Ÿ“„ License

Released under the MIT License.

See the LICENSE file for details.


๐Ÿ‘จโ€๐Ÿ’ป Author

Sriram

GitHub: https://github.com/heyshreee

PyPI: https://pypi.org/project/argus-header/


โš ๏ธ Disclaimer

Argus Header is intended for defensive security, security auditing, learning, and authorized penetration testing only.

Only scan systems that you own or have explicit permission to assess.

The author is not responsible for misuse of this software.