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.
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.
- Fork the repository
- Create a feature branch
git checkout -b feature/my-feature
- Commit
git commit -m "feat: add awesome feature"
- Push
git push origin feature/my-feature
- Open a Pull Request
License
Released under the MIT License.
See LICENSE for details.
Author
Sriram
GitHub
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
704f2f381b64eee625d1da3b7f71cf9704cd36a25ee4c0a5753826a07a34ce2a
|
|
| MD5 |
e44a85cf0d0edd90076f6107370b7983
|
|
| BLAKE2b-256 |
3f907e360c6c831cade8606b53e29820c41e2ddb4be8638529b5cf5a06f35321
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf2d7aa25a981dff919d21bab29d3dbf84f199f647254dc425ec58cb7b11952f
|
|
| MD5 |
cd26ca18ebcd62f0cbadd9c8437c6423
|
|
| BLAKE2b-256 |
60c54d0bbbca3dc2eff2f43e900e4bada405dc09f74a824239ebcd164aa9e2b1
|