_ registry / mcp streamable-http · checked 36m ago

HoneyLabs Threat Intelligence

https://honeylabs.net

Registry code: 5ea865bb90f55a89

api record
endpoint
https://honeylabs.net/mcp/v1
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is HoneyLabs Threat Intelligence live?
Yes — it answered the hub's last check (checked 36m ago). It answered 100% of checks over the last 30 days.
Is HoneyLabs Threat Intelligence free to use?
No — it asks for a key or a login before it will serve.
What tools does HoneyLabs Threat Intelligence have?
11 tools: cve_lookup_tool, attack_timeline_tool, fingerprint_similar_tool, ioc_lookup_tool, asn_enrich_tool, payload_search_tool, search_events_tool, fingerprint_search_tool, ….
Is HoneyLabs Threat Intelligence safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
192ms

last good check

priced tools
0

of 11 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 11 tools
11 auth-required 11 of 11 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • cve_lookup_tool auth-required 36m ago

    Who is probing a specific CVE. Use whenever the user names a CVE: 'is CVE-2024-4577 being exploited in the wild?', 'who is scanning for this CVE?', 'show me actors probing CVE-2023-1389'. Returns severity, KEV (actively_exploited), event and unique-IP counts, the top probing IPs with country/ASN/scanner tag, top ASNs, exploiter fingerprints, sample request paths and a daily timeline. window: 24h, 7d, 30d or 90d. `observed: false` with a note means we hold no detection pattern for that CVE, which is NOT the same as nobody scanning it. Do not use payload_search for a CVE id: the id is our tag for a pattern and never appears in the payload text.

    mcp-tool

    {
      "type": "object",
      "required": [
        "cve_id"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "default": 25
        },
        "cve_id": {
          "type": "string"
        },
        "window": {
          "type": "string",
          "default": "7d"
        }
      },
      "additionalProperties": false
    }
    arguments 20 lines
  • attack_timeline_tool auth-required never probed

    Attack volume over time, bucketed by hour or day. Use for: 'show attack trends this week', 'was there a spike on port 22?', 'how has SSH scanning changed?', 'attack volume from China over 30 days'. bucket: 'hour' or 'day'. Optional filters: filter_protocol ('tls'/'''), filter_country (2-letter code), filter_dest_port. since/until ISO-8601 UTC.

    mcp-tool

    {
      "type": "object",
      "required": [
        "since",
        "until"
      ],
      "properties": {
        "since": {
          "type": "string"
        },
        "until": {
          "type": "string"
        },
        "bucket": {
          "type": "string",
          "default": "day"
        },
        "filter_country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "filter_protocol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "filter_dest_port": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "additionalProperties": false
    }
    arguments 53 lines
  • fingerprint_similar_tool auth-required never probed

    Request shapes within a few headers of an Akin HTTP fingerprint, with what those clients ask for and call themselves, plus the family the token belongs to. Use when one odd request shape turns up in your own web, WAF or proxy logs and you want to know whether it is a known tool with variants: 'what is close to this fingerprint', 'is this the same scanner with one header added', 'what does this client family go after'. max_distance is in headers, 1 to 4. Only Akin can answer this; a hashed fingerprint changes completely when a header is added.

    mcp-tool

    {
      "type": "object",
      "required": [
        "fingerprint"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "default": 8
        },
        "fingerprint": {
          "type": "string"
        },
        "max_distance": {
          "type": "integer",
          "default": 2
        }
      },
      "additionalProperties": false
    }
    arguments 20 lines
  • ioc_lookup_tool auth-required 36m ago

    Look up any IP address, CIDR network, set of networks, or domain in the honeypot dataset. Use this FIRST whenever the user asks: 'is this IP malicious?', 'is this a known scanner?', 'have you seen this IP?', 'what does this IP do?', 'when was it last seen?', 'is this IP in your data?'. Returns: total_events (0 = never observed), first_seen, last_seen, country, ASN, the 50 most-hit ports plus ports_targeted_count for the true total, top user agents, top URL paths, TLS/HTTP/SSH fingerprints. Covers both IPv4 and domains. Also returns our own judgement: `verdict` (human sentence) with `verdict_key` (stable machine value to alert on) and `verdict_why`; `scanner` (benign-scanner identity from our classification table, or null) so research traffic can be told apart from real attacks; and `cve_probes`, the CVE signatures this address was seen probing. WINDOW: `days` bounds the query to the last N days. For a single address leave it unset for every retained event, which is the right default for "have we ever seen this". A CIDR or a domain defaults to the last 90 days, because neither can use an index and unbounded they read the whole table; pass `days` explicitly to widen either back out. The website's /lookup defaults to 7 days for anonymous visitors, so the same address can read very differently on the two surfaces. Every response states which window it used in `window`; quote it alongside any count you report. RANGES: pass a CIDR ('103.66.28.0/22') for a whole-network aggregate, or several at once separated by commas, spaces or newlines ('103.66.28.0/22, 8.34.210.32/27') to answer 'have any of this vendor's ranges touched us' in ONE call. Never expand a network into individual addresses and loop -- that is hundreds of calls for an answer this returns in one, and it will exhaust your quota. A range answer sets query_type to 'cidr' or 'cidr_set', lists every range back in `ranges`, and gives `per_range` counts plus `top_source_ips`; total_events 0 with those fields present is a real observed absence.

    mcp-tool

    {
      "type": "object",
      "required": [
        "ioc"
      ],
      "properties": {
        "ioc": {
          "type": "string"
        },
        "days": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "additionalProperties": false
    }
    arguments 23 lines
  • asn_enrich_tool auth-required never probed

    Full honeypot profile for an ASN (autonomous system / hosting provider). Use for: 'tell me about AS202425', 'what is Vultr doing in my honeypots?', 'attacks from this hosting provider', 'attribute this IP to its network'. asn format: 'AS12345'. Returns: total events, unique IPs, top targeted ports, top source countries, top user agents, org name. since/until are ISO-8601 UTC strings.

    mcp-tool

    {
      "type": "object",
      "required": [
        "asn",
        "since",
        "until"
      ],
      "properties": {
        "asn": {
          "type": "string"
        },
        "since": {
          "type": "string"
        },
        "until": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 20 lines
  • payload_search_tool auth-required never probed

    Literal substring search over captured request text: URL path, request body, request headers and event summary. Use for: 'find attacks targeting /wp-admin', 'find requests with this user agent string', 'what payloads hit port 80 last week'. It matches text that literally appeared in the request, and nothing else. These do NOT work and will return an empty list: - a CVE id ('CVE-2024-4577'), which is our tag for a pattern, never payload text. Use cve_lookup instead. This tool rejects them rather than answering emptily. - a product or vendor name ('Cisco FMC', '7-Zip'), which appears in an advisory, not in the request. Search the endpoint it exposes instead, e.g. '/ccmadmin' or the vulnerable path. - a description of behaviour ('SQL injection attempts'). Search a marker that occurs in the traffic, e.g. 'UNION SELECT' or '../'. An empty list is a real answer: it means no captured request in that window contained the string. Widen since/until before concluding the activity does not exist. Free to call; volume is metered like every other tool. since/until are ISO-8601 UTC strings.

    mcp-tool

    {
      "type": "object",
      "required": [
        "query",
        "since",
        "until"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "default": 50
        },
        "query": {
          "type": "string"
        },
        "since": {
          "type": "string"
        },
        "until": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 24 lines
  • search_events_tool auth-required never probed

    Return individual raw honeypot events with all fields. Use when the user wants to see actual records: 'show me events from this IP', 'what hit port 443 last week', 'events from Russia yesterday'. Filters: source_ip, country (2-letter code), asn (e.g. 'AS12345'), dest_port, protocol ('tls' or '' = the coarse TLS/raw-TCP signal), app_protocol (nDPI L7 protocol label: 'bittorrent', 'ssh', 'rdp', 'mssql-tds', 'mining', 'rtsp', 'smbv1', ... — find everything speaking a protocol regardless of port), http_method, request_header (substring of the masked HTTP request headers), source_domain (reverse DNS name, substring), ja4/ja3 (exact TLS client fingerprint), akin (exact HTTP request fingerprint, e.g. b11cun030_00040014_54d07b6d), has_client_cert (true = only events where the client presented an mTLS cert), ip_version (4 or 6 = only IPv4 or IPv6 sources). since/until are ISO-8601 UTC strings. Each record includes: source_ip, country, asn, dest_port, user_agent, url_path, http_request_headers, tls_client_ja4, tls_client_ja3, tls_client_hello_hex (the raw TLS ClientHello, for verifying or recomputing fingerprints), ssh_client_hassh, tls_client_cert_subject/issuer, event_sequence, event_duration, source_bytes/dest_bytes/network_bytes, network_protocol, application_protocol, timestamp.

    mcp-tool

    {
      "type": "object",
      "required": [
        "since",
        "until"
      ],
      "properties": {
        "asn": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "ja3": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "ja4": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "akin": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "limit": {
          "type": "integer",
          "default": 100
        },
        "since": {
          "type": "string"
        },
        "until": {
          "type": "string"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "protocol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "dest_port": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "source_ip": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "ip_version": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "http_method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "app_protocol": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "source_domain": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "request_header": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "has_client_cert": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "additionalProperties": false
    }
    arguments 174 lines
  • fingerprint_search_tool auth-required 36m ago

    Search honeypot activity by TLS, HTTP, or SSH fingerprint. Use when a user asks: 'have you seen this JA4 fingerprint?', 'which IPs share this TLS fingerprint?', 'how common is this HASSH?', 'find all scanners with this SSH client fingerprint'. fp_type: 'ja4' (TLS client), 'ja3' (legacy TLS client, MD5, still keyed by many TI feeds), 'akin' (HTTP request shape, e.g. b11cun030_00040014_54d07b6d), 'hassh' (SSH client). since/until are ISO-8601 UTC strings.

    mcp-tool

    {
      "type": "object",
      "required": [
        "fingerprint",
        "fp_type",
        "since",
        "until"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "default": 50
        },
        "since": {
          "type": "string"
        },
        "until": {
          "type": "string"
        },
        "fp_type": {
          "type": "string"
        },
        "fingerprint": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 28 lines
  • top_attackers_tool auth-required never probed

    Ranked leaderboard of attack sources. Use for: 'who is attacking the most?', 'top attacking countries', 'most targeted ports', 'most common user agents', 'top ASNs by attack volume', 'top IPs from China', 'top attackers hitting port 22'. 'by' controls grouping: ip, asn, country, port, user_agent, ja4, url_path, domain, cve. by='cve' answers 'what CVEs are being mass-scanned right now' and returns value (the CVE id), title, severity, actively_exploited and counts; drill into any of them with cve_lookup. by='cve' does not accept the country/dest_port/asn filters. Optional filters: country (2-letter ISO, e.g. 'CN'), dest_port, asn (e.g. 'AS12345'). Adding a filter is required for large time ranges to stay within memory limits. since/until are ISO-8601 UTC strings.

    mcp-tool

    {
      "type": "object",
      "required": [
        "since",
        "until"
      ],
      "properties": {
        "by": {
          "type": "string",
          "default": "ip"
        },
        "asn": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "limit": {
          "type": "integer",
          "default": 20
        },
        "since": {
          "type": "string"
        },
        "until": {
          "type": "string"
        },
        "country": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "dest_port": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "additionalProperties": false
    }
    arguments 57 lines
  • fingerprint_population_tool auth-required never probed

    The population behind a single client fingerprint: how many source IPs carry it, across how many networks (ASNs) and countries, the ports they hit, the top networks and a sample of the IPs, plus a read on its shape: concentrated (many IPs on few networks), dispersed (many networks but one short burst on one or two ports, which is a coordinated operation spread thinly on purpose), spread (a common client) or mixed. Concentrated and dispersed are both coordinated operations. Use when a user asks: 'is this JA4 one botnet or a common tool?', 'how many networks use this HASSH?', 'how specific / concentrated is this fingerprint?'. fp_type: 'ja4' (TLS), 'akin' (HTTP request shape) or 'hassh' (SSH). Covers the full retained window (no date range).

    mcp-tool

    {
      "type": "object",
      "required": [
        "fingerprint",
        "fp_type"
      ],
      "properties": {
        "fp_type": {
          "type": "string"
        },
        "fingerprint": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 16 lines
  • udp_activity_tool auth-required never probed

    UDP datagrams sent to the sensors: DNS questions, QUIC client fingerprints and other UDP probes, with the ports, networks and countries involved. Use when a user asks: 'who is sending DNS ANY queries?', 'is anyone querying version.bind?', 'have you seen this QUIC JA4?', 'which UDP ports are being probed?', 'what hits 5060/udp?'. query uses the /udp search grammar, for example 'qtype:ANY', 'qname:version.bind', 'proto:quic', 'port:5060 country:CN', 'ja4:q13d0310h3_55b375c5d22e_cd85d2d88918' or 'quic:3f1a9c2b7d40'; leave it empty for the overview. window is 24h, 7d or 30d. A UDP source address can be forged: treat every address here as claimed, never as evidence against it.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "query": {
          "type": "string",
          "default": ""
        },
        "window": {
          "type": "string",
          "default": "7d"
        },
        "samples": {
          "type": "integer",
          "default": 10
        }
      },
      "additionalProperties": false
    }
    arguments 18 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 5ea865bb90f55a89.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/5ea865bb90f55a89/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/5ea865bb90f55a89/badge.svg)](https://brick.blue/agent/5ea865bb90f55a89?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.

_ also on honeylabs.net 1 entry

Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.