Lantunnel
Install Lantunnel Client on each participating device to access your whole LAN from anywhere with P2P-first low-latency routing, encrypted transport, and relay fallback without port forwarding.
Runs several independent, narrowly focused passes over every source file instead of one general “find bugs” prompt, then merges the results. Every file gets a recorded status and every failed pass is
SecurityPython · DockerfileGitHub @fabiocicerchiaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Multi-pass LLM code audit with resumable state and explicit coverage accounting — independent focused lenses per file, overlapping windows, and every file accounted for, including the ones it skipped.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Multi-pass LLM code audit with resumable state and explicit coverage accounting.
Built for the case where you have many repositories and need to know not just
what was found, but what was actually looked at.
For every source file it runs several independent focused passes rather
than one general "find bugs" prompt, then merges the results.Read the full README ↗Multi-pass LLM code audit with resumable state and explicit coverage accounting.
Built for the case where you have many repositories and need to know not just what was found, but what was actually looked at.
For every source file it runs several independent focused passes rather than one general "find bugs" prompt, then merges the results.
--repeat N additionally reruns each lens to counter sampling
variance.curl -fsSL https://raw.githubusercontent.com/fabiocicerchia/readthrough/main/install.sh | sh
Or with pip / pipx:
pipx install git+https://github.com/fabiocicerchia/readthrough.git
Then set the API key:
export ANTHROPIC_API_KEY=sk-ant-...
Python 3.10+. The only runtime dependency is the anthropic SDK.
# Try the whole pipeline for free first — no API calls, deterministic stub.
readthrough scan ./my-repo --fake --out /tmp/dry-run
# See what a real run would cost before committing to it.
readthrough scan ./my-repo --estimate-only
# A real scan.
readthrough scan ./my-repo --out reports/my-repo
# Tier-1 repo: strongest model, extended thinking, all lenses, verification.
readthrough scan ./payments \
--model claude-opus-5 --thinking high \
--lenses injection,authz,secrets,logic,errors,concurrency,data \
--repeat 2 --verify --out reports/payments
# All 80 repos, plus a rollup ranking them by risk.
readthrough multi ~/src --out reports/
# Rebuild reports from an existing scan without re-scanning.
readthrough report reports/my-repo
readthrough lenses # list available lenses
multi takes either a directory of repos or a text file of paths, one per
line.
Written to the output directory:
| File | Purpose |
|---|---|
report.md | Human-readable: coverage first, then findings by priority |
findings.json | Everything, for scripting |
coverage.json | What was scanned, skipped, and failed |
findings.sarif | Upload to GitHub code scanning |
scan.db | Resumable state — keep it, delete it to start fresh |
multi additionally writes rollup.md and rollup.json ranking every repo.
Cost scales with lines x lenses x repeats. Levers, roughly in order of
usefulness:
--lenses — the biggest lever. Four default lenses, seven available.--limit N — only the N largest files. Good for a first look.--ext py,ts — restrict to the languages that matter.--exclude 'tests/*' --exclude '*_test.go' — repeatable glob.--model claude-haiku-4-5-20251001 for low-tier repos.--estimate-only prints projected token counts without calling anything.Run --estimate-only on your largest repo before turning this loose on 80.
Do not run the deep configuration everywhere. Rank first, then spend:
--repeat 2, --verify, Opus. Perhaps 5-10 repos.--lenses injection,authz --limit 40, or skip
entirely and rely on CI static analysis.Then close the loop: every confirmed finding becomes a Semgrep rule in a shared ruleset all the repos consume. That is the part that compounds. This tool finds instances; the rules stop the class from recurring. The report's "recurring defect classes" table is there to tell you which classes are worth writing a rule for.
.github/workflows/readthrough.yml scans only the files changed in a pull
request and uploads SARIF, so findings appear as inline PR annotations. Per-PR
review is the highest-value placement — small scope, and the author still has
the code in their head. See
examples/github-actions/ for the version to drop
into another repository.
Worth being clear, because the failure mode of a tool like this is trusting it more than it deserves.
assumptions field on each
finding tells you when the model was reasoning about code it could not see.--verify cuts them substantially but not
to zero. Sort by severity and agreement, and read the code before acting.Full docs live in docs/. Runnable examples live in
examples/.
See CONTRIBUTING.md. By participating you agree to the Code of Conduct.
Found a vulnerability? See SECURITY.md — please don't open a public issue.
Apache 2.0 © 2026 Fabio Cicerchia