agentleFS
moonD4rkmoonD4rk/HackBrowserData/CLAUDE.md

HackBrowserData

CLAUDE.md15k starsChanged 7 months agoMITView on GitHub

This project is for security research and defensive purposes only. Do not generate code that could be used for unauthorized access. All security research must be conducted ethically and within legal boundaries. HackBrowserData is a CLI security research tool for extracting and decrypting browser data across Windows, macOS, and Linux. It supports Chromium-based browsers and Firefox. Constraint: Must build with Go 1.20 (Windows 7 support). Do not use features from Go 1.21+ (e.g., log/slog, slices, maps, cmp packages). Chrome 127+…

  • Installs packages

We split this CLAUDE.md into the rules it gives an agent

7 rules. About 0 are common, 0 are distinctive, and 7 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 7

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Constraint: Must build with Go 1.20 (Windows 7 support).

    line 13
  2. Very specific:

    Default go build links a stub that errors at runtime when ABE is needed — contributors not touching Windows ABE need no zig.

    line 56
  3. Very specific:

    Platform code: use build tags (_darwin.go, _windows.go, _linux.go)

    line 61
  4. Very specific:

    C payload: all sources in crypto/windows/abe_native/ are first-party (no vendored C).

    line 62
  5. Very specific:

    Naming: follow Go conventions — Config not BrowserConfig, Extract not BrowsingData

    line 65
  6. Very specific:

    Tests: use t.TempDir() for filesystem tests, go-sqlmock for database tests

    line 67
  7. Very specific:

    No root-level library API — CLI calls browser.DiscoverBrowsersWithKeys() directly

    line 75

≈ “Common” is an estimate: at least 1 in 5 of the 25,680 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Security Notice

This project is for security research and defensive purposes only. Do not generate code that could be used for unauthorized access. All security research must be conducted ethically and within legal boundaries.

Project Overview

HackBrowserData is a CLI security research tool for extracting and decrypting browser data across Windows, macOS, and Linux. It supports Chromium-based browsers and Firefox.

Constraint: Must build with Go 1.20 (Windows 7 support). Do not use features from Go 1.21+ (e.g., log/slog, slices, maps, cmp packages).

Development Commands

# Build (use go@1.20 for module operations)
go build ./cmd/hack-browser-data/

# Cross-compile
GOOS=windows GOARCH=amd64 go build ./cmd/hack-browser-data/
GOOS=linux GOARCH=amd64 go build ./cmd/hack-browser-data/

# Test
go test ./...
go test -v ./... -covermode=count -coverprofile=coverage.out

# Lint (requires golangci-lint v2)
golangci-lint run

# Format (gofumpt is stricter than gofmt)
gofumpt -l -w .
goimports -w -local github.com/moond4rk/hackbrowserdata .

# Spelling
typos

# Dependencies (MUST use go@1.20 to avoid bumping go directive)
# export GOROOT=$(brew --prefix go@1.20)/libexec && export PATH=$GOROOT/bin:$PATH
go mod tidy
go mod verify

Chrome ABE Payload (Windows only)

Chrome 127+ cookies (v20) decrypt via a C payload reflectively injected into chrome.exe. Sources in crypto/windows/abe_native/; design in RFC-010.

make payload         # build the DLL (needs zig: brew install zig)
make build-windows   # cross-compile hack-browser-data.exe with payload embedded
make gen-layout      # regenerate Go layout constants from bootstrap_layout.h
make payload-clean   # rm crypto/*.bin
  • Default go build links a stub that errors at runtime when ABE is needed — contributors not touching Windows ABE need no zig.
  • -tags abe_embed embeds the payload via //go:embed (see crypto/abe_embed_windows.go / crypto/abe_stub_windows.go).

Code Conventions

  • Platform code: use build tags (_darwin.go, _windows.go, _linux.go)
  • C payload: all sources in crypto/windows/abe_native/ are first-party (no vendored C). See RFC-010 §9.2 for why Stephen Fewer's reflective loader was rejected.
  • Error handling: fmt.Errorf("context: %w", err) for wrapping, never _ = to ignore errors
  • Logging: log.Debugf for record-level diagnostics, log.Infof for user-facing progress/status, log.Warnf for unexpected conditions. Extract methods should return errors, not log them.
  • Naming: follow Go conventions — Config not BrowserConfig, Extract not BrowsingData
  • Comment width: wrap comments at 140 columns (matches .golangci.yml lll.line-length)
  • Tests: use t.TempDir() for filesystem tests, go-sqlmock for database tests
  • Architecture: see rfcs/ for design documents

Key Constraints

  • modernc.org/sqlite pinned at v1.31.1 (v1.32+ requires Go 1.21)
  • golang.org/x/text will be removed in refactoring (use 3-byte UTF-8 BOM instead)
  • No pkg/ + internal/ directory structure — keep it simple
  • No root-level library API — CLI calls browser.DiscoverBrowsersWithKeys() directly

Download now (ZIP)

Trending

Quiet since August.about the whole repository

Dec 2025: 0 mentionsJan 2026: 1 mentionFeb 2026: 0 mentionsMar 2026: 0 mentionsApr 2026: 0 mentionsMay 2026: 1 mentionJun 2026: 1 mentionJul 2026: 1 mentionAug 2026: 1 mentionSep 2026: 0 mentionsOct 2026: 0 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the moonD4rk/HackBrowserData repository that our weekly crawl found. There is no adoption data for this file yet.

Who's talking about moonD4rk/HackBrowserData

The biggest 5 of 21 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 21

Talked about on GitHub, the web, YouTube and Bluesky (21 times).

On GitHub · 14

9 more on GitHub

On YouTube · 2

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.