Skip to content

Conversation

@betterclever
Copy link
Contributor

Summary

Implements the AbuseIPDB API integration component for IP reputation checking.

Closes #37

Features

  • AbuseIPDB Check (`security.abuseipdb.check`) - Check the reputation of an IP address using the AbuseIPDB API
  • Returns abuse confidence score, country, ISP, total reports, and full detailed report
  • Supports `verbose` mode to include individual abuse reports
  • Configurable `maxAgeInDays` parameter (default: 90 days)

Implementation Details

  • Added proper retry policy with exponential backoff
  • API key handled as a secret input (via `port.secret()`)
  • Comprehensive error handling (ValidationError, ConfigurationError, HTTP errors)
  • Handles 404 responses gracefully

Testing

  • ✅ 8 unit tests passing
  • ✅ Integration test (gated behind `RUN_ABUSEDB_TESTS` env var)
  • ✅ E2E tested with real AbuseIPDB API

Files Changed

  • `worker/src/components/security/abuseipdb.ts` - Main component implementation
  • `worker/src/components/security/tests/abuseipdb.test.ts` - Unit tests
  • `worker/src/components/security/tests/abuseipdb-integration.test.ts` - Integration tests
  • `worker/src/components/index.ts` - Registry import

@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

- Added AbuseIPDB API wrapper component
- Added unit and integration tests
- Registered component in registry

Closes #37

Signed-off-by: betterclever <paliwal.pranjal83@gmail.com>
- Renamed files from abusedb to abuseipdb for clarity
- Extracted port definitions to avoid duplication between metadata and resolvePorts
- Added parameters array for maxAgeInDays and verbose in metadata
- Improved type safety by removing 'as any' assertions
- Added AbuseIPDBOutput interface in tests
- Added test cases for validation errors and verbose parameter
- Fixed readonly array type mismatch with SDK

Signed-off-by: betterclever <paliwal.pranjal83@gmail.com>
@betterclever betterclever force-pushed the betterclever/absuseipdb branch from 05d8107 to aabb705 Compare January 3, 2026 17:33
@betterclever betterclever merged commit 9bbe3d3 into main Jan 3, 2026
3 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.

AbuseIP Database - API Wrapper Component - IP Enrichment

2 participants