Weekly self-audit of your company's IP address reputation

Every Monday we scan your office, VPN, mail, and hosting IP ranges for abuse reports, post a summary to Slack, and open a ticket when anything crosses your risk line.

Agentic Task
AbuseIPDBSlackJiraEngineeringOperationsResearch & MonitoringNotifications & AlertsAI Reports
PromptCreate

Every Monday at 6:00am, run a self-audit of my company's own IP ranges to protect our outbound reputation and email deliverability. A compromised host or a spammer sitting on one of our addresses can quietly land us on abuse blocklists and get us blocked by other networks, so I want to catch it early. This checks our OWN space for reputation hygiene, not inbound attackers.

I will configure the CIDR blocks my company owns: our office range, our VPN range, our mail-sending range, and our hosting ranges. For each configured block, use AbuseIPDB's Check CIDR Block operation to find every IP inside our own space that has been reported for abuse. Keep each configured range to roughly a /24 (about 256 addresses). AbuseIPDB caps how wide a block you can check by subscription tier, and a too-wide CIDR returns a 402 error, so split anything larger into /24-sized chunks.

For each flagged address, collect its abuse confidence score (an integer from 0 to 100, where higher means more likely malicious) and the abuse categories it was reported under. The categories come back as integer IDs, so translate them into words in the summary (for example 4 = DDoS, 10 = Email Spam, 14 = Port Scan, 18 = Brute-Force, 22 = SSH). Group the findings by which of our ranges each address belongs to.

Post the summary to our security Slack channel using Slack's Send a Message. Lead with a one-line headline (how many flagged addresses across how many ranges), then list each flagged IP with its range, its confidence score, and what it was reported for. If every range is clean, say so plainly so the team knows the audit ran.

When a flagged address crosses the abuse confidence threshold I set (for example, 75 or higher), also open a remediation ticket with Jira's Create Issue so ownership is tracked to resolution. Give the ticket a clear title like 'Abuse report on owned IP <address> (confidence <score>)', and put the offending IP, its range, its confidence score, and its reported categories in the description. Note in the Slack message that a ticket was opened. Only open tickets for addresses at or above my threshold; keep lower-confidence findings in the Slack summary only.

Example output

Weekly IP reputation audit — 3 flagged addresses across 4 owned ranges Mail-sending range 203.0.113.0/24 - 203.0.113.45 — confidence 88/100 — reported for Email Spam and Brute-Force - 203.0.113.132 — confidence 42/100 — reported for Port Scan Hosting range 198.51.100.0/24 - 198.51.100.9 — confidence 95/100 — reported for SSH abuse and Brute-Force → Jira SEC-482 opened Office range and VPN range: clean. Ticket opened for any address at or above your threshold of 75.

Additional information

What does this prompt do?
  • Checks every IP range you own (office, VPN, mail-sending, and hosting) for any address inside your own space that has been reported for abuse.
  • Summarizes each flagged address, how confident the abuse reports are, and what it was reported for, translated into plain language.
  • Posts the weekly summary to your security Slack channel so your team spots reputation problems before other networks block you.
  • Automatically opens a tracked remediation ticket whenever an address crosses the risk level you set, so cleanup gets an owner.
What do I need to use this?
  • An AbuseIPDB account and API key
  • A list of the IP ranges your company owns (office, VPN, mail-sending, and hosting), ideally in blocks of about 256 addresses so each check stays within your AbuseIPDB plan limits
  • A Slack workspace and the channel your security team watches for alerts
  • A Jira account and the project where remediation tickets should be created
How can I customize it?
  • Change the schedule, for example run it daily instead of every Monday morning.
  • Set the abuse confidence level that triggers a Jira remediation ticket.
  • Add or remove IP ranges, or point the summary at a different Slack channel or Jira project.

Frequently asked questions

Why audit my own IP ranges instead of just blocking attackers?
A compromised machine or a spammer sitting on one of your addresses quietly wrecks your email deliverability and can get your whole range blocked by other networks. Checking your own space catches that outbound reputation damage early, which is different from screening inbound traffic.
Will this work on the free AbuseIPDB plan?
Yes, but the width of the range you can check in one request is capped by your AbuseIPDB subscription tier. Keep each range to about 256 addresses (a /24). A range that is too wide for your plan is rejected, so split larger blocks into smaller chunks.
What does the abuse confidence score mean?
It is a rating from 0 to 100 of how likely an address is malicious based on community reports. Higher means more reports and more concern. You choose the score at which the workflow opens a remediation ticket.
When does it open a Jira ticket versus just posting to Slack?
Everything flagged goes into the weekly Slack summary. A ticket is only opened for addresses that meet or exceed the confidence threshold you set, so serious issues get a tracked owner while low-confidence noise stays in the summary.
Can I send the summary to a specific channel?
Yes. Point it at whichever Slack channel your security team watches, and it will post the weekly audit there.

Protect your sending reputation before another network blocks you.

Run an automated weekly audit of your own IP ranges and catch abuse reports before they hurt your deliverability.