Skip to content

feat(reputation): add in-process Verdict MMDB lookups - #215

Merged
eldadfux merged 4 commits into
mainfrom
feat/reputation
Sep 7, 2026
Merged

feat(reputation): add in-process Verdict MMDB lookups#215
eldadfux merged 4 commits into
mainfrom
feat/reputation

Conversation

@eldadfux

@eldadfux eldadfux commented Sep 6, 2026

Copy link
Copy Markdown
Member

Summary

  • New utopia-php/reputation package: lazy MaxMind MMDB lookups against a Verdict database.
  • Returns a typed Record (Verdict::Clean|Low|Suspicious|Block, score, categories). Missing files, invalid IPs, and unknown verdicts fail open to clean.
  • Mirror repo: https://github.com/utopia-php/reputation (empty until Split).

Test plan

  • bin/monorepo check reputation --fix
  • bin/monorepo test reputation
  • bin/monorepo validate
  • Confirm Split publishes utopia-php/reputation after merge (merge commit, not squash)

Made with Cursor

Ship a small library that maps an IP to a typed verdict so consumers like Cloud WAF do not each embed a MaxMind reader.

Co-authored-by: Cursor <cursoragent@cursor.com>
eldadfux and others added 3 commits September 6, 2026 20:58
Do not search the MMDB until a field is read, and expose verdict, score, and categories through getters.

Co-authored-by: Cursor <cursoragent@cursor.com>
getVerdict() is the string WAF and callers already match on, not an enum case to unwrap.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@eldadfux
eldadfux merged commit f1e2959 into main Sep 7, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant