<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.3">Jekyll</generator><link href="https://blog.fraudguard.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://blog.fraudguard.io/" rel="alternate" type="text/html" /><updated>2026-07-11T23:49:50-04:00</updated><id>https://blog.fraudguard.io/feed.xml</id><title type="html">FraudGuard.io</title><subtitle>FraudGuard.io helps security, fraud, and platform teams stop malicious traffic with an IP reputation API, ACE threat intelligence, honeypot telemetry, and AWS-native abuse controls.</subtitle><author><name>FraudGuard.io</name><email>hello@fraudguard.io</email></author><entry><title type="html">Predictive IP Risk with ACE v2 Forecast</title><link href="https://blog.fraudguard.io/security/2026/06/14/predictive-threat-intelligence.html" rel="alternate" type="text/html" title="Predictive IP Risk with ACE v2 Forecast" /><published>2026-06-14T00:00:00-04:00</published><updated>2026-07-11T00:00:00-04:00</updated><id>https://blog.fraudguard.io/security/2026/06/14/predictive-threat-intelligence</id><content type="html" xml:base="https://blog.fraudguard.io/security/2026/06/14/predictive-threat-intelligence.html"><![CDATA[<p>Most IP reputation APIs answer the same question: <em>what has this IP already done?</em></p>

<p>That is useful, but it is backward-looking by definition. By the time an IP address has already triggered enough obvious malicious activity to appear in a traditional reputation feed, it may have already reached your login page, checkout flow, API, VPN, or cloud infrastructure.</p>

<p>Today we are introducing <code class="language-plaintext highlighter-rouge">/ace/v2/ip/forecast</code>, a new FraudGuard endpoint designed to answer a more proactive question: <strong>what is this IP likely to do next based on the surrounding evidence?</strong></p>

<p>Forecast uses predictive modeling built from years of first-party honeypot observations, attack pattern data, nearby network activity, and ACE correlation output to estimate an IP address’s future risk trajectory. It is not meant to replace hard evidence from direct attack activity. It is meant to add a forward-looking risk signal so teams can apply smarter scrutiny before direct abuse appears, especially in environments with strict security policies.</p>

<h2 id="what-forecast-does">What Forecast Does</h2>

<p>The endpoint takes one IPv4 or IPv6 address and returns a forward-looking assessment alongside the current ACE risk state. CIDR ranges, hostnames, and arrays of IPs are not accepted by this endpoint.</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"ip"</span><span class="p">:</span><span class="w"> </span><span class="s2">"94.243.8.249"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"current_risk"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
  </span><span class="nl">"forecast_risk"</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w">
  </span><span class="nl">"current_action"</span><span class="p">:</span><span class="w"> </span><span class="s2">"allow"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"forecast_action"</span><span class="p">:</span><span class="w"> </span><span class="s2">"challenge"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"outlook"</span><span class="p">:</span><span class="w"> </span><span class="s2">"worsening"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"confidence"</span><span class="p">:</span><span class="w"> </span><span class="mi">90</span><span class="p">,</span><span class="w">
  </span><span class="nl">"trend"</span><span class="p">:</span><span class="w"> </span><span class="s2">"rising"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"time_window"</span><span class="p">:</span><span class="w"> </span><span class="s2">"30d"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"forecast_horizon"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"period"</span><span class="p">:</span><span class="w"> </span><span class="s2">"near_term"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"days"</span><span class="p">:</span><span class="w"> </span><span class="mi">7</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"signals"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
    </span><span class="nl">"events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
    </span><span class="nl">"events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
    </span><span class="nl">"risk_24h_ago"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
    </span><span class="nl">"risk_7d_ago"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
    </span><span class="nl">"risk_30d_ago"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
    </span><span class="nl">"active_trackers"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
    </span><span class="nl">"active_attributes"</span><span class="p">:</span><span class="w"> </span><span class="p">[],</span><span class="w">
    </span><span class="nl">"max_severity_30d"</span><span class="p">:</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w">
    </span><span class="nl">"distinct_sources_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"nearby_activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"prefix"</span><span class="p">:</span><span class="w"> </span><span class="s2">"94.243.8.0/24"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w">
    </span><span class="nl">"events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">96</span><span class="p">,</span><span class="w">
    </span><span class="nl">"events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">111</span><span class="p">,</span><span class="w">
    </span><span class="nl">"distinct_ips_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
    </span><span class="nl">"distinct_ips_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w">
    </span><span class="nl">"distinct_ips_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w">
    </span><span class="nl">"active_trackers"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"scanner_tracker"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"abuse_tracker"</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"active_attributes"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"remote_access_probe"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"persistent_touch_pattern"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"dense_scan_cluster"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"command_execution_probe"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"shell_or_downloader_artifact"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"suspicious_command_indicator"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"legacy_shell_probe"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"scan_retry_pattern"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"credential_attack_pattern"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"login_bruteforce_behavior"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"credential_field_submitted"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"credential_stuffing_probe"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"repeated_probe_pattern"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"sustained_probe_stream"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"telnet_login_surface_scan"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multi_attempt_sequence"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"high_volume_honeypot_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"web_route_scan"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"authentication_surface_scan"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"known_exploit_path_scan"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"admin_surface_probe"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"scripted_request_pattern"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"recently_active"</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"max_severity_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"why"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="s2">"No direct malicious activity observed for this IP"</span><span class="p">,</span><span class="w">
    </span><span class="s2">"Recent malicious activity observed in the same prefix"</span><span class="p">,</span><span class="w">
    </span><span class="s2">"Prefix contains scanner or probing activity"</span><span class="p">,</span><span class="w">
    </span><span class="s2">"Prefix contains abuse activity"</span><span class="w">
  </span><span class="p">],</span><span class="w">
  </span><span class="nl">"recommendation"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Apply additional scrutiny; nearby ACE activity indicates elevated prefix risk."</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<p>This example shows why forecast-based threat intelligence matters.</p>

<p>In this response, IP <code class="language-plaintext highlighter-rouge">94.243.8.249</code> has no direct observed attack events in the selected window: no honeypot hits, no active trackers, and no direct ACE activity. A traditional reputation check may return a low current risk and move on.</p>

<p>Forecast adds context. ACE sees recent activity in the surrounding <code class="language-plaintext highlighter-rouge">/24</code> prefix: 111 events over the last 30 days, 12 distinct IPs involved, scanner and abuse trackers active, and a maximum severity of 4. Based on that nearby activity and historical behavior patterns, Forecast projects the IP into a higher-risk trajectory with a <code class="language-plaintext highlighter-rouge">forecast_risk</code> of 4 and a recommended <code class="language-plaintext highlighter-rouge">forecast_action</code> of <code class="language-plaintext highlighter-rouge">challenge</code>.</p>

<h2 id="how-it-works-under-the-hood">How It Works Under the Hood</h2>

<p>Forecast is not a static blocklist, and it should not be treated as absolute proof that an IP address is malicious. It is a predictive layer built on top of FraudGuard’s Attack Correlation Engine (ACE), using patterns observed across FraudGuard’s own honeypot network and threat intelligence pipeline.</p>

<p>Key signals include:</p>

<ul>
  <li><strong>Historical attack patterns</strong> — Many abusive IPs do not appear at full severity immediately. They often scan, probe, test infrastructure, and move through stages before becoming obvious application-level threats.</li>
  <li><strong>Prefix-level activity correlation</strong> — Attackers rarely operate from a single isolated IP. When nearby addresses in the same network block show aggressive behavior, that activity can be predictive for other addresses in the same range.</li>
  <li><strong>Infrastructure context</strong> — Hosting provider, ASN, organization, connection type, and deployment patterns can all influence risk trajectory.</li>
  <li><strong>ACE correlation output</strong> — Forecast uses the same multi-signal intelligence model that powers ACE v2, including honeypot activity, tracker behavior, severity scoring, and recent activity windows.</li>
</ul>

<p>The result is not a crystal ball. It is a model-based assessment grounded in observed outcomes. The <code class="language-plaintext highlighter-rouge">confidence</code> score helps indicate how strong the supporting signal is based on volume, recency, and correlation strength. In practice, Forecast is most valuable as a decision-support signal: useful for challenges, rate limits, watchlists, review queues, and added monitoring rather than as the only reason for a permanent block.</p>

<h2 id="built-for-strict-security-policies">Built for Strict Security Policies</h2>

<p>Predictive enforcement is not for every workflow.</p>

<p>Many websites and applications should start with standard ACE v2 current-risk checks, then use Forecast only for additional monitoring or review. Forecast is most valuable for organizations with stricter security policies, lower tolerance for suspicious infrastructure, and higher cost of account abuse or unauthorized access.</p>

<p>Examples include:</p>

<ul>
  <li>fintech and payments</li>
  <li>banking and lending</li>
  <li>government and public-sector systems</li>
  <li>critical infrastructure providers</li>
  <li>healthcare and insurance workflows</li>
  <li>enterprise identity and access systems</li>
  <li>high-value B2B SaaS platforms</li>
  <li>marketplaces, exchanges, and platforms with elevated fraud risk</li>
</ul>

<p>In those environments, the right response to a forecast signal is usually additional scrutiny: MFA step-up, CAPTCHA, BotGuard, rate limiting, queueing, manual review, tighter session controls, or a watchlist. A forecast signal should support a stricter policy decision; it should not be presented as proof that the exact IP has already attacked you unless direct ACE activity is also present.</p>

<h2 id="why-this-matters-now">Why This Matters Now</h2>

<h3 id="catching-campaigns-during-ramp-up">Catching Campaigns During Ramp-Up</h3>

<p>Attack campaigns often begin with reconnaissance: scanning ports, testing services, mapping exposed systems, and probing authentication surfaces. During this phase, an attacker may generate activity across related infrastructure before touching your environment directly.</p>

<p>Forecast helps detect that ramp-up period earlier.</p>

<p><strong>Use case:</strong> In a strict security environment, route IPs with <code class="language-plaintext highlighter-rouge">forecast_action: "challenge"</code> into additional scrutiny, such as rate limiting, CAPTCHA, BotGuard, MFA step-up, queueing, or manual review, before they generate direct abuse against your application.</p>

<h3 id="resource-prioritization">Resource Prioritization</h3>

<p>Not every IP address deserves the same monitoring or enforcement budget. Forecast combines risk trajectory and confidence so teams can make more intelligent policy decisions.</p>

<table>
  <thead>
    <tr>
      <th>Signal</th>
      <th style="text-align: right">Confidence</th>
      <th>Recommended Approach</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">outlook: "worsening"</code></td>
      <td style="text-align: right">80+</td>
      <td>Apply stricter scrutiny where policy allows</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">trend: "rising"</code></td>
      <td style="text-align: right">50–79</td>
      <td>Increase monitoring and apply caution</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">outlook: "stable"</code></td>
      <td style="text-align: right">Any</td>
      <td>Maintain current policy</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">outlook: "improving"</code></td>
      <td style="text-align: right">70+</td>
      <td>Consider relaxing restrictions where appropriate</td>
    </tr>
  </tbody>
</table>

<h3 id="proactive-watchlist-building">Proactive Watchlist Building</h3>

<p>Instead of adding IPs to watchlists only after they have already caused problems, teams can use Forecast output to build forward-looking watchlists. An IP that is low-risk today but projected to move into a higher-risk category can be flagged before direct abuse appears in application logs.</p>

<p>For most customer environments, the right first step is not an automatic hard block. A <code class="language-plaintext highlighter-rouge">challenge</code>, <code class="language-plaintext highlighter-rouge">rate-limit</code>, or <code class="language-plaintext highlighter-rouge">review</code> action gives security teams a practical middle ground: higher scrutiny without unnecessary disruption. Hard blocks based primarily on forecast signals should be reserved for the strictest policies and highest-risk workflows.</p>

<h3 id="reducing-reactive-incident-response">Reducing Reactive Incident Response</h3>

<p>The most expensive moment in incident response is often the point where a team realizes an attack campaign is already active and has to scramble.</p>

<p>Forecast shifts that response window left. Instead of only reacting to what just happened, teams can prepare for what the data suggests is likely to happen next.</p>

<h2 id="the-example-again--why-it-matters">The Example Again — Why It Matters</h2>

<p>Looking again at <code class="language-plaintext highlighter-rouge">94.243.8.249</code>:</p>

<ul>
  <li><strong>Current state:</strong> Risk level 1, zero direct events, no active trackers.</li>
  <li><strong>Nearby activity:</strong> 111 events in the surrounding <code class="language-plaintext highlighter-rouge">/24</code> over the last 30 days, with scanner and abuse activity present.</li>
  <li><strong>Forecast state:</strong> Risk level 4, <code class="language-plaintext highlighter-rouge">worsening</code> outlook, <code class="language-plaintext highlighter-rouge">rising</code> trend, and a recommended <code class="language-plaintext highlighter-rouge">challenge</code> action.</li>
</ul>

<p>That distinction matters. A current-risk-only system may allow the IP without question. A forecast-aware system can apply additional scrutiny before the IP becomes a direct problem.</p>

<p>If the forecast proves correct, the customer has already reduced exposure. If the forecast proves overly cautious, the customer has applied a challenge or rate limit rather than a permanent block. That is the advantage of predictive threat intelligence: it gives defenders an earlier, lower-cost decision point.</p>

<h2 id="available-now">Available Now</h2>

<p>Forecast is available as a standalone endpoint at <code class="language-plaintext highlighter-rouge">POST /ace/v2/ip/forecast</code> for accounts with ACE v2 Forecast access. It can be called independently or used alongside standard ACE v2 IP check responses.</p>

<p>The intelligence behind Forecast is built from FraudGuard’s first-party honeypot observations and ACE correlation pipeline. Forecast does not rely on crowdsourced abuse reports or community submissions. It is derived from infrastructure, sensors, and data pipelines operated by FraudGuard.</p>

<p>Read the API documentation at <a href="https://docs.fraudguard.io/#ace-v2-ip-forecast">docs.fraudguard.io/#ace-v2-ip-forecast</a> or try a public lookup at <a href="https://fraudguard.io/iplookup-v2">fraudguard.io/iplookup-v2</a>.</p>

<p>Questions, integration guidance, or feature requests: hello@fraudguard.io.</p>]]></content><author><name>FraudGuard.io</name><email>hello@fraudguard.io</email></author><category term="security" /><category term="predictive-intelligence" /><category term="ace-v2" /><category term="forecast" /><category term="threat-modeling" /><category term="ip-reputation" /><summary type="html"><![CDATA[ACE v2 Forecast estimates an IP's near-term risk trajectory from observed attacks, prefix activity, recency, and correlation signals.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" /><media:content medium="image" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">FraudGuard vs GreyNoise for IP Reputation</title><link href="https://blog.fraudguard.io/security/comparison/2026/06/14/fraudguard-vs-greynoise.html" rel="alternate" type="text/html" title="FraudGuard vs GreyNoise for IP Reputation" /><published>2026-06-14T00:00:00-04:00</published><updated>2026-07-11T00:00:00-04:00</updated><id>https://blog.fraudguard.io/security/comparison/2026/06/14/fraudguard-vs-greynoise</id><content type="html" xml:base="https://blog.fraudguard.io/security/comparison/2026/06/14/fraudguard-vs-greynoise.html"><![CDATA[<p>GreyNoise is a strong scanner-intelligence and SOC noise-reduction product. If your team needs to understand internet-wide scanning, investigate noisy alerts, prioritize vulnerability activity, or build scanner-informed blocklists, GreyNoise is worth evaluating.</p>

<p>FraudGuard solves a different problem: affordable, API-first IP reputation for production systems that need to decide whether traffic should be allowed, challenged, or blocked.</p>

<p>If you are looking for a GreyNoise alternative because you need IP risk decisions inside a login flow, signup form, checkout system, API gateway, WAF workflow, fraud queue, or customer-specific policy engine, FraudGuard is the better fit.</p>

<h2 id="quick-answer">Quick Answer</h2>

<table>
  <thead>
    <tr>
      <th>Need</th>
      <th>Better Fit</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Scanner context, SOC triage, threat hunting</td>
      <td>GreyNoise</td>
    </tr>
    <tr>
      <td>Dynamic scanner-informed firewall blocklists</td>
      <td>GreyNoise</td>
    </tr>
    <tr>
      <td>App/API request-path decisions</td>
      <td><strong>FraudGuard</strong></td>
    </tr>
    <tr>
      <td>Lower-cost IP reputation API</td>
      <td><strong>FraudGuard</strong></td>
    </tr>
    <tr>
      <td>No mandatory sales call or annual contract for standard plans</td>
      <td><strong>FraudGuard</strong></td>
    </tr>
    <tr>
      <td>Custom security workflows built around IP risk data</td>
      <td><strong>FraudGuard</strong></td>
    </tr>
  </tbody>
</table>

<p>Both products are useful. They are not the same tool.</p>

<hr />

<h2 id="the-main-difference">The Main Difference</h2>

<p>GreyNoise helps answer:</p>

<ul>
  <li>Is this IP part of broad internet scanning?</li>
  <li>Is this alert likely background scanner noise?</li>
  <li>What tags, CVEs, or scanner behaviors are associated with this IP?</li>
  <li>Should a SOC analyst spend time on this event?</li>
</ul>

<p>FraudGuard helps answer:</p>

<ul>
  <li>Should this request be allowed, challenged, or blocked?</li>
  <li>Is this IP risky for my application, API, signup flow, or customer account?</li>
  <li>Does my customer policy whitelist, blacklist, geoblock, or rate-limit this request?</li>
  <li>Can I explain the decision with evidence?</li>
</ul>

<p>That distinction matters. Analyst context is valuable, but production systems need a decision.</p>

<hr />

<h2 id="pricing-and-buying-friction">Pricing and Buying Friction</h2>

<p>Checked July 11, 2026, <a href="https://www.greynoise.io/products/block-pricing">GreyNoise’s public pricing page</a> lists GreyNoise Block at <strong>$9,999/year</strong> for organizations under 2,500 employees. Broader platform access is positioned through sales-led plans for larger organizations, MSSPs, and enterprise buyers. Pricing and offers can change; verify the vendor page during evaluation.</p>

<p><a href="https://fraudguard.io/pricing">FraudGuard pricing</a> is public and API-focused:</p>

<table>
  <thead>
    <tr>
      <th>Plan</th>
      <th style="text-align: right">Monthly Cost</th>
      <th style="text-align: right">Annualized</th>
      <th>Includes</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>Starter</strong></td>
      <td style="text-align: right">$29/mo</td>
      <td style="text-align: right">$348/year</td>
      <td>1M requests/month and core IP reputation</td>
    </tr>
    <tr>
      <td><strong>Professional</strong></td>
      <td style="text-align: right">$99/mo</td>
      <td style="text-align: right">$1,188/year</td>
      <td>ACE v2 single lookup, customer lists, geoblocking, rate limiting, 5M requests/month</td>
    </tr>
    <tr>
      <td><strong>Business</strong></td>
      <td style="text-align: right">$299/mo</td>
      <td style="text-align: right">$3,588/year</td>
      <td>ACE v2 bulk, ThreatWatch, daily offline data, 25M requests/month</td>
    </tr>
    <tr>
      <td><strong>Enterprise</strong></td>
      <td style="text-align: right">$599/mo</td>
      <td style="text-align: right">$7,188/year</td>
      <td>100M requests/month, higher throughput, Attack Stream and advanced delivery workflows</td>
    </tr>
  </tbody>
</table>

<p>That means FraudGuard Starter is roughly <strong>3.5%</strong> of the listed GreyNoise Block annual price. Even FraudGuard Enterprise is below the listed GreyNoise Block annual price while listing 100M monthly API requests.</p>

<p>FraudGuard has operated for more than a decade and publishes its standard-plan pricing. That makes it easier for teams to model costs before a procurement conversation.</p>

<p>FraudGuard standard plans also avoid the common buying friction:</p>

<ul>
  <li>public pricing</li>
  <li>public documentation</li>
  <li>free public lookup</li>
  <li>direct trial path</li>
  <li>no mandatory sales call for standard plans</li>
  <li>no annual contract for standard plans</li>
</ul>

<p>Custom engineering, dedicated data delivery, or customer-specific architecture work may require a separate agreement. But if you want the standard IP reputation API, you should not need a sales process just to find out whether it is affordable.</p>

<hr />

<h2 id="where-greynoise-is-strong">Where GreyNoise Is Strong</h2>

<p><a href="https://docs.greynoise.io/docs/using-the-greynoise-query-language-gnql">GreyNoise documentation</a> describes scanner-intelligence classifications such as benign, malicious, suspicious, and unknown. GreyNoise also provides tags, Visualizer workflows, RIOT/business-service context, CVE-related intelligence, API access, feeds, and <a href="https://www.greynoise.io/products/block-pricing">GreyNoise Block</a>.</p>

<p>That is useful for:</p>

<ul>
  <li>SOC triage</li>
  <li>threat hunting</li>
  <li>vulnerability prioritization</li>
  <li>internet scanner research</li>
  <li>reducing noisy alerts</li>
  <li>scanner-informed perimeter blocklists</li>
</ul>

<p>If those are your primary use cases, GreyNoise may be the right tool.</p>

<hr />

<h2 id="where-fraudguard-wins">Where FraudGuard Wins</h2>

<p>FraudGuard is built for teams that need IP intelligence to drive production controls:</p>

<ul>
  <li>native <code class="language-plaintext highlighter-rouge">allow</code>, <code class="language-plaintext highlighter-rouge">challenge</code>, and <code class="language-plaintext highlighter-rouge">block</code> recommendations</li>
  <li>risk level, confidence, and reason codes</li>
  <li>honeypot-observed attack evidence</li>
  <li>customer whitelist, blacklist, geoblock, and rate-limit context</li>
  <li>high-volume API economics</li>
  <li>bulk lookup and offline database workflows</li>
  <li>flexible support for custom security workflows</li>
</ul>

<p>This matters because not every risky request should become a permanent firewall block. Some traffic should be challenged, rate limited, routed to review, allowed because of a customer whitelist, or handled differently based on business rules.</p>

<p>FraudGuard is built for that app/API policy layer.</p>

<hr />

<h2 id="full-api-example">Full API Example</h2>

<p><a href="https://docs.greynoise.io/docs/using-the-greynoise-community-api">GreyNoise Community API examples</a> are useful for scanner context: <code class="language-plaintext highlighter-rouge">noise</code>, <code class="language-plaintext highlighter-rouge">riot</code>, classification, name, Visualizer link, and last-seen date.</p>

<p>FraudGuard ACE v2 is designed to return an enforcement-ready decision with risk, evidence, customer policy context, infrastructure context, network data, and geography in one response. This is the full example response from the <a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">FraudGuard ACE v2 IP Intelligence documentation</a>:</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"ip"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.173"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"recommendation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"action"</span><span class="p">:</span><span class="w"> </span><span class="s2">"block"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"evidence_summary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This IP was observed performing 3 total attack events across 2 FraudGuard honeypots in the last 7 days, including 2 Jenkins probing events and 1 HTTP/WAF probing event, most recently on May 26, 2026 at 19:31 UTC."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"cache_ttl_seconds"</span><span class="p">:</span><span class="w"> </span><span class="mi">14400</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"classification"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"primary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"web_scanner"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"secondary"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"multi_service_scanner"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"honeypot_attacker"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"ai_automation"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"hosting_provider"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"risk"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"level"</span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w">
    </span><span class="nl">"label"</span><span class="p">:</span><span class="w"> </span><span class="s2">"critical"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence"</span><span class="p">:</span><span class="w"> </span><span class="mi">85</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence_factors"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"recent_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"repeated_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multi_honeypot_reach"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"specific_attack_signature"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_attack_types"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_target_services"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"observed_activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"observed"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"attack_families"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"web_probe"</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"pattern"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"trend"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_attack_types_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_services_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_ports_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nl">"attacks"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins_login_page_probe"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">8080</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:57+00:00"</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
      </span><span class="p">}</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"last_observed_attack"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"event_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
      </span><span class="nl">"observed_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"attributes"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ai_automation_suspected"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"detected"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"reasons"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"abusive_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Abusive activity observed by FraudGuard ACE"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"scanner_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Scanner or probing activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"medium"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"honeypot_interaction_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Interaction observed across FraudGuard honeypot infrastructure"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"HTTP/WAF attack activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"activity_within_7_days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Activity observed within the last 7 days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">],</span><span class="w">
  </span><span class="nl">"customer"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ip_in_whitelist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_blacklist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_geoblock"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"infrastructure"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hosting_provider"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"provider"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba Cloud"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_tor_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_public_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_vpn"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_hosting_provider"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_residential_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_mobile_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_satellite_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_shared_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_ai_agent"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T02:44:12+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"updated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"network"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"asn"</span><span class="p">:</span><span class="w"> </span><span class="mi">45102</span><span class="p">,</span><span class="w">
    </span><span class="nl">"asn_org"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba US Technology Co., Ltd."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"organization"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"prefix"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.0/24"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"connection_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Corporate"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"geography"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"country"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Japan"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isocode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"JP"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"state"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"city"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"postal_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"102-0082"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"timezone"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Asia/Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"latitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">35.6893</span><span class="p">,</span><span class="w">
    </span><span class="nl">"longitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">139.6899</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"metadata"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"request_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"acev2_example_single_lookup"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"generated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-27T00:47:35+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"schema_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"api_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"engine"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ace_v2"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<p>GreyNoise output helps explain scanner context.</p>

<p>FraudGuard output helps enforce customer policy.</p>

<hr />

<h2 id="custom-security-work">Custom Security Work</h2>

<p>FraudGuard is a small technical team. For customers that need flexibility, that is an advantage.</p>

<p>If your use case requires a custom feed, WAF workflow, offline database format, enrichment pipeline, abuse-review process, MSP workflow, or application-specific enforcement pattern, FraudGuard can work directly with you to design a practical solution around FraudGuard data.</p>

<p>That does not mean every custom request is automatically included in standard pricing. It means you can have a technical conversation with the people building the product instead of being forced into a rigid package.</p>

<hr />

<h2 id="bottom-line">Bottom Line</h2>

<p>GreyNoise is a strong product for scanner intelligence, SOC triage, threat hunting, CVE context, RIOT/business-service context, and scanner-informed perimeter blocklists. If that is the job, it is worth evaluating.</p>

<p>FraudGuard is the better choice when the job is production IP reputation: app and API decisions, <code class="language-plaintext highlighter-rouge">allow</code>, <code class="language-plaintext highlighter-rouge">challenge</code>, and <code class="language-plaintext highlighter-rouge">block</code> outcomes, customer-specific policy controls, honeypot-observed attack evidence, public pricing, no mandatory sales call, and no annual contract for standard plans.</p>

<p>It is also the more practical option for teams that want flexibility. If your security workflow needs a custom feed, WAF pattern, offline data format, enrichment pipeline, MSP workflow, or other architecture around IP risk data, FraudGuard can work with you directly.</p>

<p><strong><a href="https://fraudguard.io">Try FraudGuard free</a></strong> - use the public lookup tool, start a trial, integrate the API directly, or email <a href="mailto:hello@fraudguard.io">hello@fraudguard.io</a> to talk through a custom security workflow built around FraudGuard data.</p>

<hr />

<p><em>Looking for more competitive comparisons? Read <a href="/security/comparison/2026/06/11/fraudguard-vs-abuseipdb.html">FraudGuard vs AbuseIPDB</a>, <a href="/security/comparison/2026/06/11/fraudguard-vs-ipinfo.html">FraudGuard vs IPinfo</a>, and <a href="/security/comparison/2026/06/11/fraudguard-vs-crowdsec.html">FraudGuard vs CrowdSec</a>.</em></p>]]></content><author><name>FraudGuard.io</name><email>hello@fraudguard.io</email></author><category term="security" /><category term="comparison" /><category term="competitive-comparison" /><category term="greynoise" /><category term="ip-reputation" /><category term="threat-intelligence" /><category term="pricing-comparison" /><summary type="html"><![CDATA[Compare GreyNoise scanner intelligence and blocklists with FraudGuard's API-first IP decisions, first-party attack evidence, and public pricing.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" /><media:content medium="image" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">FraudGuard vs Shodan: Discovery vs Threat Decisions</title><link href="https://blog.fraudguard.io/security/comparison/2026/06/12/fraudguard-vs-shodan.html" rel="alternate" type="text/html" title="FraudGuard vs Shodan: Discovery vs Threat Decisions" /><published>2026-06-12T00:00:00-04:00</published><updated>2026-07-11T00:00:00-04:00</updated><id>https://blog.fraudguard.io/security/comparison/2026/06/12/fraudguard-vs-shodan</id><content type="html" xml:base="https://blog.fraudguard.io/security/comparison/2026/06/12/fraudguard-vs-shodan.html"><![CDATA[<p>Shodan is one of the best tools in security for finding exposed internet services. It helps teams answer questions like:</p>

<ul>
  <li>Which IPs expose SSH?</li>
  <li>What software banners are visible?</li>
  <li>Which devices in an organization are reachable from the internet?</li>
  <li>What countries, ASNs, or products appear in a search result?</li>
  <li>Did an exposed service change recently?</li>
</ul>

<p>FraudGuard answers a different question: has this source IP shown malicious behavior, and should this request be allowed, challenged, or blocked?</p>

<p>Both products are useful. They are not substitutes.</p>

<p>The interesting overlap is honeypots. Shodan helps you find what is exposed on the internet. FraudGuard intentionally operates exposed decoy infrastructure so attackers reveal themselves, then ACE v2 converts those observations into IP risk decisions customers can use at the edge.</p>

<h2 id="what-shodan-is-best-at">What Shodan Is Best At</h2>

<p>Shodan is an internet scanning and search platform. Its <a href="https://developer.shodan.io/api">developer API</a> supports host search, count queries, facets, filters, and host data across the internet exposure dataset.</p>

<p>That makes Shodan valuable for:</p>

<ul>
  <li>external attack surface management</li>
  <li>exposed-service discovery</li>
  <li>vulnerability research</li>
  <li>red team reconnaissance</li>
  <li>banner and product inventory</li>
  <li>internet-wide measurement</li>
  <li>monitoring your own public assets</li>
</ul>

<p>If your question is “what is exposed on this IP or across this query,” Shodan is the right kind of tool.</p>

<h2 id="what-shodan-does-not-try-to-be">What Shodan Does Not Try To Be</h2>

<p>Shodan does not primarily exist to decide whether an incoming request to your login page should be blocked. An open SSH port, a banner, or an exposed service fingerprint does not prove that the source IP is attacking your application.</p>

<p>That difference is critical.</p>

<p>An IP can run an exposed service and still be harmless to you. Another IP can have no interesting public services and still be part of a credential-stuffing campaign. Asset discovery and source reputation are different security problems.</p>

<h2 id="fraudguards-role">FraudGuard’s Role</h2>

<p><a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">FraudGuard ACE v2</a> is built for real-time allow, challenge, and block decisions using verified FraudGuard honeypot observations, attack behavior, infrastructure enrichment, network context, geography, and customer-specific controls.</p>

<p>The product value comes from the findings. FraudGuard’s honeypots observe source IP behavior against decoy services, then ACE v2 correlates recency, attack family, repeated activity, infrastructure context, confidence factors, and recommended action. That lets customers benefit from a sensor network they did not have to deploy.</p>

<p>Instead of asking “what is open on this IP,” FraudGuard asks:</p>

<ul>
  <li>Has this IP attacked honeypots?</li>
  <li>What attack families were observed?</li>
  <li>How recently did the activity occur?</li>
  <li>Did it reach multiple sensors?</li>
  <li>Is the behavior repeated?</li>
  <li>What infrastructure context changes the risk?</li>
  <li>Should the customer block, challenge, or allow?</li>
</ul>

<p>A real ACE v2 response:</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"ip"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.173"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"recommendation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"action"</span><span class="p">:</span><span class="w"> </span><span class="s2">"block"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"evidence_summary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This IP was observed performing 3 total attack events across 2 FraudGuard honeypots in the last 7 days, including 2 Jenkins probing events and 1 HTTP/WAF probing event, most recently on May 26, 2026 at 19:31 UTC."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"cache_ttl_seconds"</span><span class="p">:</span><span class="w"> </span><span class="mi">14400</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"classification"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"primary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"web_scanner"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"secondary"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"multi_service_scanner"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"honeypot_attacker"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"ai_automation"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"hosting_provider"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"risk"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"level"</span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w">
    </span><span class="nl">"label"</span><span class="p">:</span><span class="w"> </span><span class="s2">"critical"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence"</span><span class="p">:</span><span class="w"> </span><span class="mi">85</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence_factors"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"recent_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"repeated_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multi_honeypot_reach"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"specific_attack_signature"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_attack_types"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_target_services"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"observed_activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"observed"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"attack_families"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"web_probe"</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"pattern"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"trend"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_attack_types_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_services_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_ports_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nl">"attacks"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins_login_page_probe"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">8080</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:57+00:00"</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
      </span><span class="p">}</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"last_observed_attack"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"event_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
      </span><span class="nl">"observed_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"attributes"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ai_automation_suspected"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"detected"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"reasons"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"abusive_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Abusive activity observed by FraudGuard ACE"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"scanner_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Scanner or probing activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"medium"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"honeypot_interaction_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Interaction observed across FraudGuard honeypot infrastructure"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"HTTP/WAF attack activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"activity_within_7_days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Activity observed within the last 7 days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">],</span><span class="w">
  </span><span class="nl">"customer"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ip_in_whitelist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_blacklist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_geoblock"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"infrastructure"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hosting_provider"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"provider"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba Cloud"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_tor_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_public_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_vpn"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_hosting_provider"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_residential_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_mobile_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_satellite_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_shared_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_ai_agent"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T02:44:12+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"updated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"network"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"asn"</span><span class="p">:</span><span class="w"> </span><span class="mi">45102</span><span class="p">,</span><span class="w">
    </span><span class="nl">"asn_org"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba US Technology Co., Ltd."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"organization"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"prefix"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.0/24"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"connection_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Corporate"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"geography"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"country"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Japan"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isocode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"JP"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"state"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"city"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"postal_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"102-0082"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"timezone"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Asia/Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"latitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">35.6893</span><span class="p">,</span><span class="w">
    </span><span class="nl">"longitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">139.6899</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"metadata"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"request_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"acev2_example_single_lookup"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"generated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-27T00:47:35+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"schema_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"api_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"engine"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ace_v2"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<p>That response is designed for enforcement and logging, not asset discovery.</p>

<h2 id="pricing-context">Pricing Context</h2>

<p>Shodan pricing and quota details can change over time, so the safer comparison is use-case based: Shodan packages access around internet search, monitoring, and data access.</p>

<p><a href="https://fraudguard.io/pricing">FraudGuard pricing</a> is tied to API usage and product access. Public plans run from $29/month to $599/month, with ACE v2 included on Professional and higher plans.</p>

<p>The buying decision should follow the use case:</p>

<ul>
  <li>buy Shodan when you need visibility into exposed internet assets</li>
  <li>buy FraudGuard when you need to make source-IP risk decisions in production traffic</li>
</ul>

<p>That second use case is where FraudGuard’s pricing matters. ACE v2 starts on the $99/month Professional plan with 5 million monthly requests. For teams that need high-volume source-IP decisions, this is a direct way to buy honeypot-backed evidence without building a research operation.</p>

<h2 id="bottom-line">Bottom Line</h2>

<p>Shodan finds exposed assets. FraudGuard evaluates source IP behavior.</p>

<p>If your current problem is internet asset discovery, Shodan is a strong category leader. If your current problem is real-time IP reputation for login, API, WAF, or fraud workflows, FraudGuard is built for that job because ACE v2 turns honeypot findings into a decision your systems can enforce.</p>

<p>Review <a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">FraudGuard ACE v2</a>, test <a href="https://fraudguard.io/iplookup">IP Lookup</a>, or compare <a href="https://fraudguard.io/pricing">plans</a>.</p>]]></content><author><name>FraudGuard.io</name><email>hello@fraudguard.io</email></author><category term="security" /><category term="comparison" /><category term="competitive-comparison" /><category term="shodan" /><category term="attack-surface" /><category term="ip-reputation" /><category term="ace-v2" /><summary type="html"><![CDATA[Compare Shodan's internet asset discovery and exposed-service search with FraudGuard's observed source-IP behavior and enforcement guidance.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" /><media:content medium="image" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Proxy Detection vs Attack Evidence: What Matters</title><link href="https://blog.fraudguard.io/security/comparison/2026/06/12/fraudguard-vs-proxy-intel.html" rel="alternate" type="text/html" title="Proxy Detection vs Attack Evidence: What Matters" /><published>2026-06-12T00:00:00-04:00</published><updated>2026-07-11T00:00:00-04:00</updated><id>https://blog.fraudguard.io/security/comparison/2026/06/12/fraudguard-vs-proxy-intel</id><content type="html" xml:base="https://blog.fraudguard.io/security/comparison/2026/06/12/fraudguard-vs-proxy-intel.html"><![CDATA[<p>IP intelligence often starts with infrastructure context: VPNs, proxies, Tor exits, hosting providers, shared exits, residential networks, mobile gateways, geography, ASN data, and provider attribution.</p>

<p>That context is useful. It can help a security team understand how a connection is reaching an application and whether the traffic is coming from infrastructure that deserves closer review.</p>

<p>But infrastructure labels are not the same thing as attack evidence.</p>

<p>A VPN flag, proxy label, hosting classification, or shared-exit indicator can support a risk decision, but those labels are usually strongest when combined with behavioral evidence: what the IP actually did, how recently it did it, how often it appeared, and whether the activity matches known abuse patterns.</p>

<p>FraudGuard ACE v2 is built around that broader model.</p>

<h2 id="proxy-labels-are-useful-but-limited">Proxy Labels Are Useful, But Limited</h2>

<p>A proxy or VPN flag can mean many things:</p>

<ul>
  <li>a fraudster hiding origin infrastructure</li>
  <li>a privacy-conscious user on an entirely legitimate proxy/VPN</li>
  <li>an employee on a corporate VPN</li>
  <li>a traveler using a hotel network</li>
  <li>a legitimate customer behind a mobile carrier gateway</li>
  <li>automation running through rented infrastructure</li>
</ul>

<p>If a security system treats “VPN detected” as the only reason to block, it can create avoidable false positives. If it treats “not VPN” as safe, it can miss attackers using ordinary hosting, cloud, residential, or compromised infrastructure.</p>

<p>Proxy detection is useful context. It is not the full case file.</p>

<h2 id="how-ace-v2-uses-infrastructure-context">How ACE v2 Uses Infrastructure Context</h2>

<p><a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">FraudGuard ACE v2</a> uses infrastructure attributes as part of a broader risk decision. A VPN, proxy, Tor, hosting, residential proxy, shared-exit, ASN, or provider signal can change how an IP is interpreted, but it is not automatically the main reason an IP becomes high risk.</p>

<p>The stronger signals are behavioral:</p>

<ul>
  <li>observed honeypot interaction</li>
  <li>attack family</li>
  <li>targeted service</li>
  <li>destination port</li>
  <li>recency</li>
  <li>repeated activity</li>
  <li>multi-honeypot reach</li>
  <li>multiple attack types</li>
  <li>confidence factors</li>
  <li>reason codes</li>
</ul>

<p>Infrastructure answers: “How does this IP connect?”</p>

<p>ACE v2 answers: “What did this IP do, how strong is the evidence, and what should my application do now?”</p>

<h2 id="real-ace-v2-response">Real ACE v2 Response</h2>

<p>This real ACE v2 response shows the distinction. The IP includes hosting infrastructure context, but the block recommendation is not based on the provider label alone. It is based on observed Jenkins probing, HTTP/WAF attack activity, honeypot interaction, recency, repeated activity, and confidence factors.</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"ip"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.173"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"recommendation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"action"</span><span class="p">:</span><span class="w"> </span><span class="s2">"block"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"evidence_summary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This IP was observed performing 3 total attack events across 2 FraudGuard honeypots in the last 7 days, including 2 Jenkins probing events and 1 HTTP/WAF probing event, most recently on May 26, 2026 at 19:31 UTC."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"cache_ttl_seconds"</span><span class="p">:</span><span class="w"> </span><span class="mi">14400</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"classification"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"primary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"web_scanner"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"secondary"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"multi_service_scanner"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"honeypot_attacker"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"ai_automation"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"hosting_provider"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"risk"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"level"</span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w">
    </span><span class="nl">"label"</span><span class="p">:</span><span class="w"> </span><span class="s2">"critical"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence"</span><span class="p">:</span><span class="w"> </span><span class="mi">85</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence_factors"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"recent_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"repeated_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multi_honeypot_reach"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"specific_attack_signature"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_attack_types"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_target_services"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"observed_activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"observed"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"attack_families"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"web_probe"</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"pattern"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"trend"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_attack_types_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_services_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_ports_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nl">"attacks"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins_login_page_probe"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">8080</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:57+00:00"</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
      </span><span class="p">}</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"last_observed_attack"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"event_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
      </span><span class="nl">"observed_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"attributes"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ai_automation_suspected"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"detected"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"reasons"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"abusive_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Abusive activity observed by FraudGuard ACE"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"scanner_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Scanner or probing activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"medium"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"honeypot_interaction_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Interaction observed across FraudGuard honeypot infrastructure"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"HTTP/WAF attack activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"activity_within_7_days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Activity observed within the last 7 days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">],</span><span class="w">
  </span><span class="nl">"customer"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ip_in_whitelist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_blacklist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_geoblock"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"infrastructure"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hosting_provider"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"provider"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba Cloud"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_tor_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_public_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_vpn"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_hosting_provider"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_residential_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_mobile_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_satellite_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_shared_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_ai_agent"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T02:44:12+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"updated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"network"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"asn"</span><span class="p">:</span><span class="w"> </span><span class="mi">45102</span><span class="p">,</span><span class="w">
    </span><span class="nl">"asn_org"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba US Technology Co., Ltd."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"organization"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"prefix"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.0/24"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"connection_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Corporate"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"geography"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"country"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Japan"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isocode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"JP"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"state"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"city"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"postal_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"102-0082"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"timezone"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Asia/Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"latitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">35.6893</span><span class="p">,</span><span class="w">
    </span><span class="nl">"longitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">139.6899</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"metadata"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"request_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"acev2_example_single_lookup"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"generated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-27T00:47:35+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"schema_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"api_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"engine"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ace_v2"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<p>That is materially different from relying on a single infrastructure label. The infrastructure field is present, but the decision is driven by observed abuse.</p>

<h2 id="why-this-matters">Why This Matters</h2>

<p>For many applications, the useful output is not just an enrichment label. Security teams need enough context to decide whether to allow, challenge, monitor, or block traffic.</p>

<p>That is why ACE v2 combines:</p>

<ul>
  <li>infrastructure context</li>
  <li>observed attack behavior</li>
  <li>recent activity windows</li>
  <li>tracker classifications</li>
  <li>confidence signals</li>
  <li>reason codes</li>
  <li>action recommendations</li>
</ul>

<p>This approach helps teams avoid treating every masked connection as malicious while still identifying IPs with real evidence of abusive behavior.</p>

<h2 id="bottom-line">Bottom Line</h2>

<p>Proxy intelligence is an attribute. Attack evidence is a stronger decision foundation.</p>

<p>FraudGuard tracks Tor exits, open public proxies, VPNs, residential proxies, hosting providers, shared exits, ASN context, geography, and related infrastructure. ACE v2 uses those labels as context around observed behavior, not as the only basis for risk scoring.</p>

<p>The reason to use FraudGuard is not simply that it can identify masked or unusual infrastructure. The reason is that ACE v2 can show what an IP did, how recently it did it, how confident the evidence is, and whether your application should allow, challenge, or block.</p>

<p>Test <a href="https://fraudguard.io/iplookup">FraudGuard IP Lookup</a>, review <a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">ACE v2</a>, or compare <a href="https://fraudguard.io/pricing">plans</a>.</p>]]></content><author><name>FraudGuard.io</name><email>hello@fraudguard.io</email></author><category term="security" /><category term="comparison" /><category term="proxy-detection" /><category term="ip-intelligence" /><category term="ace-v2" /><category term="threat-intelligence" /><summary type="html"><![CDATA[VPN, proxy, and hosting labels add context but do not prove abuse. See how behavioral evidence and recency produce stronger traffic decisions.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" /><media:content medium="image" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">FraudGuard vs IPQualityScore for IP Risk Decisions</title><link href="https://blog.fraudguard.io/security/comparison/2026/06/12/fraudguard-vs-ipqualityscore.html" rel="alternate" type="text/html" title="FraudGuard vs IPQualityScore for IP Risk Decisions" /><published>2026-06-12T00:00:00-04:00</published><updated>2026-07-11T00:00:00-04:00</updated><id>https://blog.fraudguard.io/security/comparison/2026/06/12/fraudguard-vs-ipqualityscore</id><content type="html" xml:base="https://blog.fraudguard.io/security/comparison/2026/06/12/fraudguard-vs-ipqualityscore.html"><![CDATA[<p>IPQualityScore is a broad fraud detection platform. Its products cover proxy and VPN detection, IP fraud scoring, bot detection, email validation, phone validation, transaction scoring, device-related signals, and more.</p>

<p>That breadth is useful. It also makes the comparison with FraudGuard more specific than “which vendor is better?”</p>

<p>If you need an all-in-one fraud scoring suite with email, phone, transaction, and proxy tools, IPQualityScore may be a fit. If you need a focused IP reputation API that shows observed attack evidence and returns an allow, challenge, or block recommendation, FraudGuard is the cleaner alternative.</p>

<p>The strongest FraudGuard argument is not breadth. It is depth in one valuable category: first-party honeypot observations converted by ACE v2 into explainable IP decisions at a fair, published price.</p>

<h2 id="what-ipqualityscore-does-well">What IPQualityScore Does Well</h2>

<p><a href="https://www.ipqualityscore.com/documentation/proxy-detection-api/response-parameters">IPQualityScore’s proxy detection documentation</a> says its API can analyze IP reputation, detect proxies, VPNs, and Tor connections, and estimate the probability of fraudulent activity. Its example response includes fields such as:</p>

<ul>
  <li><code class="language-plaintext highlighter-rouge">fraud_score</code></li>
  <li><code class="language-plaintext highlighter-rouge">proxy</code></li>
  <li><code class="language-plaintext highlighter-rouge">vpn</code></li>
  <li><code class="language-plaintext highlighter-rouge">tor</code></li>
  <li><code class="language-plaintext highlighter-rouge">recent_abuse</code></li>
  <li><code class="language-plaintext highlighter-rouge">frequent_abuser</code></li>
  <li><code class="language-plaintext highlighter-rouge">high_risk_attacks</code></li>
  <li><code class="language-plaintext highlighter-rouge">abuse_velocity</code></li>
  <li><code class="language-plaintext highlighter-rouge">bot_status</code></li>
  <li><code class="language-plaintext highlighter-rouge">connection_type</code></li>
  <li>ISP, ASN, organization, and geography fields</li>
</ul>

<p>IPQS also publicly says it uses proprietary honeypots, traps, crawlers, and live-site threat intelligence network signals.</p>

<p>That means the issue is not that IPQS lacks data. The issue for some buyers is that the public response model is oriented around fraud and proxy scoring fields, while FraudGuard is oriented around showing the attack evidence and decision context behind an IP verdict.</p>

<h2 id="fraudguards-different-focus">FraudGuard’s Different Focus</h2>

<p><a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">FraudGuard ACE v2</a> is built to explain why an IP recommendation was made. The documented response model can include:</p>

<ul>
  <li><code class="language-plaintext highlighter-rouge">recommendation.action</code></li>
  <li><code class="language-plaintext highlighter-rouge">recommendation.evidence_summary</code></li>
  <li>risk level and confidence</li>
  <li>confidence factors</li>
  <li>observed attack families</li>
  <li>24-hour, 7-day, and 30-day activity windows</li>
  <li>targeted services, protocols, and ports</li>
  <li>infrastructure classification</li>
  <li>customer whitelist, blacklist, and geoblock context</li>
  <li>stable reason codes and human-readable reasons</li>
</ul>

<p>That is the core difference: FraudGuard is optimized for teams that need to defend a production traffic decision later.</p>

<h2 id="why-fraudguards-honeypot-findings-matter">Why FraudGuard’s Honeypot Findings Matter</h2>

<p>Honeypot data is valuable because it catches behavior before a customer has to experience the attack directly. A source IP that probes decoys, hits multiple services, repeats patterns across time windows, or targets AI and web endpoints is leaving evidence that can be used in production enforcement.</p>

<p>ACE v2 is the layer that makes those findings usable. It does not just say “high risk.” It can expose the observed activity, attack families, recency, confidence factors, and a direct action. That is the gap many teams feel with generic fraud scores: they get a number, but not the case file.</p>

<h2 id="real-ace-v2-decision-example">Real ACE v2 Decision Example</h2>

<p>Here is a real ACE v2 single-lookup response:</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"ip"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.173"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"recommendation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"action"</span><span class="p">:</span><span class="w"> </span><span class="s2">"block"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"evidence_summary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This IP was observed performing 3 total attack events across 2 FraudGuard honeypots in the last 7 days, including 2 Jenkins probing events and 1 HTTP/WAF probing event, most recently on May 26, 2026 at 19:31 UTC."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"cache_ttl_seconds"</span><span class="p">:</span><span class="w"> </span><span class="mi">14400</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"classification"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"primary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"web_scanner"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"secondary"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"multi_service_scanner"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"honeypot_attacker"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"ai_automation"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"hosting_provider"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"risk"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"level"</span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w">
    </span><span class="nl">"label"</span><span class="p">:</span><span class="w"> </span><span class="s2">"critical"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence"</span><span class="p">:</span><span class="w"> </span><span class="mi">85</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence_factors"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"recent_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"repeated_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multi_honeypot_reach"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"specific_attack_signature"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_attack_types"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_target_services"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"observed_activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"observed"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"attack_families"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"web_probe"</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"pattern"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"trend"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_attack_types_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_services_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_ports_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nl">"attacks"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins_login_page_probe"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">8080</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:57+00:00"</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
      </span><span class="p">}</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"last_observed_attack"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"event_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
      </span><span class="nl">"observed_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"attributes"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ai_automation_suspected"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"detected"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"reasons"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"abusive_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Abusive activity observed by FraudGuard ACE"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"scanner_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Scanner or probing activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"medium"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"honeypot_interaction_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Interaction observed across FraudGuard honeypot infrastructure"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"HTTP/WAF attack activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"activity_within_7_days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Activity observed within the last 7 days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">],</span><span class="w">
  </span><span class="nl">"customer"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ip_in_whitelist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_blacklist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_geoblock"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"infrastructure"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hosting_provider"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"provider"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba Cloud"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_tor_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_public_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_vpn"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_hosting_provider"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_residential_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_mobile_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_satellite_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_shared_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_ai_agent"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T02:44:12+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"updated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"network"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"asn"</span><span class="p">:</span><span class="w"> </span><span class="mi">45102</span><span class="p">,</span><span class="w">
    </span><span class="nl">"asn_org"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba US Technology Co., Ltd."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"organization"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"prefix"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.0/24"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"connection_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Corporate"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"geography"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"country"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Japan"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isocode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"JP"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"state"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"city"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"postal_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"102-0082"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"timezone"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Asia/Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"latitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">35.6893</span><span class="p">,</span><span class="w">
    </span><span class="nl">"longitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">139.6899</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"metadata"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"request_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"acev2_example_single_lookup"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"generated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-27T00:47:35+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"schema_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"api_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"engine"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ace_v2"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<p>The important field is <code class="language-plaintext highlighter-rouge">evidence_summary</code>. It turns an automated risk decision into something support, fraud, engineering, and security teams can understand.</p>

<h2 id="pricing-context">Pricing Context</h2>

<p>Checked July 11, 2026, <a href="https://www.ipqualityscore.com/plans">IPQualityScore’s public pricing page</a> lists Startup from $99/month with 5,000 lookups per month, SMB Basic from $499/month with 10,000 lookups per month, and SMB+ from $999/month with 75,000 lookups per month. Pricing and quotas can change; verify the vendor page during evaluation.</p>

<p><a href="https://fraudguard.io/pricing">FraudGuard pricing</a> lists:</p>

<ul>
  <li>Starter: $29/month, 1 million requests/month</li>
  <li>Professional: $99/month, 5 million requests/month, ACE v2 included</li>
  <li>Business: $299/month, 25 million requests/month</li>
  <li>Enterprise: $599/month, 100 million requests/month</li>
</ul>

<p>If your buying need is broad fraud validation across many identity fields, compare the full product scope carefully. If your buying need is high-volume IP reputation with explainable threat decisions, FraudGuard is priced much more directly for that use case.</p>

<p>This is where FraudGuard is unusually strong: Professional includes ACE v2 at $99/month with 5 million monthly requests. That gives teams access to honeypot-derived evidence and direct IP decisions at a cost that fits real production experiments, not only enterprise procurement cycles.</p>

<h2 id="bottom-line">Bottom Line</h2>

<p>IPQualityScore is a broad fraud scoring suite. FraudGuard is a focused, evidence-based IP reputation and threat-decision platform.</p>

<p>For email, phone, and multi-attribute fraud validation, evaluate IPQualityScore on its breadth. For IP-based traffic enforcement where your team needs to explain and tune every allow, challenge, and block decision, evaluate FraudGuard. The reason to choose FraudGuard is the combination of honeypot findings, ACE v2 evidence, and fair high-volume pricing.</p>

<p>Review <a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">ACE v2</a>, test <a href="https://fraudguard.io/iplookup">IP Lookup</a>, or compare <a href="https://fraudguard.io/pricing">plans</a>.</p>

<p>Related comparison: <a href="/security/comparison/2026/06/12/fraudguard-vs-shodan.html">FraudGuard vs Shodan</a>.</p>]]></content><author><name>FraudGuard.io</name><email>hello@fraudguard.io</email></author><category term="security" /><category term="comparison" /><category term="competitive-comparison" /><category term="ipqualityscore" /><category term="ip-reputation" /><category term="fraud-detection" /><category term="ace-v2" /><summary type="html"><![CDATA[Compare IPQualityScore's broad fraud-validation suite with FraudGuard's focused, explainable, honeypot-backed IP reputation workflow.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" /><media:content medium="image" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">AI-Assisted Honeypot Intent Verification at FraudGuard</title><link href="https://blog.fraudguard.io/security/ace-v2/technology/2026/06/12/how-we-use-ai-honeypot-intent-verification.html" rel="alternate" type="text/html" title="AI-Assisted Honeypot Intent Verification at FraudGuard" /><published>2026-06-12T00:00:00-04:00</published><updated>2026-07-11T00:00:00-04:00</updated><id>https://blog.fraudguard.io/security/ace-v2/technology/2026/06/12/how-we-use-ai-honeypot-intent-verification</id><content type="html" xml:base="https://blog.fraudguard.io/security/ace-v2/technology/2026/06/12/how-we-use-ai-honeypot-intent-verification.html"><![CDATA[<p>Raw honeypot data is noisy.</p>

<p>Some events are obvious attacks. Some are automated internet background radiation. Some come from compromised devices. Some come from researchers, broken scripts, misconfigured services, or tools that scan without understanding what they reached.</p>

<p>If every connection becomes a high-confidence reputation signal, the database gets loud and false positives rise. If too much is ignored, real attackers slip through.</p>

<p>That is why FraudGuard uses AI-assisted intent verification inside the ingestion pipeline before honeypot events become high-confidence ACE evidence.</p>

<h2 id="why-intent-matters">Why Intent Matters</h2>

<p>A honeypot event tells you something happened. It does not automatically tell you how much weight the event deserves.</p>

<p>Consider three examples:</p>

<ul>
  <li>An IP connects once to SSH and disconnects immediately.</li>
  <li>An IP sends a credential-stuffing payload to a fake login endpoint.</li>
  <li>An IP probes OpenAI-compatible <code class="language-plaintext highlighter-rouge">/v1/chat/completions</code> paths with model enumeration and jailbreak prompts.</li>
</ul>

<p>All three are observable. They should not be scored the same way.</p>

<p>Intent verification helps answer:</p>

<ul>
  <li>Was the event likely adversarial or incidental?</li>
  <li>Was there payload content showing a clear objective?</li>
  <li>Did the same IP repeat the behavior over time?</li>
  <li>Did the IP reach multiple honeypots or services?</li>
  <li>Does the event match known attack families?</li>
  <li>Is this strong enough to affect a production block decision, or only enough for a challenge?</li>
</ul>

<p>That context is what separates useful intelligence from a noisy blocklist.</p>

<h2 id="where-ai-fits-in-the-pipeline">Where AI Fits In The Pipeline</h2>

<p>FraudGuard’s ingestion process is built around evidence quality.</p>

<p>At a high level:</p>

<ol>
  <li>Honeypots capture the raw event.</li>
  <li>The event is normalized into source IP, timestamp, target service, protocol, payload, infrastructure context, and related metadata.</li>
  <li>AI-assisted analysis evaluates the event for intent, payload meaning, targeting pattern, and similarity to known attack families.</li>
  <li>The event is weighted and attached to the IP profile only with appropriate confidence.</li>
  <li>ACE v2 uses the accumulated evidence to return risk, reasons, observed activity, and a recommended action.</li>
</ol>

<p>The model does not replace evidence. It helps decide how much signal the evidence carries.</p>

<h2 id="what-the-model-looks-for">What The Model Looks For</h2>

<h3 id="payload-meaning">Payload Meaning</h3>

<p>Some payloads reveal clear intent. Credential lists, exploit paths, command injection strings, suspicious API prompts, and service-specific probes all carry more signal than a bare connection.</p>

<p>The model helps classify what the payload is trying to accomplish so the IP profile can say more than “connected to port 80.”</p>

<h3 id="sequence-and-escalation">Sequence And Escalation</h3>

<p>Attackers often start with a harmless-looking probe, then escalate if the target responds. AI endpoint abuse is a good example. FraudGuard looks for that kind of sequence: liveness test, model inventory, capability test, abuse attempt. The escalation pattern is often more meaningful than any single request.</p>

<h3 id="cross-sensor-reach">Cross-Sensor Reach</h3>

<p>An IP that touches one sensor once is different from an IP that hits multiple honeypots, services, or regions. Multi-honeypot reach is a confidence factor because it shows a broader pattern.</p>

<p>ACE v2 exposes this concept through observed activity, rolling windows, and confidence factors rather than hiding it behind a single score.</p>

<h3 id="infrastructure-context">Infrastructure Context</h3>

<p>Infrastructure is not proof, but it is context. Hosting providers, VPNs, Tor exits, residential proxies, shared exits, mobile networks, and corporate networks all change how a signal should be interpreted.</p>

<p>The same payload from a disposable VPS and from a residential IP may deserve different review paths. AI-assisted intent verification helps combine behavior with infrastructure context without making infrastructure the entire verdict.</p>

<h2 id="from-raw-event-to-ace-v2-evidence">From Raw Event To ACE v2 Evidence</h2>

<p>The end result is visible in the ACE v2 response model.</p>

<p><a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">FraudGuard’s documentation</a> describes ACE v2 as returning allow, challenge, and block decisions with observed attack families, attack volume over 24-hour, 7-day, and 30-day windows, targeted services, protocols and ports, infrastructure classification, confidence factors, and human-readable reasons.</p>

<p>That means a production integration can make decisions like:</p>

<ul>
  <li>block high-confidence repeated attack behavior</li>
  <li>challenge ambiguous proxy or automation traffic</li>
  <li>allow clean traffic even when it comes from infrastructure that deserves monitoring</li>
</ul>

<p>The API is not just saying “bad IP.” It is explaining why the recommendation exists.</p>

<h2 id="why-this-reduces-false-positives">Why This Reduces False Positives</h2>

<p>False positives often come from overweighting weak signals:</p>

<ul>
  <li>one old report</li>
  <li>one low-context connection</li>
  <li>a broad range reputation</li>
  <li>a provider label</li>
  <li>an anonymous-network flag with no behavior attached</li>
</ul>

<p>Intent verification helps FraudGuard avoid treating every signal equally. A recent high-intent credential attack across multiple honeypots should carry more weight than a stale one-off probe. A proxy flag may justify a challenge, but not necessarily a block. A cloud provider label should enrich the profile, not condemn the whole range.</p>

<p>That distinction is essential for fraud and platform teams because the business cost of a wrong block can be high.</p>

<h2 id="human-review-still-matters">Human Review Still Matters</h2>

<p>AI-assisted does not mean “unquestioned.” The point is to make the pipeline more accurate and scalable, not to turn raw model output into final truth.</p>

<p>FraudGuard uses structured evidence, confidence factors, and ongoing feedback so detections can improve as attack behavior changes. New patterns can be reviewed, labeled, and folded back into scoring. Known noisy patterns can be downweighted.</p>

<p>This is especially important for AI endpoint abuse, where attacker behavior is changing quickly and keyword-only detection is easy to evade.</p>

<h2 id="what-customers-get">What Customers Get</h2>

<p>Customers do not need to understand the whole ingestion pipeline to benefit from it. They see it in the response:</p>

<ul>
  <li><code class="language-plaintext highlighter-rouge">recommendation.action</code> for enforcement</li>
  <li><code class="language-plaintext highlighter-rouge">evidence_summary</code> for explanation</li>
  <li><code class="language-plaintext highlighter-rouge">risk.confidence</code> and <code class="language-plaintext highlighter-rouge">confidence_factors</code> for tuning</li>
  <li>observed activity windows for recency</li>
  <li>classification labels for analytics</li>
  <li>infrastructure context for review</li>
  <li>cache TTL guidance for performance</li>
</ul>

<p>A real ACE v2 response shows how those fields come together:</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"ip"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.173"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"recommendation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"action"</span><span class="p">:</span><span class="w"> </span><span class="s2">"block"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"evidence_summary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This IP was observed performing 3 total attack events across 2 FraudGuard honeypots in the last 7 days, including 2 Jenkins probing events and 1 HTTP/WAF probing event, most recently on May 26, 2026 at 19:31 UTC."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"cache_ttl_seconds"</span><span class="p">:</span><span class="w"> </span><span class="mi">14400</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"classification"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"primary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"web_scanner"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"secondary"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"multi_service_scanner"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"honeypot_attacker"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"ai_automation"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"hosting_provider"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"risk"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"level"</span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w">
    </span><span class="nl">"label"</span><span class="p">:</span><span class="w"> </span><span class="s2">"critical"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence"</span><span class="p">:</span><span class="w"> </span><span class="mi">85</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence_factors"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"recent_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"repeated_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multi_honeypot_reach"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"specific_attack_signature"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_attack_types"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_target_services"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"observed_activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"observed"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"attack_families"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"web_probe"</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"pattern"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"trend"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_attack_types_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_services_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_ports_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nl">"attacks"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins_login_page_probe"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">8080</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:57+00:00"</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
      </span><span class="p">}</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"last_observed_attack"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"event_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
      </span><span class="nl">"observed_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"attributes"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ai_automation_suspected"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"detected"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"reasons"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"abusive_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Abusive activity observed by FraudGuard ACE"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"scanner_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Scanner or probing activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"medium"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"honeypot_interaction_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Interaction observed across FraudGuard honeypot infrastructure"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"HTTP/WAF attack activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"activity_within_7_days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Activity observed within the last 7 days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">],</span><span class="w">
  </span><span class="nl">"customer"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ip_in_whitelist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_blacklist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_geoblock"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"infrastructure"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hosting_provider"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"provider"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba Cloud"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_tor_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_public_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_vpn"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_hosting_provider"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_residential_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_mobile_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_satellite_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_shared_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_ai_agent"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T02:44:12+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"updated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"network"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"asn"</span><span class="p">:</span><span class="w"> </span><span class="mi">45102</span><span class="p">,</span><span class="w">
    </span><span class="nl">"asn_org"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba US Technology Co., Ltd."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"organization"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"prefix"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.0/24"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"connection_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Corporate"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"geography"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"country"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Japan"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isocode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"JP"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"state"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"city"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"postal_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"102-0082"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"timezone"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Asia/Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"latitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">35.6893</span><span class="p">,</span><span class="w">
    </span><span class="nl">"longitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">139.6899</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"metadata"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"request_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"acev2_example_single_lookup"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"generated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-27T00:47:35+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"schema_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"api_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"engine"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ace_v2"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<p>That is the practical value of AI-assisted ingestion: better evidence in the API response, fewer blind blocks, and a clearer path from detection to decision.</p>

<h2 id="bottom-line">Bottom Line</h2>

<p>Honeypots are only as useful as the intelligence pipeline behind them. Raw events need context, weighting, and intent verification before they should influence production traffic decisions.</p>

<p>FraudGuard uses AI-assisted analysis to turn noisy attack observations into explainable ACE v2 evidence. The goal is not a black-box score. The goal is a decision your team can understand, log, and defend.</p>

<p>Review <a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">ACE v2</a>, test <a href="https://fraudguard.io/iplookup">FraudGuard IP Lookup</a>, or compare <a href="https://fraudguard.io/pricing">plans</a>.</p>]]></content><author><name>FraudGuard.io</name><email>hello@fraudguard.io</email></author><category term="security" /><category term="ace-v2" /><category term="technology" /><category term="honeypot" /><category term="ai" /><category term="intent-detection" /><category term="ace-v2" /><category term="threat-intelligence" /><category term="ml-pipeline" /><summary type="html"><![CDATA[How FraudGuard uses bounded AI-assisted analysis, deterministic signals, and human review to separate attacker intent from background internet noise.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" /><media:content medium="image" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">FraudGuard vs IPinfo: Geolocation vs Threat Evidence</title><link href="https://blog.fraudguard.io/security/comparison/2026/06/11/fraudguard-vs-ipinfo.html" rel="alternate" type="text/html" title="FraudGuard vs IPinfo: Geolocation vs Threat Evidence" /><published>2026-06-11T00:00:00-04:00</published><updated>2026-07-11T00:00:00-04:00</updated><id>https://blog.fraudguard.io/security/comparison/2026/06/11/fraudguard-vs-ipinfo</id><content type="html" xml:base="https://blog.fraudguard.io/security/comparison/2026/06/11/fraudguard-vs-ipinfo.html"><![CDATA[<p>IPinfo is a strong IP data product. Its API covers geolocation, ASN, privacy detection, carrier data, hosted domains, company data, and related enrichment depending on plan.</p>

<p>But if you are evaluating IP data for security, fraud prevention, WAF decisions, login protection, or API abuse controls, geolocation is not enough.</p>

<p>FraudGuard already includes reliable geography, ASN, ISP, organization, network, and infrastructure context in its APIs. ACE v2 then adds the part a geolocation product cannot provide by itself: observed attack behavior, honeypot evidence, confidence factors, reason codes, and a direct <code class="language-plaintext highlighter-rouge">allow</code>, <code class="language-plaintext highlighter-rouge">challenge</code>, or <code class="language-plaintext highlighter-rouge">block</code> recommendation.</p>

<p>That is the real comparison. IPinfo tells you where an IP is and what network it belongs to. FraudGuard tells you that too, then tells you whether the IP has been observed doing something hostile.</p>

<h2 id="what-ipinfo-is-best-at">What IPinfo Is Best At</h2>

<p><a href="https://ipinfo.io/developers/ipinfo-api">IPinfo’s API overview</a> describes its services as a mix of geolocation, ASN, privacy, carrier detection, and confidence metrics across API tiers. Paid tiers add city, region, postal code, timezone, latitude/longitude, ASN details, privacy flags, named privacy providers, carrier data, and residential proxy or anonymizing-service signals.</p>

<p>That data is useful for:</p>

<ul>
  <li>content localization</li>
  <li>analytics and traffic reporting</li>
  <li>regional routing</li>
  <li>compliance and jurisdiction checks</li>
  <li>network attribution</li>
  <li>standalone geolocation enrichment pipelines</li>
</ul>

<p>If your only job is “give me a dedicated geolocation dataset,” IPinfo is a natural fit.</p>

<h2 id="the-security-gap">The Security Gap</h2>

<p>The problem starts when teams treat geography or ASN data as a security decision.</p>

<p>An IP geolocated to the United States can still be part of a credential-stuffing campaign. A residential ISP address can still be a compromised device or proxy exit. A cloud provider address can be a legitimate customer webhook or a disposable scanner. A VPN flag may justify extra scrutiny, but it does not prove an attack.</p>

<p>Threat intelligence needs behavior:</p>

<ul>
  <li>what service was targeted</li>
  <li>what payload or pattern was observed</li>
  <li>how recently it happened</li>
  <li>whether activity repeated across time windows</li>
  <li>whether multiple sensors saw the IP</li>
  <li>whether the right response is block, challenge, or allow</li>
</ul>

<p>That is the layer FraudGuard adds on top of the geo and network data already returned by its APIs.</p>

<h2 id="what-fraudguard-adds">What FraudGuard Adds</h2>

<p><a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">FraudGuard ACE v2</a> is designed for real-time allow, challenge, and block decisions using verified FraudGuard honeypot observations, attack behavior, infrastructure enrichment, network context, geography, and customer-specific controls.</p>

<p>This is where the product becomes more than enrichment. Honeypot findings give FraudGuard a behavioral record: attack families, targeted services, repeated events, recency, and cross-sensor reach. ACE v2 turns that record into confidence factors and a direct action.</p>

<p>The same response also includes geography and network context. In this real ACE v2 single-lookup response, FraudGuard returns country, state, city, timezone, latitude, longitude, ASN, ISP, organization, prefix, connection type, infrastructure type, provider, and threat evidence together:</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"ip"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.173"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"recommendation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"action"</span><span class="p">:</span><span class="w"> </span><span class="s2">"block"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"evidence_summary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This IP was observed performing 3 total attack events across 2 FraudGuard honeypots in the last 7 days, including 2 Jenkins probing events and 1 HTTP/WAF probing event, most recently on May 26, 2026 at 19:31 UTC."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"cache_ttl_seconds"</span><span class="p">:</span><span class="w"> </span><span class="mi">14400</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"classification"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"primary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"web_scanner"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"secondary"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"multi_service_scanner"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"honeypot_attacker"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"ai_automation"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"hosting_provider"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"risk"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"level"</span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w">
    </span><span class="nl">"label"</span><span class="p">:</span><span class="w"> </span><span class="s2">"critical"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence"</span><span class="p">:</span><span class="w"> </span><span class="mi">85</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence_factors"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"recent_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"repeated_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multi_honeypot_reach"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"specific_attack_signature"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_attack_types"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_target_services"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"observed_activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"observed"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"attack_families"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"web_probe"</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"pattern"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"trend"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_attack_types_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_services_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_ports_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nl">"attacks"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins_login_page_probe"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">8080</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:57+00:00"</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
      </span><span class="p">}</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"last_observed_attack"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"event_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
      </span><span class="nl">"observed_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"attributes"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ai_automation_suspected"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"detected"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"reasons"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"abusive_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Abusive activity observed by FraudGuard ACE"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"scanner_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Scanner or probing activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"medium"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"honeypot_interaction_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Interaction observed across FraudGuard honeypot infrastructure"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"HTTP/WAF attack activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"activity_within_7_days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Activity observed within the last 7 days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">],</span><span class="w">
  </span><span class="nl">"customer"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ip_in_whitelist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_blacklist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_geoblock"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"infrastructure"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hosting_provider"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"provider"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba Cloud"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_tor_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_public_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_vpn"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_hosting_provider"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_residential_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_mobile_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_satellite_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_shared_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_ai_agent"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T02:44:12+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"updated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"network"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"asn"</span><span class="p">:</span><span class="w"> </span><span class="mi">45102</span><span class="p">,</span><span class="w">
    </span><span class="nl">"asn_org"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba US Technology Co., Ltd."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"organization"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"prefix"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.0/24"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"connection_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Corporate"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"geography"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"country"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Japan"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isocode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"JP"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"state"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"city"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"postal_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"102-0082"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"timezone"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Asia/Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"latitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">35.6893</span><span class="p">,</span><span class="w">
    </span><span class="nl">"longitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">139.6899</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"metadata"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"request_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"acev2_example_single_lookup"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"generated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-27T00:47:35+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"schema_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"api_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"engine"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ace_v2"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<p>That is the point: you do not need to call a separate geolocation API just to understand where this IP is from before making a security decision. FraudGuard gives you the context and the evidence in one response.</p>

<h2 id="the-finding-is-the-product">The Finding Is The Product</h2>

<p>For security buyers, the valuable part is not merely knowing that an IP belongs to a cloud provider or appears to use a proxy. The valuable part is knowing that the IP was observed doing something hostile, recently, with enough context to justify an action.</p>

<p>That is what FraudGuard packages. A customer gets the benefit of a sensor network without deploying one: decoys that attract scanners and attackers, ingestion that separates meaningful behavior from noise, reliable geo and network context, and ACE v2 responses that show why the recommendation exists.</p>

<h2 id="the-common-anti-pattern">The Common Anti-Pattern</h2>

<p>Many teams start with a rule like this:</p>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">if</span> <span class="n">ip</span><span class="p">.</span><span class="n">country</span> <span class="ow">in</span> <span class="n">BLOCKED_COUNTRIES</span><span class="p">:</span>
    <span class="n">deny_request</span><span class="p">()</span>
<span class="k">elif</span> <span class="n">ip</span><span class="p">.</span><span class="n">company</span><span class="p">.</span><span class="nb">type</span> <span class="o">==</span> <span class="s">"hosting"</span><span class="p">:</span>
    <span class="n">deny_request</span><span class="p">()</span>
<span class="k">else</span><span class="p">:</span>
    <span class="n">allow_request</span><span class="p">()</span>
</code></pre></div></div>

<p>This is simple, but it breaks quickly. It blocks legitimate customers who happen to be in the wrong country or on hosting infrastructure, and it misses attackers who route through allowed geographies or residential proxies.</p>

<p>A better pattern is to make the security decision from the same response that already contains the geo and network context:</p>

<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">fg</span> <span class="o">=</span> <span class="n">fraudguard</span><span class="p">.</span><span class="n">lookup</span><span class="p">(</span><span class="n">ip</span><span class="p">)</span>
<span class="n">action</span> <span class="o">=</span> <span class="n">fg</span><span class="p">[</span><span class="s">"recommendation"</span><span class="p">][</span><span class="s">"action"</span><span class="p">]</span>

<span class="k">if</span> <span class="n">action</span> <span class="o">==</span> <span class="s">"block"</span><span class="p">:</span>
    <span class="n">deny_request</span><span class="p">(</span><span class="n">reason</span><span class="o">=</span><span class="n">fg</span><span class="p">[</span><span class="s">"recommendation"</span><span class="p">][</span><span class="s">"evidence_summary"</span><span class="p">])</span>
<span class="k">elif</span> <span class="n">action</span> <span class="o">==</span> <span class="s">"challenge"</span><span class="p">:</span>
    <span class="n">require_step_up_verification</span><span class="p">()</span>
<span class="k">else</span><span class="p">:</span>
    <span class="n">continue_request</span><span class="p">(</span>
        <span class="n">country</span><span class="o">=</span><span class="n">fg</span><span class="p">[</span><span class="s">"geography"</span><span class="p">][</span><span class="s">"country"</span><span class="p">],</span>
        <span class="n">asn</span><span class="o">=</span><span class="n">fg</span><span class="p">[</span><span class="s">"network"</span><span class="p">][</span><span class="s">"asn"</span><span class="p">],</span>
        <span class="n">provider</span><span class="o">=</span><span class="n">fg</span><span class="p">[</span><span class="s">"infrastructure"</span><span class="p">][</span><span class="s">"provider"</span><span class="p">]</span>
    <span class="p">)</span>
</code></pre></div></div>

<p>FraudGuard decides whether the request is risky and returns the geo/network fields needed for routing, logging, analytics, support, and investigation.</p>

<h2 id="pricing-context">Pricing Context</h2>

<p>The buyer question is not “which vendor has geolocation?” FraudGuard already has reliable geo data in its APIs. The buyer question is whether geolocation is all you need.</p>

<p>For teams whose main problem is IP threat decisioning, the FraudGuard value is direct: $99/month gets Professional access with ACE v2 and 5 million monthly API requests. That is a low barrier for putting honeypot-derived evidence, geo data, network context, and enforcement recommendations into a real production control.</p>

<h2 id="bottom-line">Bottom Line</h2>

<p>IPinfo is a good geolocation and network enrichment product. FraudGuard includes reliable geo data and goes further: ACE v2 adds observed attack behavior, honeypot evidence, risk confidence, reasons, and an enforcement recommendation.</p>

<p>Try <a href="https://fraudguard.io/iplookup">FraudGuard IP Lookup</a>, review <a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">ACE v2</a>, or compare <a href="https://fraudguard.io/pricing">FraudGuard pricing</a>.</p>

<p>Related comparisons: <a href="/security/comparison/2026/06/11/fraudguard-vs-abuseipdb.html">FraudGuard vs AbuseIPDB</a> and <a href="/security/comparison/2026/06/11/fraudguard-vs-crowdsec.html">FraudGuard vs CrowdSec</a>.</p>]]></content><author><name>FraudGuard.io</name><email>hello@fraudguard.io</email></author><category term="security" /><category term="comparison" /><category term="competitive-comparison" /><category term="ipinfo" /><category term="geolocation" /><category term="ip-reputation" /><category term="threat-intelligence" /><summary type="html"><![CDATA[Compare IP geolocation and network enrichment with FraudGuard's first-party attack observations, confidence factors, and traffic decisions.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" /><media:content medium="image" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">FraudGuard vs AbuseIPDB: Reports vs Attack Evidence</title><link href="https://blog.fraudguard.io/security/comparison/2026/06/11/fraudguard-vs-abuseipdb.html" rel="alternate" type="text/html" title="FraudGuard vs AbuseIPDB: Reports vs Attack Evidence" /><published>2026-06-11T00:00:00-04:00</published><updated>2026-07-11T00:00:00-04:00</updated><id>https://blog.fraudguard.io/security/comparison/2026/06/11/fraudguard-vs-abuseipdb</id><content type="html" xml:base="https://blog.fraudguard.io/security/comparison/2026/06/11/fraudguard-vs-abuseipdb.html"><![CDATA[<p>AbuseIPDB is one of the best-known community IP reputation tools. It gives administrators a place to report abusive IPs, check IPs reported by others, and pull blocklist data into firewalls and security workflows.</p>

<p>That is valuable. It is also a different job from making real-time production decisions on login attempts, API calls, checkout flows, and customer traffic.</p>

<p>The short version:</p>

<ul>
  <li>AbuseIPDB is strongest when you want community-reported abuse context.</li>
  <li>FraudGuard is strongest when you need observed attack evidence and a direct allow, challenge, or block recommendation.</li>
</ul>

<p>The commercial difference is bigger than the API shape. With FraudGuard, a customer is buying access to first-party honeypot findings and ACE v2’s decision layer at published prices that start in small-team territory. That combination is rare: direct attack observations, explainable evidence, and production-friendly pricing in the same IP reputation product.</p>

<h2 id="what-abuseipdb-does-well">What AbuseIPDB Does Well</h2>

<p>AbuseIPDB is a community reporting system. Its own documentation describes the blacklist as a list of the most reported IP addresses, ordered by abuse confidence score and recency of the last report. Its <a href="https://www.abuseipdb.com/pricing">public pricing page</a> also makes the tool easy to test, with a free individual tier that includes 1,000 IP checks and reports per day.</p>

<p>That makes AbuseIPDB useful for:</p>

<ul>
  <li>checking an IP during incident response</li>
  <li>enriching firewall decisions with community context</li>
  <li>seeing whether other administrators have reported similar activity</li>
  <li>maintaining a supplemental blocklist for low-risk environments</li>
  <li>giving small teams a free way to start using reputation data</li>
</ul>

<p>For a sysadmin investigating suspicious SSH attempts, AbuseIPDB is a practical starting point.</p>

<h2 id="where-community-reports-become-risky">Where Community Reports Become Risky</h2>

<p>Community data has a structural limitation: it is only as complete, timely, and accurate as the reporting network.</p>

<p>If an attacker is using fresh infrastructure, there may be no reports yet. If an IP was reported for stale behavior, the score may not reflect what that IP is doing today. If the report context is thin, your application still has to decide what to do with the number.</p>

<p>That does not make the data useless. It means the data should be treated as one signal, not the entire production gate.</p>

<p>The core question for automated enforcement is not “did someone report this IP?” It is “what evidence supports blocking this request right now?”</p>

<h2 id="fraudguards-different-starting-point">FraudGuard’s Different Starting Point</h2>

<p><a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">FraudGuard ACE v2</a> starts from verified FraudGuard observations: honeypot activity, attack behavior, infrastructure enrichment, network context, geography, and customer-specific controls. The API is designed to explain why a recommendation was made, including observed attack families, rolling-window attack volume, targeted services, protocols, ports, confidence factors, and human-readable reasons.</p>

<p>That creates a different workflow:</p>

<ul>
  <li>The application receives an action: <code class="language-plaintext highlighter-rouge">allow</code>, <code class="language-plaintext highlighter-rouge">challenge</code>, or <code class="language-plaintext highlighter-rouge">block</code>.</li>
  <li>The analyst receives an evidence summary.</li>
  <li>The developer receives structured fields for logging and policy logic.</li>
  <li>The support team can explain a decision without reverse-engineering a score.</li>
</ul>

<h2 id="the-honeypot-data-advantage">The Honeypot Data Advantage</h2>

<p>Community reports answer “who has complained about this IP?” FraudGuard’s honeypot infrastructure answers a different question: “what did this IP do when it reached systems designed to observe attacker behavior?”</p>

<p>That distinction is the core value. Honeypot findings can show attack family, recency, service targeting, repeated behavior, multi-sensor reach, and infrastructure context before a customer has to learn the hard way in their own logs. ACE v2 turns those findings into an operational decision instead of leaving customers with a pile of raw events.</p>

<p>For many teams, building comparable coverage internally is not realistic. Running decoys, normalizing events, filtering noisy scans, correlating behavior by IP, keeping infrastructure fresh, and serving decisions through an API is an entire threat intelligence program. FraudGuard makes that program available as a product.</p>

<h2 id="api-output-comparison">API Output Comparison</h2>

<p>An AbuseIPDB lookup can provide community report context such as confidence, report counts, categories, and timestamps.</p>

<p>An ACE v2 lookup is built around enforcement context. Here is a real single-lookup response:</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"ip"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.173"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"recommendation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"action"</span><span class="p">:</span><span class="w"> </span><span class="s2">"block"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"evidence_summary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This IP was observed performing 3 total attack events across 2 FraudGuard honeypots in the last 7 days, including 2 Jenkins probing events and 1 HTTP/WAF probing event, most recently on May 26, 2026 at 19:31 UTC."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"cache_ttl_seconds"</span><span class="p">:</span><span class="w"> </span><span class="mi">14400</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"classification"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"primary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"web_scanner"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"secondary"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"multi_service_scanner"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"honeypot_attacker"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"ai_automation"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"hosting_provider"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"risk"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"level"</span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w">
    </span><span class="nl">"label"</span><span class="p">:</span><span class="w"> </span><span class="s2">"critical"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence"</span><span class="p">:</span><span class="w"> </span><span class="mi">85</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence_factors"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"recent_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"repeated_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multi_honeypot_reach"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"specific_attack_signature"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_attack_types"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_target_services"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"observed_activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"observed"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"attack_families"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"web_probe"</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"pattern"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"trend"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_attack_types_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_services_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_ports_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nl">"attacks"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins_login_page_probe"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">8080</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:57+00:00"</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
      </span><span class="p">}</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"last_observed_attack"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"event_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
      </span><span class="nl">"observed_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"attributes"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ai_automation_suspected"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"detected"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"reasons"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"abusive_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Abusive activity observed by FraudGuard ACE"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"scanner_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Scanner or probing activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"medium"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"honeypot_interaction_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Interaction observed across FraudGuard honeypot infrastructure"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"HTTP/WAF attack activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"activity_within_7_days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Activity observed within the last 7 days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">],</span><span class="w">
  </span><span class="nl">"customer"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ip_in_whitelist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_blacklist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_geoblock"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"infrastructure"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hosting_provider"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"provider"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba Cloud"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_tor_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_public_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_vpn"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_hosting_provider"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_residential_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_mobile_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_satellite_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_shared_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_ai_agent"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T02:44:12+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"updated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"network"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"asn"</span><span class="p">:</span><span class="w"> </span><span class="mi">45102</span><span class="p">,</span><span class="w">
    </span><span class="nl">"asn_org"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba US Technology Co., Ltd."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"organization"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"prefix"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.0/24"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"connection_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Corporate"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"geography"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"country"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Japan"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isocode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"JP"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"state"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"city"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"postal_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"102-0082"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"timezone"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Asia/Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"latitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">35.6893</span><span class="p">,</span><span class="w">
    </span><span class="nl">"longitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">139.6899</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"metadata"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"request_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"acev2_example_single_lookup"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"generated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-27T00:47:35+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"schema_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"api_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"engine"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ace_v2"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<p>This response shows the documented ACE v2 model in practice: recommendation, classification, risk, observed activity, confidence factors, reasons, infrastructure context, network context, geography, and metadata.</p>

<h2 id="how-to-think-about-the-choice">How To Think About The Choice</h2>

<p>AbuseIPDB is best treated as community context. It can tell you whether other administrators have reported an IP and what categories they associated with it. That is useful during manual investigation, firewall enrichment, or low-risk workflows where a community signal is enough.</p>

<p>FraudGuard is built for production decisions. ACE v2 gives your application the evidence behind the recommendation: observed behavior, recency, attack type, infrastructure context, confidence factors, reason codes, and an explicit action. That matters when a block can affect real customers, revenue, support, or compliance review.</p>

<p>The practical split is simple: use community reports as supporting context, but use observed evidence when the decision needs to stand on its own.</p>

<h2 id="price-matters-because-evidence-is-usually-expensive">Price Matters Because Evidence Is Usually Expensive</h2>

<p>High-quality threat intelligence should not be available only to large enterprises with security budgets and long procurement cycles. FraudGuard is priced to make serious IP intelligence available to the masses: startups, small teams, growing SaaS companies, fraud teams, platform operators, and enterprises that want transparent costs instead of a custom quote before they can even test the product.</p>

<p><a href="https://fraudguard.io/pricing">FraudGuard pricing</a> starts at $29/month for 1 million monthly requests, with ACE v2 available on Professional plans at $99/month for 5 million monthly requests. That means a team can put honeypot-derived IP evidence into a real login, API, or WAF workflow without first committing to a large enterprise contract.</p>

<p>That is the value story: AbuseIPDB is inexpensive community context; FraudGuard is affordable first-party attack evidence.</p>

<h2 id="bottom-line">Bottom Line</h2>

<p>AbuseIPDB is useful community reputation infrastructure. FraudGuard is a production threat-decision API.</p>

<p>Community reports can help with investigation and low-stakes enrichment. If your application needs to decide whether to allow, challenge, or block a real customer request, FraudGuard’s evidence-based model is the stronger foundation because it exposes the honeypot findings, recency, confidence, and ACE v2 reasoning behind the decision.</p>

<p>Start with <a href="https://fraudguard.io/iplookup">FraudGuard IP Lookup</a>, compare plans at <a href="https://fraudguard.io/pricing">fraudguard.io/pricing</a>, or review the <a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">ACE v2 API</a>.</p>

<p>Related comparisons: <a href="/security/comparison/2026/06/11/fraudguard-vs-ipinfo.html">FraudGuard vs IPinfo</a> and <a href="/security/comparison/2026/06/11/fraudguard-vs-crowdsec.html">FraudGuard vs CrowdSec</a>.</p>]]></content><author><name>FraudGuard.io</name><email>hello@fraudguard.io</email></author><category term="security" /><category term="comparison" /><category term="competitive-comparison" /><category term="abuseipdb" /><category term="ip-reputation" /><category term="threat-intelligence" /><category term="ace-v2" /><summary type="html"><![CDATA[Compare community-reported IP abuse with FraudGuard's first-party attack evidence, explainable decisions, API workflows, and public pricing.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" /><media:content medium="image" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">FraudGuard vs CrowdSec: Where Each Fits</title><link href="https://blog.fraudguard.io/security/comparison/2026/06/11/fraudguard-vs-crowdsec.html" rel="alternate" type="text/html" title="FraudGuard vs CrowdSec: Where Each Fits" /><published>2026-06-11T00:00:00-04:00</published><updated>2026-07-11T00:00:00-04:00</updated><id>https://blog.fraudguard.io/security/comparison/2026/06/11/fraudguard-vs-crowdsec</id><content type="html" xml:base="https://blog.fraudguard.io/security/comparison/2026/06/11/fraudguard-vs-crowdsec.html"><![CDATA[<p>CrowdSec is a strong open-source security project. It helps teams detect attacks from local logs, turn those detections into decisions, and enforce the decisions through remediation components, often called bouncers.</p>

<p>FraudGuard solves a different problem. It gives applications, gateways, WAF workflows, and fraud systems an external IP reputation decision backed by FraudGuard’s own honeypot and attack telemetry.</p>

<p>The distinction matters:</p>

<ul>
  <li>CrowdSec is excellent when you want host-level detection and local remediation.</li>
  <li>FraudGuard is better when you need an API-level allow, challenge, or block decision before a request reaches the application.</li>
</ul>

<p>FraudGuard’s value is not just that it returns an IP verdict. The value is that the verdict is backed by FraudGuard honeypot infrastructure and processed through ACE v2, so customers can use attack findings they did not have to collect, operate, normalize, or correlate themselves.</p>

<h2 id="how-crowdsec-works">How CrowdSec Works</h2>

<p>CrowdSec’s documentation describes a Security Engine made of a Log Processor and Local API. The Log Processor detects threats from logs using parsers, collections, scenarios, and AppSec rules. The Local API stores alerts and decisions. <a href="https://docs.crowdsec.net/u/bouncers/intro/">Remediation Components</a>, or bouncers, consume those decisions and enforce them through firewalls, reverse proxies, CDN integrations, CAPTCHA flows, or similar controls.</p>

<p>That architecture is useful when you control the environment producing the logs.</p>

<p>Good CrowdSec fits include:</p>

<ul>
  <li>hardening SSH on Linux servers</li>
  <li>protecting self-hosted web services</li>
  <li>adding firewall remediation to VPS fleets</li>
  <li>using local nginx, Apache, or system logs for detection</li>
  <li>participating in community threat sharing</li>
</ul>

<p>If your goal is “my servers should learn from their own logs and enforce locally,” CrowdSec belongs on the shortlist.</p>

<h2 id="where-the-boundary-changes">Where The Boundary Changes</h2>

<p>Application-layer fraud and abuse often happens before a clean server log exists.</p>

<p>A login request reaches a CDN, then an edge proxy, then a load balancer, then an API gateway, then one of many application services. The business decision may need to happen at the first boundary, not after individual hosts parse logs.</p>

<p>That is where an IP reputation API fits better:</p>

<ul>
  <li>one decision point can protect many downstream services</li>
  <li>the signal does not depend on your local logs being complete</li>
  <li>you can challenge suspicious traffic instead of only banning it</li>
  <li>support and fraud teams can log the evidence behind decisions</li>
  <li>the same decision model works across cloud, serverless, WAF, and application code</li>
</ul>

<p>CrowdSec and FraudGuard can both reduce malicious traffic, but they sit at different parts of the stack.</p>

<h2 id="fraudguards-approach">FraudGuard’s Approach</h2>

<p><a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">FraudGuard ACE v2</a> returns real-time allow, challenge, and block guidance using verified FraudGuard honeypot observations, attack behavior, infrastructure enrichment, network context, geography, and account-specific controls.</p>

<p>FraudGuard’s honeypots act as an independent sensor layer. They are not waiting for your application to be attacked before a signal exists. If an IP has been probing decoys, brute-forcing services, touching AI endpoints, scanning web targets, or repeating behavior across multiple sensors, ACE v2 can carry that evidence into your edge decision before the same IP reaches your production path.</p>

<p>A real ACE v2 response looks like this:</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"ip"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.173"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"recommendation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"action"</span><span class="p">:</span><span class="w"> </span><span class="s2">"block"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"evidence_summary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This IP was observed performing 3 total attack events across 2 FraudGuard honeypots in the last 7 days, including 2 Jenkins probing events and 1 HTTP/WAF probing event, most recently on May 26, 2026 at 19:31 UTC."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"cache_ttl_seconds"</span><span class="p">:</span><span class="w"> </span><span class="mi">14400</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"classification"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"primary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"web_scanner"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"secondary"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"multi_service_scanner"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"honeypot_attacker"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"ai_automation"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"hosting_provider"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"risk"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"level"</span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w">
    </span><span class="nl">"label"</span><span class="p">:</span><span class="w"> </span><span class="s2">"critical"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence"</span><span class="p">:</span><span class="w"> </span><span class="mi">85</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence_factors"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"recent_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"repeated_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multi_honeypot_reach"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"specific_attack_signature"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_attack_types"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_target_services"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"observed_activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"observed"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"attack_families"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"web_probe"</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"pattern"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"trend"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_attack_types_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_services_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_ports_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nl">"attacks"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins_login_page_probe"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">8080</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:57+00:00"</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
      </span><span class="p">}</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"last_observed_attack"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"event_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
      </span><span class="nl">"observed_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"attributes"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ai_automation_suspected"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"detected"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"reasons"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"abusive_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Abusive activity observed by FraudGuard ACE"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"scanner_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Scanner or probing activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"medium"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"honeypot_interaction_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Interaction observed across FraudGuard honeypot infrastructure"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"HTTP/WAF attack activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"activity_within_7_days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Activity observed within the last 7 days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">],</span><span class="w">
  </span><span class="nl">"customer"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ip_in_whitelist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_blacklist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_geoblock"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"infrastructure"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hosting_provider"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"provider"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba Cloud"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_tor_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_public_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_vpn"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_hosting_provider"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_residential_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_mobile_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_satellite_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_shared_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_ai_agent"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T02:44:12+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"updated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"network"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"asn"</span><span class="p">:</span><span class="w"> </span><span class="mi">45102</span><span class="p">,</span><span class="w">
    </span><span class="nl">"asn_org"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba US Technology Co., Ltd."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"organization"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"prefix"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.0/24"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"connection_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Corporate"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"geography"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"country"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Japan"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isocode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"JP"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"state"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"city"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"postal_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"102-0082"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"timezone"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Asia/Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"latitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">35.6893</span><span class="p">,</span><span class="w">
    </span><span class="nl">"longitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">139.6899</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"metadata"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"request_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"acev2_example_single_lookup"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"generated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-27T00:47:35+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"schema_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"api_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"engine"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ace_v2"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<p>The <code class="language-plaintext highlighter-rouge">recommendation.action</code> field is important. Production fraud controls are rarely binary. A host firewall can ban an IP, but an application often needs more nuance: deny obvious attackers, challenge ambiguous traffic, and allow clean users.</p>

<h2 id="why-the-honeypot-layer-is-hard-to-replicate">Why The Honeypot Layer Is Hard To Replicate</h2>

<p>A single server can see attacks against itself. A honeypot network sees attacker behavior across decoys, services, providers, and time windows. That matters because production teams want to know whether a source IP is a repeat offender elsewhere before it becomes their incident.</p>

<p>Building that internally is expensive. It requires decoy infrastructure, collection pipelines, payload parsing, enrichment, scoring, analyst review, false-positive handling, API serving, and uptime. FraudGuard turns that into a simple lookup with evidence attached.</p>

<p><a href="https://fraudguard.io/pricing">FraudGuard pricing</a> also keeps the value accessible: Starter begins at $29/month for 1 million requests, and Professional includes ACE v2 at $99/month for 5 million requests. For teams that cannot justify a custom threat-intel contract but still need better source-IP evidence, that pricing is the point.</p>

<h2 id="bottom-line">Bottom Line</h2>

<p>CrowdSec is a strong host-level security and remediation platform. FraudGuard is an evidence-based IP reputation API for production traffic decisions.</p>

<p>For self-hosted firewall remediation tied to local logs, CrowdSec is a practical option. For request-level risk, login protection, API abuse, WAF enrichment, checkout protection, and fraud workflows, FraudGuard is the stronger fit. ACE v2 gives teams external honeypot evidence and a decision before suspicious traffic reaches the application.</p>

<p>Review <a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">FraudGuard ACE v2</a>, compare <a href="https://fraudguard.io/pricing">FraudGuard pricing</a>, or test an IP at <a href="https://fraudguard.io/iplookup">fraudguard.io/iplookup</a>.</p>

<p>Related comparisons: <a href="/security/comparison/2026/06/11/fraudguard-vs-abuseipdb.html">FraudGuard vs AbuseIPDB</a> and <a href="/security/comparison/2026/06/11/fraudguard-vs-ipinfo.html">FraudGuard vs IPinfo</a>.</p>]]></content><author><name>FraudGuard.io</name><email>hello@fraudguard.io</email></author><category term="security" /><category term="comparison" /><category term="competitive-comparison" /><category term="crowdsec" /><category term="threat-intelligence" /><category term="ip-reputation" /><category term="ace-v2" /><summary type="html"><![CDATA[Compare CrowdSec's local detection and remediation model with FraudGuard's external, API-level IP evidence for production traffic decisions.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" /><media:content medium="image" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">The IP Reputation Black Box Problem</title><link href="https://blog.fraudguard.io/security/2026/06/10/ip-reputation-black-box-problem.html" rel="alternate" type="text/html" title="The IP Reputation Black Box Problem" /><published>2026-06-10T00:00:00-04:00</published><updated>2026-07-11T00:00:00-04:00</updated><id>https://blog.fraudguard.io/security/2026/06/10/ip-reputation-black-box-problem</id><content type="html" xml:base="https://blog.fraudguard.io/security/2026/06/10/ip-reputation-black-box-problem.html"><![CDATA[<p>Most IP reputation tools give you a score.</p>

<p>That is useful until the first real support ticket lands: a customer cannot log in, checkout conversion drops, or an enterprise integration starts failing because an IP crossed a threshold nobody can explain anymore. The security team sees <code class="language-plaintext highlighter-rouge">risk_score: 87</code>. The support team asks why the user was blocked. The developer who added the rule last quarter is not sure whether 87 means a recent attack, an old report, a proxy flag, or a bad neighborhood.</p>

<p>That is the IP reputation black box problem. Scores are easy to automate, but hard to defend when they do not show the evidence behind the decision.</p>

<h2 id="a-score-is-not-an-incident-record">A Score Is Not an Incident Record</h2>

<p>Production teams need more than “risky” or “suspicious.” They need to know:</p>

<ul>
  <li>What did this IP actually do?</li>
  <li>Was the behavior observed directly or inferred from another data source?</li>
  <li>How recently did it happen?</li>
  <li>Was it one event or a repeat pattern?</li>
  <li>Did the IP hit multiple sensors or only one system?</li>
  <li>Should the application block, challenge, or allow the request?</li>
</ul>

<p>Without those answers, teams end up guessing. A score of 85 might represent fresh credential-stuffing activity across multiple honeypots. It might also represent an old abuse report, an inherited subnet reputation issue, or an infrastructure flag that should only trigger a step-up challenge.</p>

<p>Those are very different enforcement decisions.</p>

<h2 id="the-false-positive-tax">The False Positive Tax</h2>

<p>The business cost of IP reputation is not only the malicious traffic it misses. It is the legitimate traffic it blocks.</p>

<p>False positives create support tickets, manual reviews, lost conversions, and internal distrust of security controls. Once a fraud or security team loses confidence in the signal, the usual reaction is to raise thresholds until fewer customers complain. That reduces pain in the short term, but it also lets more real abuse through.</p>

<p>The better fix is not a higher or lower score. It is a clearer reason.</p>

<p>When an analyst can read “this IP performed 12 SSH brute-force events and 4 web probes across 3 honeypots in the last 7 days,” the decision becomes easier to defend. When the answer is just <code class="language-plaintext highlighter-rouge">score: 87</code>, every blocked user becomes a debate.</p>

<h2 id="static-lists-struggle-with-shared-infrastructure">Static Lists Struggle With Shared Infrastructure</h2>

<p>Attackers use the same providers legitimate users use: hyperscale cloud, cheap VPS hosts, residential proxy networks, mobile carriers, and corporate VPNs. That creates a shared-infrastructure problem.</p>

<p>Blocking an entire range because some addresses were abusive can catch clean customers. Trusting every address in a well-known provider can let disposable attacker infrastructure pass. The useful signal is not only where the IP sits. It is what that specific IP has been observed doing.</p>

<p>This is why per-IP evidence matters. Hosting provider context can be useful, but it should not be the whole decision. A clean developer VPS and a credential-stuffing node may live in adjacent address space. Treating them the same is how reputation systems turn into blunt instruments.</p>

<h2 id="recency-matters">Recency Matters</h2>

<p>IP behavior changes quickly. A cloud instance can be created, abused, reported, destroyed, and replaced in hours. Residential and mobile IPs can be reassigned. VPN exit nodes can rotate. Old observations should not carry the same weight as fresh behavior.</p>

<p>Good reputation systems need rolling windows, not only historical labels:</p>

<ul>
  <li>activity in the last 24 hours</li>
  <li>activity in the last 7 days</li>
  <li>activity in the last 30 days</li>
  <li>first seen and last seen timestamps</li>
  <li>whether the pattern is increasing, cooling, or recurring</li>
</ul>

<p>This is the difference between blocking an active campaign and punishing an address for stale history.</p>

<h2 id="where-ace-v1-fit">Where ACE v1 Fit</h2>

<p>It is worth being honest about FraudGuard’s own evolution here. ACE v1 was built for speed, scale, and simple production enforcement. For many customers, that was exactly what they wanted: a fast IP reputation decision they could plug into an application, firewall, login flow, or abuse workflow without managing a large threat-intelligence program themselves.</p>

<p>That kind of API still has value. Some teams do not want every field, every event, and every reason code. They want a dependable risk signal that lets them block obvious abuse and move on. For lower-risk workflows, internal tools, or teams that already have their own decisioning logic, a simpler score or classification can be enough.</p>

<p>But as FraudGuard moved into more sensitive production use cases, the customer needs became more varied:</p>

<ul>
  <li>Some customers wanted the fastest possible decision and were comfortable trusting FraudGuard’s scoring.</li>
  <li>Some wanted rawer detail so they could make their own allow, challenge, or block decisions.</li>
  <li>Some wanted evidence they could show support, security, compliance, or customers after a block.</li>
  <li>Some wanted FraudGuard to recommend the action, but also show exactly why that action was recommended.</li>
</ul>

<p>ACE v1 handled the first category well. ACE v2 was built for the rest.</p>

<p>That is the shift described in our <a href="/security/2026/05/27/ACE-v2-release-article.html">ACE v2 release article</a>: keep the scale and reliability of ACE v1, but add the structured evidence, confidence factors, observed activity, infrastructure context, reason codes, and recommendation model that production teams increasingly need.</p>

<h2 id="what-evidence-based-reputation-looks-like">What Evidence-Based Reputation Looks Like</h2>

<p><a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">FraudGuard ACE v2</a> was designed around explainable allow, challenge, and block decisions. The response can include observed attack families, attack volume across rolling windows, targeted services, protocols and ports, infrastructure classification, confidence factors, customer controls, and human-readable reasons.</p>

<p>Instead of forcing every customer to map a raw score into a local rule, ACE v2 returns an enforcement recommendation and the reason behind it.</p>

<p>A real ACE v2 single-lookup response looks like this:</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"ip"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.173"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"recommendation"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"action"</span><span class="p">:</span><span class="w"> </span><span class="s2">"block"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"evidence_summary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"This IP was observed performing 3 total attack events across 2 FraudGuard honeypots in the last 7 days, including 2 Jenkins probing events and 1 HTTP/WAF probing event, most recently on May 26, 2026 at 19:31 UTC."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"cache_ttl_seconds"</span><span class="p">:</span><span class="w"> </span><span class="mi">14400</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"classification"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"primary"</span><span class="p">:</span><span class="w"> </span><span class="s2">"web_scanner"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"secondary"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"multi_service_scanner"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"honeypot_attacker"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"ai_automation"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"hosting_provider"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"risk"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"level"</span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w">
    </span><span class="nl">"label"</span><span class="p">:</span><span class="w"> </span><span class="s2">"critical"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence"</span><span class="p">:</span><span class="w"> </span><span class="mi">85</span><span class="p">,</span><span class="w">
    </span><span class="nl">"confidence_factors"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"recent_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"repeated_activity"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multi_honeypot_reach"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"specific_attack_signature"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_attack_types"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"multiple_target_services"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"observed_activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"observed"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"attack_families"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"web_probe"</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"activity"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"pattern"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"trend"</span><span class="p">:</span><span class="w"> </span><span class="s2">"burst"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_attack_types_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_services_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"distinct_target_ports_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
      </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nl">"attacks"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins_login_page_probe"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"jenkins"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">8080</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:54+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T15:45:57+00:00"</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="p">{</span><span class="w">
        </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"attack_events_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_24h"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_7d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"honeypots_reached_30d"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
        </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="p">,</span><span class="w">
        </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
      </span><span class="p">}</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"last_observed_attack"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"event_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"protocol"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"destination_port"</span><span class="p">:</span><span class="w"> </span><span class="mi">80</span><span class="p">,</span><span class="w">
      </span><span class="nl">"observed_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-26T19:31:59+00:00"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"attributes"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ai_automation_suspected"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
      </span><span class="nl">"detected"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"reasons"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"abusive_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Abusive activity observed by FraudGuard ACE"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"scanner_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Scanner or probing activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"medium"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"honeypot_interaction_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Interaction observed across FraudGuard honeypot infrastructure"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"waf_attack_activity_observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"HTTP/WAF attack activity observed"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"activity_within_7_days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"message"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Activity observed within the last 7 days"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"severity"</span><span class="p">:</span><span class="w"> </span><span class="s2">"high"</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">],</span><span class="w">
  </span><span class="nl">"customer"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"ip_in_whitelist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_blacklist"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"ip_in_geoblock"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"infrastructure"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"hosting_provider"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"provider"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba Cloud"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_tor_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_public_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_vpn"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_hosting_provider"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_residential_proxy"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_mobile_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_satellite_network"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_shared_exit"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"is_ai_agent"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
    </span><span class="nl">"first_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T02:44:12+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"last_seen"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"updated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-18T15:07:09+00:00"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"network"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"asn"</span><span class="p">:</span><span class="w"> </span><span class="mi">45102</span><span class="p">,</span><span class="w">
    </span><span class="nl">"asn_org"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba US Technology Co., Ltd."</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isp"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"organization"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Alibaba"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"prefix"</span><span class="p">:</span><span class="w"> </span><span class="s2">"8.216.12.0/24"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"connection_type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Corporate"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"geography"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"country"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Japan"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"isocode"</span><span class="p">:</span><span class="w"> </span><span class="s2">"JP"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"state"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"city"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"postal_code"</span><span class="p">:</span><span class="w"> </span><span class="s2">"102-0082"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"timezone"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Asia/Tokyo"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"latitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">35.6893</span><span class="p">,</span><span class="w">
    </span><span class="nl">"longitude"</span><span class="p">:</span><span class="w"> </span><span class="mf">139.6899</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"metadata"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"request_id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"acev2_example_single_lookup"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"generated_at"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2026-05-27T00:47:35+00:00"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"schema_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"api_version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"2.0.0"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"engine"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ace_v2"</span><span class="w">
  </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<p>The important part is not just the JSON shape. It is the operational workflow the real evidence enables:</p>

<ul>
  <li>Support can explain why a block happened.</li>
  <li>Security can tune challenges differently from hard blocks.</li>
  <li>Developers can cache decisions using the recommended TTL.</li>
  <li>Analysts can review the evidence later without reverse-engineering a score.</li>
  <li>Compliance and audit teams can see that automated decisions were based on specific signals.</li>
</ul>

<h2 id="challenge-is-often-better-than-block">Challenge Is Often Better Than Block</h2>

<p>Black-box reputation pushes teams toward binary decisions: allow or deny. That is risky for business workflows where the cost of a false positive is high.</p>

<p>Many suspicious requests should be challenged instead of blocked outright. A login from a fresh residential proxy may deserve MFA. A checkout attempt from an IP with recent honeypot attack evidence may deserve a hard block. A clean hosting IP making authenticated API calls for a known customer may deserve an allow.</p>

<p>The right action depends on evidence quality, recency, and business context. A single score rarely captures that nuance.</p>

<h2 id="what-to-look-for-in-an-ip-reputation-api">What To Look For In An IP Reputation API</h2>

<p>If you are evaluating an IP reputation provider, ask these questions before wiring it into production enforcement:</p>

<ul>
  <li>Does the API show why an IP was flagged?</li>
  <li>Are observations timestamped?</li>
  <li>Does it distinguish observed attacks from infrastructure enrichment?</li>
  <li>Does it provide confidence factors, not only a score?</li>
  <li>Can it recommend block, challenge, or allow?</li>
  <li>Can your team log enough context to explain a future support ticket?</li>
  <li>Does the vendor document which fields may change over time?</li>
</ul>

<p>If the answer is mostly “trust the score,” treat the signal as enrichment, not as a primary gate.</p>

<h2 id="bottom-line">Bottom Line</h2>

<p>IP reputation becomes more valuable when it stops being a black box. Scores are useful, but production systems need evidence, recency, confidence, and a clear recommended action.</p>

<p>FraudGuard’s position is simple: if an IP decision affects customers, revenue, or security posture, the API should be able to show its work. Customers who want a simple decision can still use one. Customers who need the full case file can now get it through ACE v2.</p>

<p>Start with <a href="https://fraudguard.io/iplookup">FraudGuard IP Lookup</a>, read the <a href="/security/2026/05/27/ACE-v2-release-article.html">ACE v2 release article</a>, review the <a href="https://docs.fraudguard.io/#ace-v2-ip-intelligence">ACE v2 API documentation</a>, or compare plans at <a href="https://fraudguard.io/pricing">fraudguard.io/pricing</a>.</p>]]></content><author><name>FraudGuard.io</name><email>hello@fraudguard.io</email></author><category term="security" /><category term="ip-reputation" /><category term="threat-intelligence" /><category term="ace-v2" /><category term="false-positives" /><summary type="html"><![CDATA[Why production teams need IP reputation evidence, not just a risk score, when they decide whether to allow, challenge, or block traffic.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" /><media:content medium="image" url="https://blog.fraudguard.io/assets/images/fraudguard-social-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>