mrkeyoor.com_
Mon 07 Sept 19:32 UTC
Dev Toolsevaluationupdated 07 Sept 2026

hetty review

Hetty is a local HTTP inspection toolkit for security researchers. It puts a machine-in-the-middle proxy, request log, manual request sender, interception controls, scope rules, and a web interface into one Go application.

Verdict

Our Hetty run built in 6 seconds, but only 8 of 13 test targets passed, so this commit belongs on an isolated research machine rather than a shared sensitive proxy. It is appealing for a solo tester who wants readable Go code and the core capture, intercept, and replay loop. Wait or choose a more mature alternative if remote access, large untrusted bodies, or client certificates are part of the job.

We ran it

Lab card: what happened when we ran hettyScreenshot of hetty (hetty.xyz)
Install✓ · 15s82 packages
Build✓ · 6s
Tests✗ · 30s8 passed · 5 failed of 13 (go test)
Repo168 files~23,372 lines of source · 1 MB · 2 CI workflows · Dockerfile

Answers from our run

Does hetty build from source?

Dependencies installed in 15 seconds (82 packages), and the build succeeded in 6 seconds. We cloned commit 8ca6b07 into a clean Debian container with 3 CPUs and no project-specific setup.

Do hetty's tests pass?

Not all of them: 8 of 13 passed and 5 failed when we ran the project's own test command (go test). Some failures need services or credentials a bare container does not have.

Who should not use hetty?

Teams that need a shared remote appliance: Hetty defaults to :8080, and open issue 141 reports unauthenticated remote access to its admin UI and GraphQL API.

What are the alternatives to hetty?

mitmproxy, OWASP ZAP, Burp Suite. Our Hetty run built in 6 seconds, but only 8 of 13 test targets passed, so this commit belongs on an isolated research machine rather than a shared sensitive proxy.

Setup3/515-second install; certificate trust and failed tests add work
Docs3/5Good usage guides, but source-build and database details conflict
Community3/512,348 stars and 2026 activity, with many open PRs
Maturity2/5Core flows exist, but tests and open security reports weigh heavily

Who it’s for

Solo security researchers who want an open-source proxy with a browser interface.
Bug bounty hunters who need to capture, search, edit, and replay HTTP traffic.
Go developers who want a small codebase they can inspect and modify.
Testers willing to isolate the proxy on a trusted machine and manage its root certificate.

Who it’s NOT for

Teams that need a shared remote appliance: Hetty defaults to :8080, and open issue 141 reports unauthenticated remote access to its admin UI and GraphQL API.
Assessments that require client-certificate authentication: open issue 158 says Hetty has no way to provide a client certificate to a target host.
Workflows that proxy untrusted large uploads or downloads unattended: issue 143 reports full body reads without size limits in logging and interception paths.
Buyers who require a clean upstream test run before handling sensitive traffic: 5 of 13 test targets failed in our sandbox.
Developers relying on polished source-build guidance: the README still labels its compile-from-source link as coming later.

Setup reality

Our sandbox install succeeded in 15 seconds and installed 82 packages. The build passed in 6 seconds. Tests failed after 30 seconds: 8 passed and 5 failed out of 13. The log tail shows cmd/hetty failed during setup and TestResponseModifier failed in pkg/reqlog; it does not show enough detail to assign causes.

Hetty needs no hosted account or API key. It creates a root CA certificate, private key, and local database, then asks you to create a project and route browser traffic through it. HTTPS inspection also means trusting that generated CA or launching Chrome with certificate errors ignored.

The default address is :8080. Keep it on a trusted host and bind it deliberately before using it near sensitive traffic. Docker is documented, but browser proxy settings, certificate trust, persisted storage, and access to the web control plane remain operator work.

Hetty combines a proxy, replay client, and web interface

The README lists 6 core jobs for Hetty: proxying, logging, replay, interception, scope, and project storage. It captures HTTP traffic through a machine-in-the-middle proxy and lets a tester search the log. A captured request can move into Sender for editing and replay. Intercept mode pauses requests or responses for manual changes, while scope rules keep unrelated hosts out of view. The browser interface makes those jobs approachable without turning every action into a terminal command.

That scope is narrower than the README's comparison with Burp Suite Pro may suggest. Hetty covers those 6 manual jobs, but it does not claim the large scanner, extension, collaboration, and reporting surface found in a commercial suite. The project calls itself under active development. Treat it as a focused HTTP workbench for the manual core of a test, not as a drop-in copy of every Burp workflow.

A 15-second install still leaves certificate work

Our source build finished in 6 seconds, and package-manager routes exist for Homebrew, Snap, and Scoop. The release page provides binaries for other supported systems. Docker users can map port 8080 and mount ~/.hetty so the database and certificate material survive container replacement. The README still says a source-compilation link is coming later, an awkward omission for an open-source Go tool even though our own build completed.

Starting Hetty creates a root CA certificate, its private key, and a local database, all used by the service on port 8080. You then create a project and configure a browser to use the proxy. The documented shortcut launches Chrome with proxy settings applied and certificate errors ignored. Otherwise, HTTPS inspection requires trusting Hetty's CA on the test system. The private key and captured traffic deserve the same storage controls as other assessment evidence.

What happened when we ran it

Our sandbox install succeeded in 15 seconds and installed 82 packages. Building commit 8ca6b07 then succeeded in 6 seconds. The checkout contained 168 files, roughly 23,372 lines of source, and occupied 1 MB before dependencies. It also had a Dockerfile and 2 CI workflow files. There was no top-level tests directory, which is ordinary for Go because test files commonly sit beside the packages they cover.

The test command ended with exit code 1 after 30 seconds. Go test reported 8 passed and 5 failed out of 13. The supplied tail identifies cmd/hetty as a setup failure and shows TestResponseModifier failing under pkg/reqlog; the run ends in FAIL. It also shows passing results for packages including pkg/db/bolt, pkg/filter, pkg/proxy/intercept, and pkg/sender. The excerpt does not expose the underlying error for every failed target, so claiming one shared cause would be guesswork.

The default :8080 listener needs a trusted network

Hetty's help text defaults to :8080, and the getting-started guide describes that as 0.0.0.0:8080. Open issue 141 reports that a remotely reachable listener exposes the admin UI and GraphQL API without authentication. Issue 106 separately reports a DNS rebinding path against the API. Both reports remain open. They should inform deployment even if you plan to use the application alone: bind narrowly, filter the port, and do not publish it as a convenience dashboard.

Open issue 153 goes further, reporting that a deeply nested GraphQL search expression can exhaust the Go stack and stop the process. A proposed fix exists in pull request 154, but the issue and pull request were still open when fetched. Issue 143 reports unbounded request and response body reads in logging and interception code, with possible memory and disk exhaustion. These are reports in the project's tracker rather than findings from our sandbox, yet each concerns an exposed core path rather than an optional plug-in.

Interception works, while edge cases remain open

The v0.7.0 release added the Intercept module in March 2022. It lets a tester review, edit, forward, or cancel a paused request or response from the web interface. That is the feature that turns a passive traffic log into a practical testing tool. Scope filters and search expressions also help when a browser session includes analytics, fonts, and unrelated background requests.

Current tracker activity shows unfinished edges in that same flow. Issue 145 says cancelling an intercepted request can dereference a nil pointer and panic. Pull request 161 addresses a request-table crash when stored sender URLs are invalid. Issue 158 asks for mTLS support because target-specific client certificates cannot be supplied. Anyone assessing enterprise systems that require a .p12 client identity should check that requirement before installing Hetty.

July 2026 code activity has not reached a newer release

The repository's last push was July 21, 2026, and issue or pull-request activity continued into August. GitHub listed 12,348 stars plus 48 open issues and pull requests, split into 27 issues and 21 pull requests in the open API result. Those figures show continuing interest and incoming work. They also show a queue that asks a buyer to inspect which fixes have merged instead of treating popularity as maintenance proof.

The latest tagged release remains v0.7.0 from March 29, 2022. The website's getting-started page still prints a v0.5.1 startup example and describes BadgerDB under ~/.hetty/db/, while the current README documents a ~/.hetty/hetty.db file and our test log names the Bolt package. The 2026 push date argues against calling the project abandoned. The gap between current code, old release material, and conflicting setup text is enough to keep Hetty in the evaluate-carefully category.

Alternatives

ProjectWhat it isPick it when
mitmproxyA scriptable interception proxy with terminal, web, and command-line interfaces.pick this instead when Python scripting, traffic transformations, and a longer-established proxy matter more than Hetty's compact Go codebase.
OWASP ZAPA desktop web security scanner and interception proxy maintained under OWASP.pick this instead when automated scanning, add-ons, and a fuller application-security workbench are required.
Burp SuiteA commercial web security testing suite with a widely used proxy and extension system.pick this instead when professional team workflows, client-certificate support, and commercial tooling justify the cost.

What people are saying

  1. [github-trending] dstotijn/hetty

Sources

  1. Hetty repository and README
  2. Hetty getting started guide
  3. Hetty v0.7.0 release
  4. Issue 141: unauthenticated admin and GraphQL access report
  5. Issue 143: unbounded body reads report
  6. Issue 145: cancel request panic report
  7. Issue 153: GraphQL filter denial of service report
  8. Issue 158: mTLS support request

More dev tools reviews

vtracer · How-To-Secure-A-Linux-Server · gpuix · openscreen · awesome-python · Acode · the whole board →