Problem/Motivation

The Ban module currently lists blocked IP addresses without any indication of their risk or reputation.
This makes it difficult for administrators to quickly assess which IPs are potentially malicious or should be prioritized for review.
Integrating an external reputation service like AbuseIPDB would provide additional context and improve decision-making when managing banned IPs.

Steps to reproduce

  1. Go to /admin/config/people/ban
  2. View the list of banned IP addresses
  3. Observe that there is no reputation or risk scoring available for each IP

Proposed resolution

I have already implemented an extension that integrates AbuseIPDB scoring into the Ban module and am sharing it here for consideration.

  • Add a new column to the ban table for the AbuseIPDB score
  • Fetch and optionally cache scores from the AbuseIPDB API
  • Display the score alongside each banned IP
  • Optionally make the column sortable or filterable

I would be happy to contribute this work upstream and make any adjustments needed to align with project standards.

Remaining tasks

  • Review and refine implementation based on maintainer feedback
  • Add configuration for API key management (if needed)
  • Add error handling for API failures
  • Optional: Add automated tests

User interface changes

  • Adds a new column (e.g., “AbuseIPDB Score”) to the ban list table
  • Displays a numeric score (0–100) indicating IP reputation
  • Optional visual indicators for high-risk IPs

API changes

  • Introduces integration with the external AbuseIPDB API
  • May require configuration for API key storage
  • No breaking changes to existing Ban module APIs

Data model changes

No required schema changes if scores are fetched dynamically.

Optional: Add caching for AbuseIPDB scores using Drupal cache API or a custom storage approach.

Additional information

I am actively working with this module and would be interested in helping maintain and improve it.
If appropriate, I would appreciate being considered as a co-maintainer to help contribute enhancements like this and assist with ongoing development.

Comments

jnguyen23 created an issue.