get_shadowserver_cve_activity
Returns daily Shadowserver honeypot observations for a single CVE over a configurable look-back window. Use this tool to understand how actively a vulnerability is being scanned or exploited across the internet. Costs 1 credit.
Cost: 1 credit per successful call · Response shape: jsonb
Parameters
cve_idstringrequiredCVE identifier. Must match ^CVE-[0-9]{4}-[0-9]{4,7}$. The value is uppercased server-side, so cve-2024-3094 is accepted.
daysintegeroptionaldefault 30Number of days to look back. Accepted range: 1–90.
Example invocation
Ask your agent: "Show me the Shadowserver honeypot activity for CVE-2024-3094 over the last 60 days."
curl -s https://api.edgeprotect.io/functions/v1/mcp \
-H "Authorization: Bearer $EDGEPROTECT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_shadowserver_cve_activity","arguments":{"cve_id":"CVE-2024-3094","days":60}}}'
Response
{
"cve_id": "CVE-2024-3094",
"days": 60,
"summary": {
"cve_id": "CVE-2024-3094",
"vendor": "xz",
"product": "xz-utils",
"severity": "Critical",
"cvss": 10.0,
"cisa_kev": true,
"iot": false,
"vulnerability_class": "Supply Chain",
"first_seen": "2024-04-02",
"last_seen": "2026-05-17",
"connections_total": 841203,
"connections_7d": 29841,
"connections_30d": 118204,
"connections_90d": 312900,
"action_priority": "Immediate",
"epss_score": 0.9732,
"epss_percentile": 0.9991,
"nvd_published": "2024-03-29",
"summary_as_of": "2026-05-17"
},
"observations": [
{ "observation_date": "2026-05-17", "unique_ips": 188 },
{ "observation_date": "2026-05-16", "unique_ips": 172 },
{ "observation_date": "2026-05-15", "unique_ips": 161 }
],
"generated_at": "2026-05-18T10:24:31.118Z"
}
The full MCP envelope (including _meta.edgeprotect with request_id, credits, and response_truncated) is described in Response Format.
Response fields
| Field | Type | Description |
|---|---|---|
cve_id |
string | The CVE identifier as stored (uppercased). |
days |
integer | The look-back window used for this query. |
summary |
object or null | Aggregate statistics for the CVE across all time and fixed windows. null if the CVE has no Shadowserver records. |
summary.vendor |
string | Vendor name associated with the CVE. |
summary.product |
string | Product name associated with the CVE. |
summary.severity |
string | Vulnerability severity label (e.g. Critical, High). |
summary.cvss |
number | CVSS base score. |
summary.cisa_kev |
boolean | Whether the CVE appears in the CISA Known Exploited Vulnerabilities catalog. |
summary.iot |
boolean | Whether the CVE has been observed targeting IoT devices. |
summary.vulnerability_class |
string | Broad vulnerability class (e.g. Remote Code Execution). |
summary.first_seen |
string | Earliest observation date in YYYY-MM-DD format. |
summary.last_seen |
string | Most recent observation date in YYYY-MM-DD format. |
summary.connections_7d |
integer | Total honeypot connections in the last 7 days. |
summary.connections_30d |
integer | Total honeypot connections in the last 30 days. |
summary.connections_90d |
integer | Total honeypot connections in the last 90 days. |
summary.connections_total |
integer | Total honeypot connections across all time. |
summary.action_priority |
string | Recommended action priority derived from CISA KEV and EPSS data. |
summary.epss_score |
number | EPSS probability score (0.0–1.0). |
summary.epss_percentile |
number | EPSS percentile ranking (0.0–1.0). |
summary.nvd_published |
string | NVD publication date in YYYY-MM-DD format. |
summary.summary_as_of |
string | Date through which the summary statistics are computed. |
observations |
array | One entry per calendar day within the window, sorted descending by date. Empty array if no observations exist. |
observations[].observation_date |
string | Observation date in YYYY-MM-DD format. |
observations[].unique_ips |
integer | Unique source IPs observed on this date. |
generated_at |
string | ISO 8601 timestamp when the response was generated. |
Errors
| Code | Message | When |
|---|---|---|
-32602 |
invalid_params: cve_id: required_string |
cve_id was not supplied. |
-32602 |
invalid_params: cve_id: pattern |
cve_id does not match ^CVE-[0-9]{4}-[0-9]{4,7}$. |
-32602 |
invalid_params: days: min:1 |
days is less than 1. |
-32602 |
invalid_params: days: max:90 |
days is greater than 90. |
-32001 |
unauthorized |
API key is invalid, revoked, or not permitted from this IP. |
-32002 |
insufficient_credits |
Credit balance is zero. Top up from the dashboard. |
-32603 |
internal |
Unexpected server error. The credit is automatically refunded. |
If the CVE exists but has no Shadowserver observations in the requested window, the tool returns a successful response with an empty observations array and a null summary. No credit is charged for a lookup that returns no data due to a missing entity.
For the full error reference, see Errors.

