Skip to content

docs(readme): new ≤20-line top section — one-liners, honest recall, demo #205

Open

Description

@hermanngeorge15

Part of the 2026-10-24 launch plan (step 2).

What

The README is 1,040 lines. The first 25 lines say "download a binary and chmod it" and the strongest fact in the file — the measured recall, including the 16.7% held-out number — is at line 407. Replace the top with a ≤20-line section that leads with install one-liners, the honest numbers and a demo, and leave the rest of the file as the reference it already is.

Proposed top section (verbatim draft, adjust once crates.io/brew exist)

# injection-scanner

[CI] [CodeQL] [crates.io] [MIT]

Static scanner for prompt injection in the files your AI agent reads: `CLAUDE.md`, skill files,
MCP tool descriptions, RAG documents. Rust, one binary, no network, about 60 ms on a 40-file repo.

**84 patterns, 9 categories. Measured, not claimed:** 105/115 (91%) on the development corpus and
**2/12 (17%) on a sealed held-out set** for the newest category. Both numbers are pinned in CI and
reported side by side — [how they are measured](#how-much-does-it-actually-catch).

    cargo install injection-scanner        # or: brew install unityinflow/tap/injection-scanner
    injection-scanner check .              # exit 1 on findings; --format sarif for code scanning
    injection-scanner install-hook         # pre-commit hook: scans staged files, blocks HIGH+

![demo](docs/demo/demo.gif)

What it is: a pattern-and-structure linter with a maintained library, baselines and inline
suppression. What it is not: a classifier, a runtime guard or a guarantee — a determined attacker
can phrase around a regex. For runtime detection look at promptfoo, llm-guard or rebuff.

Also fix while there

  • README.md §Pre-commit Hook pins rev: v0.0.3 in the pre-commit example — stale by three releases; make it v0.3.0.
  • Add CI, Code scanning and crates.io badges (both workflows are green on main as of 2026-10-23).
  • Move the current "Installation" block (binary download + chmod) below the one-liners as "Other ways to install", and keep the SHA256SUMS / gh attestation verify instructions there.

Done when

  • First 20 lines contain: what it is, the two recall numbers, two install one-liners, three commands, the demo, the honest "what it is not".
  • No line in the top section claims a number that tests/recall_test.rs does not pin.
  • injection-scanner check README.md still exits 0 (the README documents attacks; the fences must survive).

Effort: ~2 h.

Activity

  1. hermanngeorge15 commented on Oct 24, 2026

    @hermanngeorge15
    ContributorAuthor

    Tracking issue: #211. Plan document: docs/reviews/2026-10-24-launch-plan.md.

  2. hermanngeorge15 commented on Oct 25, 2026

    @hermanngeorge15
    ContributorAuthor

    Implemented in draft PR #212 (launch/v0.3.0-packaging). Verified locally; see the PR body for what is blocked on the org Actions allowlist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions