Skip to main content

HeaderHawk

A small, read-only HTTP security-header and cookie configuration auditor, designed as a portfolio-ready Python package.

HeaderHawk checks response configuration. It is not a penetration test, does not prove exploitability, and its score is not a security certification.

Install

python -m pip install -e '.[dev]'

Once published to PyPI, install using pip install headerhawk-auditor (subject to package name availability).

Usage

headerhawk scan https://example.com
headerhawk scan https://example.com --format json --output report.json
headerhawk scan https://example.com --format html --output report.html
python -m headerhawk scan https://example.com

Checks: HTTPS, HSTS, Content-Security-Policy, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, framing protection, Cache-Control presence, and Secure/HttpOnly/SameSite cookie attributes. Header checks are intentionally conservative: for example, a CSP being present does not mean it is effective. Cookies may legitimately need different flags based on application purpose. Cache-Control is informational.

Reports do not include cookie values or redirect destinations. When a response is a redirect, HeaderHawk records only that a Location header was present.

No redirects are followed; HTTP redirects must be audited by explicitly scanning the destination URL. No response body is downloaded beyond response headers. Private and loopback destinations are blocked unless --allow-private is provided. The DNS check is a best-effort guard, not a complete defense against DNS rebinding; do not run this tool as a privileged or public-facing URL-fetching service.

Only audit websites you own or have permission to assess.

Development

python -m pip install -e '.[dev]'
pytest -q
ruff check .
python -m build

Publishing

  1. Choose a unique PyPI distribution name and update pyproject.toml.
  2. Create a GitHub repository and configure PyPI Trusted Publishing for the repository's publish.yml workflow and pypi environment.
  3. Tag a release such as v0.1.0, then run the publish workflow after verifying the build.
  4. Never put API tokens or credentials in repository files.

Limitations

This MVP audits one response at a time. It does not crawl, brute-force, exploit, verify TLS certificate chains independently, or evaluate the semantics of every header directive. Findings are heuristic and can contain false positives or negatives.

License

Copyright © 2026 Noir Stack LLC. Licensed under the Proprietary Software License — Free Use, No Modification.

Metadata

Release files for headerhawk-auditor 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for headerhawk-auditor 0.1.0
File Size Uploaded Provenance Actions
headerhawk_auditor-0.1.0.tar.gz 7.5 kB Without provenance Details for headerhawk_auditor-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for headerhawk-auditor 0.1.0
File Interpreter ABI Platform Actions
headerhawk_auditor-0.1.0-py3-none-any.whl Python 3 none any Details for headerhawk_auditor-0.1.0-py3-none-any.whl

Total release size: 15.5 kB

Release files / headerhawk_auditor-0.1.0.tar.gz

Download URL headerhawk_auditor-0.1.0.tar.gz
Size 7.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ed2189e953c7e75c27bd6ab50e3167775ced964a9959324154c419eb5af18227
BLAKE2b-256 checksum
How to use checksums
1a16c860a2d95bab031a4e4e6f96a2accfe3450aeed62423bb9c1ca53804b5cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / headerhawk_auditor-0.1.0-py3-none-any.whl

Download URL headerhawk_auditor-0.1.0-py3-none-any.whl
Size 8.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
628db99a588a9014932ffd75b99ca5312a19fbdddb0bb162d3dca52625e828ad
BLAKE2b-256 checksum
How to use checksums
941b0c209678b2d399ec094adc8939e891ebdbc0baee3c018ff5b403b86311e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for headerhawk-auditor 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page