Skip to main content

A Python CLI tool for analyzing HTTP response headers and identifying security issues.

Project description

🛡️ 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 header-related best practice issues.


✨ Features

HTTP Request Engine

  • GET and HEAD request support
  • Configurable request timeout
  • Redirect support
  • Retry mechanism for temporary failures
  • 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

Information Disclosure Detection

Checks for exposed:

  • Server
  • X-Powered-By

CORS Analysis

Detects:

  • Access-Control-Allow-Origin: *

Performance Checks

Checks:

  • Cache-Control

Reports

  • Beautiful Rich CLI output
  • JSON report export
  • Severity levels
  • Recommendations

Installation

From Source

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

cd argus-header

python -m venv .venv

source .venv/bin/activate

Windows

.venv\Scripts\activate

Install

pip install -e .

Verify Installation

argus-header --version

Expected output

argus-header 0.5.0

Usage

Basic scan

argus-header https://example.com

HEAD request

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

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

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
--no-redirect Disable redirect following
--verbose Verbose output
--version Display version
--help Show help

Example Output

Target
https://example.com

Status
200

Headers Found
18

HIGH
Missing Content-Security-Policy

HIGH
Missing Strict-Transport-Security

MEDIUM
X-Powered-By Header Exposed

LOW
Missing Cache-Control

Project Structure

argus-header/

src/
└── argus_header/
    ├── __init__.py
    ├── cli.py
    ├── requester.py
    ├── analyzer.py
    ├── reporter.py
    └── utils.py

tests/

README.md
LICENSE
pyproject.toml

Current Checks

Security Headers

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

Information Leakage

  • Server
  • X-Powered-By

CORS

  • Wildcard Access-Control-Allow-Origin

Performance

  • Cache-Control

Roadmap

v0.6.0

  • Security score
  • Grade (A–F)
  • Cookie analysis
  • CSP validation
  • HSTS validation

v0.7.0

  • HTML reports
  • Markdown reports
  • Response time
  • Redirect chain
  • HTTP version display

v0.8.0

  • Unit tests
  • GitHub Actions
  • Documentation improvements
  • Better architecture

v0.9.0

  • TLS inspection
  • Certificate analysis
  • HTTP/2 detection
  • Advanced CORS analysis

v1.0.0

  • Stable public release
  • Complete security analysis
  • Production-ready documentation
  • Comprehensive testing

Development

Clone

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

Install development version

pip install -e .

Run

argus-header https://example.com

Contributing

Contributions are welcome.

  1. Fork the repository
  2. Create a feature branch
git checkout -b feature/my-feature
  1. Commit
git commit -m "feat: add awesome feature"
  1. Push
git push origin feature/my-feature
  1. Open a Pull Request

License

Released under the MIT License.

See LICENSE for details.


Author

Sriram

GitHub

https://github.com/heyshreee


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.

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

argus_header-0.5.0.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

argus_header-0.5.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file argus_header-0.5.0.tar.gz.

File metadata

  • Download URL: argus_header-0.5.0.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for argus_header-0.5.0.tar.gz
Algorithm Hash digest
SHA256 704f2f381b64eee625d1da3b7f71cf9704cd36a25ee4c0a5753826a07a34ce2a
MD5 e44a85cf0d0edd90076f6107370b7983
BLAKE2b-256 3f907e360c6c831cade8606b53e29820c41e2ddb4be8638529b5cf5a06f35321

See more details on using hashes here.

File details

Details for the file argus_header-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: argus_header-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for argus_header-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cf2d7aa25a981dff919d21bab29d3dbf84f199f647254dc425ec58cb7b11952f
MD5 cd26ca18ebcd62f0cbadd9c8437c6423
BLAKE2b-256 60c54d0bbbca3dc2eff2f43e900e4bada405dc09f74a824239ebcd164aa9e2b1

See more details on using hashes here.

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