UPinar/contrastapi

UPinar/contrastapi

от upinar
MCP сервер для AI-агентов, предоставляющий 54 инструмента threat intelligence: поиск CVE/KEV/CWE, композитный риск (CVSS+EPSS+KEV), анализ доменов, IP, IOC, кодовая безопасность, MITRE ATLAS (AI/ML атаки). Бесплатный, без ключа. Полезен для исследователей.

ContrastAPI — 54 Security Tools + 7 MCP Resources for AI Agents

ContrastAPI Banner

MCP smithery badge contrastapi MCP server License: MIT

Security intelligence MCP server for AI agents. CVE/KEV/CWE lookup with EPSS, composite risk scoring (CVSS+EPSS+KEV+PoC fusion — v1.29.1), CVSS v3.x vector parser (v1.29.1), domain audit, IP threat reports, IOC enrichment, code security, MITRE ATLAS (AI/ML attacks) + D3FEND (defenses), web intelligence (robots.txt, redirect-chain, email validation, brand-assets, SEO audit — v1.25.0). 54 tools + 7 Resources (ATLAS+D3FEND+CWE catalog browsing) + 3 Prompts (security audit, vulnerability check, conditional triage), free, no API key, 30 credits/hour.

中文 · Live: api.contrastcyber.com


Setup (MCP)

{
  "mcpServers": {
    "contrastapi": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.contrastcyber.com/mcp/"]
    }
  }
}

Restart your agent. Other clients (Python SDK, Node SDK, cURL, VS Code): mcp-setup · quickstart

SDKs

pip install contrastapi      # Python 3.10+ — sync + async, typed responses, shortcut helpers
npm install contrastapi      # Node 14+ — concrete TypeScript types, 14 namespaces
asn_lookupтолько чтениеидемпотентный

Ищет номер автономной системы (ASN) для домена или IP-адреса: номер AS, организация, префиксы IPv4/IPv6. Используется для определения оператора сети и владельца IP-диапазона. По умолчанию возвращает первые 50 префиксов на семейство — установите include_full_prefixes=True для получения полного списка. Бесплатно: 30 запросов в час, Pro: 500 запросов в час. Возвращает {asn, asn_name, ipv4_prefixes, ipv6_prefixes, ipv4_count, ipv6_count}.

ASN Lookup

Ищет номер автономной системы (ASN) для домена или IP-адреса: номер AS, организация, префиксы IPv4/IPv6. Используется для определения оператора сети и владельца IP-диапазона. По умолчанию возвращает первые 50 префиксов на семейство — установите include_full_prefixes=True для получения полного списка. Бесплатно: 30 запросов в час, Pro: 500 запросов в час. Возвращает {asn, asn_name, ipv4_prefixes, ipv6_prefixes, ipv4_count, ipv6_count}.

Параметры

  • targetstringобязательный

    Domain or IP address to look up ASN for (e.g. 'cloudflare.com', '8.8.8.8')

  • include_full_prefixesboolean

    Return the full announced-prefixes list (default: False, returns first 50). ipv4_count and ipv6_count are always honest pre-truncation totals. Set True for network mapping or BGP route audits — Cloudflare AS13335 announces 2500+ prefixes.

atlas_case_study_lookupтолько чтениеидемпотентный

Найти кейс MITRE ATLAS: задокументированный реальный инцидент атаки на ИИ/МО. Каждый кейс связывает последовательность техник ATLAS (techniques_used) с инцидентом. Ответ по умолчанию: SLIM (описание обрезано до 240 символов); передайте include='full' для полного описания. Используйте этот инструмент после atlas_technique_search, чтобы узнать, какие инциденты применяли данную технику. Детально изучите полный массив techniques_used с помощью bulk_atlas_technique_lookup за один вызов (next_calls выдает именно эту подсказку). Возвращает 404, если идентификатор отсутствует в синхронизированном каталоге. Бесплатный тариф: 30 запросов в час, Pro: 500 запросов в час. Возвращает {case_study_id, name, description, techniques_used, next_calls}.

ATLAS Case Study Lookup

Найти кейс MITRE ATLAS: задокументированный реальный инцидент атаки на ИИ/МО. Каждый кейс связывает последовательность техник ATLAS (techniques_used) с инцидентом. Ответ по умолчанию: SLIM (описание обрезано до 240 символов); передайте include='full' для полного описания. Используйте этот инструмент после atlas_technique_search, чтобы узнать, какие инциденты применяли данную технику. Детально изучите полный массив techniques_used с помощью bulk_atlas_technique_lookup за один вызов (next_calls выдает именно эту подсказку). Возвращает 404, если идентификатор отсутствует в синхронизированном каталоге. Бесплатный тариф: 30 запросов в час, Pro: 500 запросов в час. Возвращает {case_study_id, name, description, techniques_used, next_calls}.

Параметры

  • case_study_idstringобязательный

    MITRE ATLAS case study id, format 'AML.CS####' (e.g. 'AML.CS0000', 'AML.CS0014').

  • includeenum

    Detail level. Default (omit/empty) returns slim (description truncated to 240 chars). Pass 'full' for the verbose narrative — case-study descriptions can run 1-3KB.

    full
atlas_case_study_searchтолько чтениеидемпотентный

Поиск кейсов ATLAS (реальных инцидентов атак на ИИ/МО) по ключевому слову или упомянутой технике. Ответ по умолчанию — SLIM (описание урезано до 240 символов на строку); передайте include='full' для полного описания. Полезно, когда у пользователя есть конкретная техника и он хочет увидеть инциденты, где её применяли. Для получения полного списка процедур используйте atlas_case_study_lookup. Бесплатно: 30/час, Pro: 500/час. Возвращает {query, total, results [{case_study_id, name, description (по умолчанию урезанное), techniques_used}], next_calls}.

ATLAS Case Study Search

Поиск кейсов ATLAS (реальных инцидентов атак на ИИ/МО) по ключевому слову или упомянутой технике. Ответ по умолчанию — SLIM (описание урезано до 240 символов на строку); передайте include='full' для полного описания. Полезно, когда у пользователя есть конкретная техника и он хочет увидеть инциденты, где её применяли. Для получения полного списка процедур используйте atlas_case_study_lookup. Бесплатно: 30/час, Pro: 500/час. Возвращает {query, total, results [{case_study_id, name, description (по умолчанию урезанное), techniques_used}], next_calls}.

Параметры

  • keywordstring

    Substring match against case study name + description (case-insensitive). Min 2 chars. Example: 'evasion', 'data poisoning'. Omit to list all.

  • technique_idstring

    Filter to case studies that include this ATLAS technique id, format 'AML.T####' or 'AML.T####.###' (e.g. 'AML.T0051'). Omit for any technique.

  • limitinteger

    Max results to return. Range: 1-200.

  • includeenum

    Detail level. Default ('') returns slim records (description truncated to 240 chars). Pass 'full' for full description on every row.

    full
atlas_technique_lookupтолько чтениеидемпотентный

Найти технику MITRE ATLAS - каталог атак на ИИ/МО. ATLAS каталогизирует TTP, нацеленные на системы машинного обучения: внедрение промптов, обход модели, отравление тренировочных данных, кражу модели и т.д. Примерно 80% техник ATLAS специфичны для ИИ/МО (нет моста с ATT&CK); 20% отражают корпоративную технику ATT&CK через attack_reference_id - используйте это, чтобы перейти к защитам D3FEND (d3fend_defense_for_attack) и поиску CVE. Подтехники наследуют `tactics` от родительской (флаг inherited_tactics=true), когда upstream ATLAS оставляет их пустыми. Используйте этот инструмент, когда пользователь спрашивает об угрозах ИИ/МО, LLM red-teaming или состязательном МО; для нескольких техник в одном вызове (например, при изучении techniques_used в кейсе) предпочтительнее bulk_atlas_technique_lookup. Возвращает 404, если id нет в синхронизированном каталоге ATLAS. Бесплатно: 30/час, Pro: 500/час. Возвращает {technique_id, name, description, tactics, inherited_tactics, maturity (demonstrated|feasible|realized), attack_reference_id, attack_reference_url, subtechnique_of, created_date, modified_date, next_calls}.

ATLAS Technique Lookup

Найти технику MITRE ATLAS - каталог атак на ИИ/МО. ATLAS каталогизирует TTP, нацеленные на системы машинного обучения: внедрение промптов, обход модели, отравление тренировочных данных, кражу модели и т.д. Примерно 80% техник ATLAS специфичны для ИИ/МО (нет моста с ATT&CK); 20% отражают корпоративную технику ATT&CK через attack_reference_id - используйте это, чтобы перейти к защитам D3FEND (d3fend_defense_for_attack) и поиску CVE. Подтехники наследуют `tactics` от родительской (флаг inherited_tactics=true), когда upstream ATLAS оставляет их пустыми. Используйте этот инструмент, когда пользователь спрашивает об угрозах ИИ/МО, LLM red-teaming или состязательном МО; для нескольких техник в одном вызове (например, при изучении techniques_used в кейсе) предпочтительнее bulk_atlas_technique_lookup. Возвращает 404, если id нет в синхронизированном каталоге ATLAS. Бесплатно: 30/час, Pro: 500/час. Возвращает {technique_id, name, description, tactics, inherited_tactics, maturity (demonstrated|feasible|realized), attack_reference_id, attack_reference_url, subtechnique_of, created_date, modified_date, next_calls}.

Параметры

  • technique_idstringобязательный

    MITRE ATLAS technique id, format 'AML.T####' or 'AML.T####.###' for sub-techniques (e.g. 'AML.T0000', 'AML.T0051' LLM Prompt Injection, 'AML.T0000.000').

atlas_technique_searchтолько чтениеидемпотентный

Ищет по каталогу MITRE ATLAS техник атак на AI/ML по ключевому слову, тактике или уровню зрелости. По умолчанию ответ в формате SLIM (описание обрезано до 240 символов на строку); передайте include='full' для полной записи. Передавайте exclude_id при цепочке из atlas_technique_lookup, чтобы пропустить самого себя при поиске по смежным тактикам. Используйте, чтобы подобрать техники под вопрос модели угроз, например «какие техники нацелены на инфраструктуру обслуживания LLM?». Затем вызывайте atlas_technique_lookup с любым полученным technique_id — получите полное описание, мост к ATT&CK и подсказки по развитию. Для более широких перекрёстных ссылок: если в результате есть attack_reference_id, он ведёт к средствам защиты D3FEND через d3fend_defense_for_attack. Бесплатно: 30/час, Pro: 500/час. Возвращает {query (переданные фильтры), total, results [{technique_id, name, description (по умолчанию обрезано), tactics, inherited_tactics, maturity, attack_reference_id, subtechnique_of}], next_calls}.

ATLAS Technique Search

Ищет по каталогу MITRE ATLAS техник атак на AI/ML по ключевому слову, тактике или уровню зрелости. По умолчанию ответ в формате SLIM (описание обрезано до 240 символов на строку); передайте include='full' для полной записи. Передавайте exclude_id при цепочке из atlas_technique_lookup, чтобы пропустить самого себя при поиске по смежным тактикам. Используйте, чтобы подобрать техники под вопрос модели угроз, например «какие техники нацелены на инфраструктуру обслуживания LLM?». Затем вызывайте atlas_technique_lookup с любым полученным technique_id — получите полное описание, мост к ATT&CK и подсказки по развитию. Для более широких перекрёстных ссылок: если в результате есть attack_reference_id, он ведёт к средствам защиты D3FEND через d3fend_defense_for_attack. Бесплатно: 30/час, Pro: 500/час. Возвращает {query (переданные фильтры), total, results [{technique_id, name, description (по умолчанию обрезано), tactics, inherited_tactics, maturity, attack_reference_id, subtechnique_of}], next_calls}.

Параметры

  • keywordstring

    Substring match against technique name + description (case-insensitive). Min 2 chars. Example: 'prompt injection', 'model evasion', 'poisoning'. Omit to list all.

  • tacticstring

    Filter by ATLAS tactic id, format 'AML.TA####'. Examples: 'AML.TA0002' (Reconnaissance), 'AML.TA0007' (ML Attack Staging). Omit for all tactics.

  • maturityenum

    Filter by maturity: 'demonstrated' (observed in real attacks), 'feasible' (theoretical), or 'realized' (newer ATLAS classification, treat similar to demonstrated). Omit for all.

    demonstratedfeasiblerealized
  • limitinteger

    Max results to return. Range: 1-200.

  • includeenum

    Detail level. Default ('') returns slim records (description truncated to 240 chars; drill via atlas_technique_lookup for full text). Pass 'full' for full description on every row — large catalogs (167 techniques) can return ~100KB at full.

    full
  • exclude_idstring

    Optional ATLAS technique id to exclude from results, format 'AML.T####' or 'AML.T####.###'. Useful when chaining from atlas_technique_lookup to fetch siblings without echoing self in the same-tactic search.

audit_domainтолько чтениеидемпотентныйвнешний мир

Выполняет комплексный аудит домена: объединяет domain_report + живые HTTP security headers + технологический fingerprinting. По умолчанию report.dns.txt фильтруется до релевантных безопасности записей (SPF, DMARC, DKIM, MTA-STS, TLS-RPT), а report.dns.total_txt_records сообщает честное количество до фильтрации; передайте include_all_txt=true для получения сырого списка TXT. Используйте, когда нужна полная картина (разведка + активные проверки); используйте domain_report для пассивной оценки. Ответ содержит next_calls: цепочку с subdomain_enum (всегда присутствует) и ssl_check (когда разрешается A-запись) для остаточной глубины разведки (tech_fingerprint уже включен как `technologies`). Бесплатно: 30/час (стоит 6 токенов), Pro: 500/час. Возвращает {domain, report, technologies, live_headers, summary, next_calls}.

Audit Domain

Выполняет комплексный аудит домена: объединяет domain_report + живые HTTP security headers + технологический fingerprinting. По умолчанию report.dns.txt фильтруется до релевантных безопасности записей (SPF, DMARC, DKIM, MTA-STS, TLS-RPT), а report.dns.total_txt_records сообщает честное количество до фильтрации; передайте include_all_txt=true для получения сырого списка TXT. Используйте, когда нужна полная картина (разведка + активные проверки); используйте domain_report для пассивной оценки. Ответ содержит next_calls: цепочку с subdomain_enum (всегда присутствует) и ssl_check (когда разрешается A-запись) для остаточной глубины разведки (tech_fingerprint уже включен как `technologies`). Бесплатно: 30/час (стоит 6 токенов), Pro: 500/час. Возвращает {domain, report, technologies, live_headers, summary, next_calls}.

Параметры

  • domainstringобязательный

    Root domain to audit, without protocol or path (e.g. 'example.com', 'shopify.com')

  • include_all_txtboolean

    Return every TXT record under report.dns.txt (default: False, only SPF/DMARC/DKIM/MTA-STS/TLS-RPT kept). report.dns.total_txt_records is always emitted with the honest pre-filter count. Default filter strips vendor verification strings (google-site-verification, ms=, facebook-domain-verification, etc.) that bloat the response without security signal. Set True only when you need the raw TXT inventory.

brand_assetsтолько чтениеидемпотентныйвнешний мир

Собирает общедоступные элементы бренда из раздела `<head>` главной страницы домена — favicon, og:image, theme-color, og:site_name, JSON-LD `Organization.logo`. Используется для обогащения записей CRM, построения карточек компаний в интерфейсе или привязки визуального стиля к сайту лида (без ручных скриншотов). Только главная страница (путь `/`); НЕ краулим. Этичность: соблюдаем robots.txt цели — `Disallow: /` для ContrastAPI ИЛИ `*` возвращает 403 `error.code = robots_txt_disallow`, и мы НЕ выполняем запрос. Уважаем заголовки кэширования цели: `Cache-Control: no-store` / `private` (ответ формируется, но НЕ записывается в наш кэш; флаг `cache_respected=false` указывает на это). Ограничение на eTLD+1 (60 запросов/мин) предотвращает злоупотребление через поддомены. Все URL-поля абсолютные и помечены `_untrusted` (НЕ выполняйте и не передавайте в оболочку — цель контролирует эти строки). Бесплатно: 30/час, Pro: 500/час. Возвращает {domain, fetched_url, status_code, favicon_url_untrusted, og_image_url_untrusted, theme_color, site_name_untrusted, logo_url_untrusted, cache_respected, summary}. Возвращает 502 при ошибке DNS/TCP/TLS; 403 `robots_txt_disallow`, если цель отказалась.

Brand Assets

Собирает общедоступные элементы бренда из раздела `<head>` главной страницы домена — favicon, og:image, theme-color, og:site_name, JSON-LD `Organization.logo`. Используется для обогащения записей CRM, построения карточек компаний в интерфейсе или привязки визуального стиля к сайту лида (без ручных скриншотов). Только главная страница (путь `/`); НЕ краулим. Этичность: соблюдаем robots.txt цели — `Disallow: /` для ContrastAPI ИЛИ `*` возвращает 403 `error.code = robots_txt_disallow`, и мы НЕ выполняем запрос. Уважаем заголовки кэширования цели: `Cache-Control: no-store` / `private` (ответ формируется, но НЕ записывается в наш кэш; флаг `cache_respected=false` указывает на это). Ограничение на eTLD+1 (60 запросов/мин) предотвращает злоупотребление через поддомены. Все URL-поля абсолютные и помечены `_untrusted` (НЕ выполняйте и не передавайте в оболочку — цель контролирует эти строки). Бесплатно: 30/час, Pro: 500/час. Возвращает {domain, fetched_url, status_code, favicon_url_untrusted, og_image_url_untrusted, theme_color, site_name_untrusted, logo_url_untrusted, cache_respected, summary}. Возвращает 502 при ошибке DNS/TCP/TLS; 403 `robots_txt_disallow`, если цель отказалась.

Параметры

  • domainstringобязательный

    Registrable domain to scrape brand assets for (e.g. 'github.com', 'stripe.com'). No scheme, no path, no port. The bot fetches https://<domain>/ with HTTP fallback.

bulk_atlas_technique_lookupтолько чтениеидемпотентный

Массовый поиск техник ATLAS — получить полные записи для 50 техник за один запрос вместо N отдельных вызовов atlas_technique_lookup. Спроектирован как естественное продолжение atlas_case_study_lookup: его массив techniques_used можно передавать напрямую. Каждый элемент имеет ту же структуру, что и atlas_technique_lookup, включая наследование родительских тактик для субтехник (флаг inherited_tactics=true) и per-item next_calls (мост D3FEND при наличии attack_reference_id, поиск смежных техник по тактике, поиск родителя для субтехник). Бесплатно: 30/час (1 за элемент), Pro: 500/час. Возвращает {results [{technique_id, status (ok|not_found|invalid_format), technique, error}], total, successful, failed, partial, summary}.

Bulk ATLAS Technique Lookup

Массовый поиск техник ATLAS — получить полные записи для 50 техник за один запрос вместо N отдельных вызовов atlas_technique_lookup. Спроектирован как естественное продолжение atlas_case_study_lookup: его массив techniques_used можно передавать напрямую. Каждый элемент имеет ту же структуру, что и atlas_technique_lookup, включая наследование родительских тактик для субтехник (флаг inherited_tactics=true) и per-item next_calls (мост D3FEND при наличии attack_reference_id, поиск смежных техник по тактике, поиск родителя для субтехник). Бесплатно: 30/час (1 за элемент), Pro: 500/час. Возвращает {results [{technique_id, status (ok|not_found|invalid_format), technique, error}], total, successful, failed, partial, summary}.

Параметры

  • technique_idsstring[]обязательный

    List of MITRE ATLAS technique ids in format 'AML.T####' or 'AML.T####.###' (e.g. ['AML.T0051', 'AML.T0043', 'AML.T0000.000']). Up to 50 per call. Case-insensitive; normalized + de-duplicated server-side. Each id counts as 1 request toward the rate limit.

bulk_cve_lookupтолько чтениеидемпотентный

Пакетный запрос нескольких CVE (до 50 за вызов, одинаково для Free и Pro): получить полные детали всех CVE за 1 запрос вместо N. По умолчанию для каждой CVE поле affected_products обрезается до первых 20 записей (total_products показывает честное количество), а references — до первых 10 (total_references показывает честное количество); передайте include_affected_products=true / include_full_references=true, чтобы вернуть полные списки. Передайте include_reference_tags=true, чтобы получить references_full=[{url, tags, source}] для каждой CVE в пакете. Передайте include_severity_breakdown=true, чтобы получить severity_sources/consensus/disagreement для каждой CVE. Используйте для аудита зависимостей или массового обогащения уязвимостей; для одиночной CVE используйте cve_lookup. Каждый успешный элемент содержит next_calls — цепочку с kev_detail (когда kev.in_kev=true), cwe_lookup (когда cwe_id присутствует) или exploit_lookup. Free: 30/час (1 на элемент), Pro: 500/час. Возвращает {results, total, successful, failed, timed_out, partial, summary}.

Bulk CVE Lookup

Пакетный запрос нескольких CVE (до 50 за вызов, одинаково для Free и Pro): получить полные детали всех CVE за 1 запрос вместо N. По умолчанию для каждой CVE поле affected_products обрезается до первых 20 записей (total_products показывает честное количество), а references — до первых 10 (total_references показывает честное количество); передайте include_affected_products=true / include_full_references=true, чтобы вернуть полные списки. Передайте include_reference_tags=true, чтобы получить references_full=[{url, tags, source}] для каждой CVE в пакете. Передайте include_severity_breakdown=true, чтобы получить severity_sources/consensus/disagreement для каждой CVE. Используйте для аудита зависимостей или массового обогащения уязвимостей; для одиночной CVE используйте cve_lookup. Каждый успешный элемент содержит next_calls — цепочку с kev_detail (когда kev.in_kev=true), cwe_lookup (когда cwe_id присутствует) или exploit_lookup. Free: 30/час (1 на элемент), Pro: 500/час. Возвращает {results, total, successful, failed, timed_out, partial, summary}.

Параметры

  • cve_idsstring[]обязательный

    List of CVE identifiers in format CVE-YYYY-NNNNN (e.g. ['CVE-2024-3094', 'CVE-2021-44228', 'CVE-2023-44487']). Maximum 50 per request (same cap for Free and Pro).

  • include_affected_productsboolean

    Return the full affected_products list for each CVE in the batch (default: False, each CVE returns first 20). Set True for bulk dependency audits.

  • include_full_referencesboolean

    Return the full references list for each CVE in the batch (default: True). total_references is always emitted. Set False to truncate each item to first 10 entries when payload-bound.

  • include_reference_tagsboolean

    Return structured references_full per CVE in the batch [{url, tags, source}]. Same shape as cve_lookup (default: True). Activates tag-first patch detection per item. Set False for legacy clients.

  • include_severity_breakdownboolean

    Return severity_sources/consensus/disagreement per CVE in batch. Same shape as cve_lookup (default: True). cvss_v2 and cvss_v2_vector are always emitted (additive non-opt-in). Set False to skip if downstream cannot tolerate the extra fields.

bulk_ioc_lookupтолько чтениеидемпотентный

Запрашивает несколько IOC (IP/домен/URL/хэш, до 50 за вызов, одинаково для Free и Pro) в одном запросе: автоматически определяет тип и опрашивает фиды abuse.ch для каждого индикатора. Покрытие источников по типам совпадает с ioc_lookup: хэш → только ThreatFox; IP → ThreatFox + Feodo + URLhaus; домен / URL → ThreatFox + URLhaus. Каждый элемент результата содержит собственные verdict, sources_queried и sources_unavailable, поэтому частичные сбои видны для каждого индикатора. Используйте для триажа оповещений SOC или пакетного обогащения; для одного индикатора используйте ioc_lookup. Free: 30/час (по 1 на элемент), Pro: 500/час. Возвращает {results, total, successful, failed, timed_out, partial, summary}.

Bulk IOC Lookup

Запрашивает несколько IOC (IP/домен/URL/хэш, до 50 за вызов, одинаково для Free и Pro) в одном запросе: автоматически определяет тип и опрашивает фиды abuse.ch для каждого индикатора. Покрытие источников по типам совпадает с ioc_lookup: хэш → только ThreatFox; IP → ThreatFox + Feodo + URLhaus; домен / URL → ThreatFox + URLhaus. Каждый элемент результата содержит собственные verdict, sources_queried и sources_unavailable, поэтому частичные сбои видны для каждого индикатора. Используйте для триажа оповещений SOC или пакетного обогащения; для одного индикатора используйте ioc_lookup. Free: 30/час (по 1 на элемент), Pro: 500/час. Возвращает {results, total, successful, failed, timed_out, partial, summary}.

Параметры

  • indicatorsstring[]обязательный

    List of indicators of compromise: IP addresses, domains, URLs, or file hashes (e.g. ['8.8.8.8', 'evil.com', 'd41d8cd98f00b204e9800998ecf8427e']). Maximum 50 per request (same cap for Free and Pro). Each indicator type is auto-detected.

bulk_sigma_rule_lookupтолько чтениеидемпотентный

Массовый поиск правил Sigma: получает полные записи для 50 UUID правил за один запрос вместо N отдельных вызовов sigma_rule_lookup. Предназначен для рабочих процессов триажа, где известно несколько идентификаторов правил (например, из пакета оповещений SIEM или набора обнаружений с тегами). Каждый элемент имеет ту же структуру, что и sigma_rule_lookup, со статусом ok/not_found/invalid_format и полем error, если применимо. До 50 идентификаторов правил на вызов (одинаковый лимит для Free и Pro). Каждый rule_id расходует 1 единицу часовой квоты; id, превышающие оставшуюся квоту отправителя, попадают в skipped_due_to_rate_limit, а не приводят к сбою всего пакета (аналогично bulk_cve/ioc). Free: 30/час, Pro: 500/час. Возвращает {results [{rule_id, status, rule, error}], total, processed, skipped_due_to_rate_limit, successful, failed, partial, summary, next_calls}.

Bulk Sigma Rule Lookup

Массовый поиск правил Sigma: получает полные записи для 50 UUID правил за один запрос вместо N отдельных вызовов sigma_rule_lookup. Предназначен для рабочих процессов триажа, где известно несколько идентификаторов правил (например, из пакета оповещений SIEM или набора обнаружений с тегами). Каждый элемент имеет ту же структуру, что и sigma_rule_lookup, со статусом ok/not_found/invalid_format и полем error, если применимо. До 50 идентификаторов правил на вызов (одинаковый лимит для Free и Pro). Каждый rule_id расходует 1 единицу часовой квоты; id, превышающие оставшуюся квоту отправителя, попадают в skipped_due_to_rate_limit, а не приводят к сбою всего пакета (аналогично bulk_cve/ioc). Free: 30/час, Pro: 500/час. Возвращает {results [{rule_id, status, rule, error}], total, processed, skipped_due_to_rate_limit, successful, failed, partial, summary, next_calls}.

Параметры

  • rule_idsstring[]обязательный

    List of Sigma rule UUIDs in RFC 4122 format. Up to 50 per call (same cap for Free and Pro). Each rule_id counts as 1 request toward the hourly quota. Per-item validation: invalid-format ids return status='invalid_format', unknown UUIDs return status='not_found' — the whole call does not fail.

calculate_risk_scoreтолько чтениеидемпотентный

Композитный CVE-риск-скор (0-100) — объединяет CVSS, EPSS, KEV и PoC в единый триажный сигнал для агентов. Формула: CVSS*0.20 + EPSS*0.35 + KEV*0.30 + PoC*0.15 (каждый компонент перед взвешиванием пересчитывается в шкалу 0-100). Мультипликативные бустеры применяются по порядку: комбинация KEV+PoC (*1.15), критическая severity с высоким EPSS (CVSS>=9 И EPSS>0.7, *1.10), недавно опубликованные (в течение последних 7 дней, *1.05). Итоговый скор обрезается до [0, 100]. Диапазоны меток: CRITICAL>=90, HIGH>=70, MEDIUM>=40, LOW<40. Поле urgency кодирует SLA на патч (немедленно для KEV; 24ч/72ч/30д в зависимости от метки). Используйте, чтобы триажировать отдельную CVE, без раздельного вызова cve_lookup и exploit_lookup. PoC-сигнал здесь — только локальное зеркало ExploitDB; для полной детализации эксплойтов из нескольких источников (GitHub Advisory + Shodan refs + ExploitDB) вызывайте exploit_lookup отдельно. Методология адаптирована из mukul975/cve-mcp-server (Apache-2.0): https://github.com/mukul975/cve-mcp-server. Free: 30/ч, Pro: 500/ч. Возвращает {cve_id, score (0-100), label (CRITICAL/HIGH/MEDIUM/LOW), urgency, has_public_poc, components (cvss_v3, epss_score, in_kev, has_public_poc, weighted_breakdown), boosters_applied, recommendation, summary, verdict, next_calls}.

Calculate Risk Score

Композитный CVE-риск-скор (0-100) — объединяет CVSS, EPSS, KEV и PoC в единый триажный сигнал для агентов. Формула: CVSS*0.20 + EPSS*0.35 + KEV*0.30 + PoC*0.15 (каждый компонент перед взвешиванием пересчитывается в шкалу 0-100). Мультипликативные бустеры применяются по порядку: комбинация KEV+PoC (*1.15), критическая severity с высоким EPSS (CVSS>=9 И EPSS>0.7, *1.10), недавно опубликованные (в течение последних 7 дней, *1.05). Итоговый скор обрезается до [0, 100]. Диапазоны меток: CRITICAL>=90, HIGH>=70, MEDIUM>=40, LOW<40. Поле urgency кодирует SLA на патч (немедленно для KEV; 24ч/72ч/30д в зависимости от метки). Используйте, чтобы триажировать отдельную CVE, без раздельного вызова cve_lookup и exploit_lookup. PoC-сигнал здесь — только локальное зеркало ExploitDB; для полной детализации эксплойтов из нескольких источников (GitHub Advisory + Shodan refs + ExploitDB) вызывайте exploit_lookup отдельно. Методология адаптирована из mukul975/cve-mcp-server (Apache-2.0): https://github.com/mukul975/cve-mcp-server. Free: 30/ч, Pro: 500/ч. Возвращает {cve_id, score (0-100), label (CRITICAL/HIGH/MEDIUM/LOW), urgency, has_public_poc, components (cvss_v3, epss_score, in_kev, has_public_poc, weighted_breakdown), boosters_applied, recommendation, summary, verdict, next_calls}.

Параметры

  • cve_idstringобязательный

    CVE identifier in format CVE-YYYY-NNNNN (e.g. 'CVE-2021-44228', 'CVE-2024-3094')

check_dependenciesтолько чтениеидемпотентный

Проверяет зависимости проекта (npm/PyPI/Maven/RubyGems и другие) по базе CVE: находит известные уязвимости в вашем списке пакетов. Массовый запрос до 50 пакетов за вызов (одинаково для Free и Pro). Используйте для сканирования безопасности зависимостей; для одиночного CVE используйте cve_lookup. Free: 30/час (1 на пакет), Pro: 500/час. Возвращает {findings, total, by_severity, summary}. Каждое найденное включает fixed_in (первая исправленная версия в диапазоне версий от NVD/MITRE), когда диапазон версий совпал. Это поле опускается из ответа, когда диапазон открытый или входная версия не указана; тогда текст рекомендации говорит 'Check if ... is affected ... and upgrade if so' вместо 'Upgrade to X.Y.Z or later'.

Check Dependencies

Проверяет зависимости проекта (npm/PyPI/Maven/RubyGems и другие) по базе CVE: находит известные уязвимости в вашем списке пакетов. Массовый запрос до 50 пакетов за вызов (одинаково для Free и Pro). Используйте для сканирования безопасности зависимостей; для одиночного CVE используйте cve_lookup. Free: 30/час (1 на пакет), Pro: 500/час. Возвращает {findings, total, by_severity, summary}. Каждое найденное включает fixed_in (первая исправленная версия в диапазоне версий от NVD/MITRE), когда диапазон версий совпал. Это поле опускается из ответа, когда диапазон открытый или входная версия не указана; тогда текст рекомендации говорит 'Check if ... is affected ... and upgrade if so' вместо 'Upgrade to X.Y.Z or later'.

Параметры

  • packagesobject[]обязательный

    List of dependency packages to audit. Each item is an object with 'name' (required, max 200 chars, e.g. 'lodash', 'django', 'log4j-core') and optional 'version' (max 100 chars, e.g. '4.17.0', '2.14.1'). Only 'name' and 'version' fields are used; extra fields are ignored. Example: [{"name": "lodash", "version": "4.17.0"}, {"name": "django"}]. Maximum 50 per request (same cap for Free and Pro).

check_headersтолько чтениеидемпотентный

Проверяет HTTP-заголовки безопасности, которые вы передаёте (JSON): CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Permissions-Policy, Referrer-Policy на соответствие лучшим практикам. Используйте для тестирования конфигурации заголовков перед развёртыванием или для проверки непубличных серверов; используйте scan_headers для получения актуальных данных. Бесплатный тариф: 30 запросов в час, Pro: 500 запросов в час. По умолчанию значения заголовков обрезаются до 500 символов; передайте include='full', чтобы получить полное сырое значение. Возвращает {total, by_severity, findings}. Внешних запросов нет.

Check Headers

Проверяет HTTP-заголовки безопасности, которые вы передаёте (JSON): CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Permissions-Policy, Referrer-Policy на соответствие лучшим практикам. Используйте для тестирования конфигурации заголовков перед развёртыванием или для проверки непубличных серверов; используйте scan_headers для получения актуальных данных. Бесплатный тариф: 30 запросов в час, Pro: 500 запросов в час. По умолчанию значения заголовков обрезаются до 500 символов; передайте include='full', чтобы получить полное сырое значение. Возвращает {total, by_severity, findings}. Внешних запросов нет.

Параметры

  • headersstringобязательный

    JSON string of HTTP header name-value pairs to validate. Example: '{"Strict-Transport-Security": "max-age=31536000", "X-Frame-Options": "DENY"}'. Include only security-relevant headers you want to analyze.

  • includeenum

    Detail level. Default ('') returns slim findings — raw header values capped at 500 chars with total_value_length carrying the honest pre-truncation length. Pass 'full' to restore the full raw value. Allowed: '' or 'full'.

    full
check_injectionтолько чтениеидемпотентный

Сканирует исходный код на уязвимости инъекций: SQL-инъекции, инъекции команд, обход пути через небезопасную конкатенацию строк/несанитизированный ввод. Поддерживает Python, JavaScript, TypeScript, Java, Go, Ruby, Shell, Bash. Используйте для обнаружения ошибок обработки ввода; для секретов используйте check_secrets. Сопутствующие инструменты безопасности кода: check_secrets (обнаружение жёстко заданных учётных данных), check_dependencies (аудит уязвимостей по известным CVE), check_headers (проверка заголовков безопасности HTTP в реальном времени), scan_headers (сканирование HTTP в реальном времени по домену). Бесплатно: 30/час, Pro: 500/час. Возвращает {total, by_severity, findings}. Данные не сохраняются.

Check Injection

Сканирует исходный код на уязвимости инъекций: SQL-инъекции, инъекции команд, обход пути через небезопасную конкатенацию строк/несанитизированный ввод. Поддерживает Python, JavaScript, TypeScript, Java, Go, Ruby, Shell, Bash. Используйте для обнаружения ошибок обработки ввода; для секретов используйте check_secrets. Сопутствующие инструменты безопасности кода: check_secrets (обнаружение жёстко заданных учётных данных), check_dependencies (аудит уязвимостей по известным CVE), check_headers (проверка заголовков безопасности HTTP в реальном времени), scan_headers (сканирование HTTP в реальном времени по домену). Бесплатно: 30/час, Pro: 500/час. Возвращает {total, by_severity, findings}. Данные не сохраняются.

Параметры

  • codestringобязательный

    Source code string to scan for injection vulnerabilities (can be a single file or code snippet)

  • languageenum

    Programming language of the code. Must be one of: python, javascript, typescript, java, go, ruby, shell, bash, generic. Use 'generic' if unsure.

    pythonjavascripttypescriptjavagorubyshellbashgeneric
check_secretsтолько чтениеидемпотентный

Сканирует исходный код (или фрагмент) на наличие жёстко заданных секретов - ключи облачных провайдеров, API-токены, строки подключения, закрытые ключи, пароли. Поддерживает Python, JavaScript, TypeScript, Java, Go, Ruby, Shell, Bash. Используйте для обнаружения утекших учётных данных перед коммитом; для обнаружения инъекций используйте check_injection. Free: 30/ч, Pro: 500/ч. Возвращает {total, by_severity, findings}. Данные не сохраняются. Правило общего назначения для присвоения пароля подавляется, когда на той же строке срабатывает более конкретное правило для учётных данных - одно целевое обнаружение на один утекший секрет, а не два.

Check Secrets

Сканирует исходный код (или фрагмент) на наличие жёстко заданных секретов - ключи облачных провайдеров, API-токены, строки подключения, закрытые ключи, пароли. Поддерживает Python, JavaScript, TypeScript, Java, Go, Ruby, Shell, Bash. Используйте для обнаружения утекших учётных данных перед коммитом; для обнаружения инъекций используйте check_injection. Free: 30/ч, Pro: 500/ч. Возвращает {total, by_severity, findings}. Данные не сохраняются. Правило общего назначения для присвоения пароля подавляется, когда на той же строке срабатывает более конкретное правило для учётных данных - одно целевое обнаружение на один утекший секрет, а не два.

Параметры

  • codestringобязательный

    Source code string to scan for secrets (can be a single file or code snippet)

  • languageenum

    Programming language of the code. Must be one of: python, javascript, typescript, java, go, ruby, shell, bash, generic. Use 'generic' if unsure.

    pythonjavascripttypescriptjavagorubyshellbashgeneric
contrast_scanтолько чтениеидемпотентныйвнешний мир

Активное сканирование безопасности веб-сайта: запускает движок ContrastScan C (11 модулей — HTTP security headers, SSL/TLS, DNS, цепочка редиректов, раскрытие информации, флаги cookie, DNSSEC, HTTP методы, CORS, гигиена HTML, глубокий анализ CSP) на живом сайте и дополняет сырой результат находками уязвимостей с ранжированием по серьёзности и буквенной оценкой. Используйте для практического сканирования неправильных настроек; используйте audit_domain для пассивной разведки (DNS/WHOIS/SSL/threat intel) и scan_headers только для заголовков. Активный исходящий запрос — применяется ограничение на eTLD+1 на цель (60 запросов/мин). Бесплатно: 30/час (стоит 6 токенов), Pro: 500/час. Возвращает {domain, resolved_ip, total_score, max_score, grade, findings, findings_count, headers, ssl, dns, redirect, disclosure, cookies, dnssec, methods, cors, html, csp_analysis, enterprise, summary, next_calls}.

Contrast Scan

Активное сканирование безопасности веб-сайта: запускает движок ContrastScan C (11 модулей — HTTP security headers, SSL/TLS, DNS, цепочка редиректов, раскрытие информации, флаги cookie, DNSSEC, HTTP методы, CORS, гигиена HTML, глубокий анализ CSP) на живом сайте и дополняет сырой результат находками уязвимостей с ранжированием по серьёзности и буквенной оценкой. Используйте для практического сканирования неправильных настроек; используйте audit_domain для пассивной разведки (DNS/WHOIS/SSL/threat intel) и scan_headers только для заголовков. Активный исходящий запрос — применяется ограничение на eTLD+1 на цель (60 запросов/мин). Бесплатно: 30/час (стоит 6 токенов), Pro: 500/час. Возвращает {domain, resolved_ip, total_score, max_score, grade, findings, findings_count, headers, ssl, dns, redirect, disclosure, cookies, dnssec, methods, cors, html, csp_analysis, enterprise, summary, next_calls}.

Параметры

  • domainstringобязательный

    Root domain to scan, without protocol or path (e.g. 'example.com'). Bare IPs and private-resolving domains are rejected.

cve_leadingтолько чтениеидемпотентный

Перечисляет CVE, проиндексированные из MITRE/GHSA до публикации в NVD (раннее предупреждение, самые свежие данные). По умолчанию каждый результат содержит минимум информации (без описания, без cvss_breakdown, без списка затронутых продуктов, без ссылок) — передайте include='full', чтобы получить ту же структуру данных, что и cve_lookup; для детального просмотра одного CVE используйте cve_lookup. Используйте для разведки угроз по новым CVE; для опубликованных данных NVD используйте cve_search. Вердикт (sources_queried, falsifiable_fields, completeness, data_age) находится в корне ответа — применяется ко всей выборке, а не к отдельным строкам. Ответ содержит глобальную подсказку, указывающую на cve_lookup — перейдите к любому возвращённому cve_id для получения полных данных и связанных переходов (exploit_lookup, kev_detail, cwe_lookup). Free: 30/ч, Pro: 500/ч. Возвращает {count, total, truncated, offset, summary, results, next_offset, verdict, hint}.

CVE Leading

Перечисляет CVE, проиндексированные из MITRE/GHSA до публикации в NVD (раннее предупреждение, самые свежие данные). По умолчанию каждый результат содержит минимум информации (без описания, без cvss_breakdown, без списка затронутых продуктов, без ссылок) — передайте include='full', чтобы получить ту же структуру данных, что и cve_lookup; для детального просмотра одного CVE используйте cve_lookup. Используйте для разведки угроз по новым CVE; для опубликованных данных NVD используйте cve_search. Вердикт (sources_queried, falsifiable_fields, completeness, data_age) находится в корне ответа — применяется ко всей выборке, а не к отдельным строкам. Ответ содержит глобальную подсказку, указывающую на cve_lookup — перейдите к любому возвращённому cve_id для получения полных данных и связанных переходов (exploit_lookup, kev_detail, cwe_lookup). Free: 30/ч, Pro: 500/ч. Возвращает {count, total, truncated, offset, summary, results, next_offset, verdict, hint}.

Параметры

  • limitinteger

    Maximum results to return. Range: 1-200.

  • offsetinteger

    Skip N results for pagination.

  • includeenum

    Per-result detail level. Default ('') returns slim list items (cve_id, summary, severity, cvss_v3, cwe_id, epss, kev, total_products, published, modified, sources). Pass 'full' to also return description, cvss_breakdown, affected_products, references, first_seen_source, first_seen_at. Slim default avoids description/summary duplication that bloats 50-item leading lists. Verdict is at the response root, not per-row (deduplicated for ~40% payload savings). Allowed: '' or 'full'.

    full
cve_lookupтолько чтениеидемпотентный

Получает детальные данные CVE по идентификатору: описание, CVSS v3.1 + вектор, CVSS v2 (всегда выдается), EPSS + процентиль, статус CISA KEV (с развернутыми полями: due_date, required_action, флаг ransomware, vendor_project, product, vulnerability_name, short_description, notes, cwes, date_removed при in_kev=true), статус NVD (Analyzed/Modified/Awaiting Analysis/Deferred/Rejected/Withdrawn), cve_tags (тег 'disputed' добавляет префикс [DISPUTED] к краткому описанию), затронутые продукты (CPE), ссылки, доступность патча, связанные CVE. По умолчанию затронутые продукты обрезаются до первых 20 записей (total_products показывает честное количество), ссылки — до первых 10 (total_references показывает честное количество). Передайте include_affected_products=true и/или include_full_references=true, чтобы получить полные списки. Передайте include_reference_tags=true, чтобы получить структурированные references_full=[{url, tags, source}] (теги NVD upstream + источник) — также включает поиск патча по тегам в первую очередь. Передайте include_severity_breakdown=true, чтобы получить severity_sources/consensus/disagreement (оценки серьезности от NVD/MITRE/GHSA/OSV). Используйте для деталей одного CVE; для запросов по продукту/серьезности используйте cve_search. В ответе есть next_calls — объединяйте с kev_detail при kev.in_kev=true, с cwe_lookup для каждого CWE в cwes (до 3 переходов) и с exploit_lookup для проверки доступности публичного PoC. Бесплатно: 30/ч, Pro: 500/ч. Возвращает {cve_id, summary, description, severity, cvss_v3, cvss_v2, cvss_v2_vector, cvss_breakdown, cwe_id, cwes, vulnerability_status, cve_tags, published, modified, sources, first_seen_source, first_seen_at, epss, kev (in_kev, date_added, due_date, required_action, known_ransomware_use, vendor_project, product, vulnerability_name, short_description, notes, cwes, date_removed), affected_products (по умолчанию первые 20), total_products, references (по умолчанию первые 10), total_references, total_references_unique, references_full (только если include_reference_tags=true),…

CVE Lookup

Получает детальные данные CVE по идентификатору: описание, CVSS v3.1 + вектор, CVSS v2 (всегда выдается), EPSS + процентиль, статус CISA KEV (с развернутыми полями: due_date, required_action, флаг ransomware, vendor_project, product, vulnerability_name, short_description, notes, cwes, date_removed при in_kev=true), статус NVD (Analyzed/Modified/Awaiting Analysis/Deferred/Rejected/Withdrawn), cve_tags (тег 'disputed' добавляет префикс [DISPUTED] к краткому описанию), затронутые продукты (CPE), ссылки, доступность патча, связанные CVE. По умолчанию затронутые продукты обрезаются до первых 20 записей (total_products показывает честное количество), ссылки — до первых 10 (total_references показывает честное количество). Передайте include_affected_products=true и/или include_full_references=true, чтобы получить полные списки. Передайте include_reference_tags=true, чтобы получить структурированные references_full=[{url, tags, source}] (теги NVD upstream + источник) — также включает поиск патча по тегам в первую очередь. Передайте include_severity_breakdown=true, чтобы получить severity_sources/consensus/disagreement (оценки серьезности от NVD/MITRE/GHSA/OSV). Используйте для деталей одного CVE; для запросов по продукту/серьезности используйте cve_search. В ответе есть next_calls — объединяйте с kev_detail при kev.in_kev=true, с cwe_lookup для каждого CWE в cwes (до 3 переходов) и с exploit_lookup для проверки доступности публичного PoC. Бесплатно: 30/ч, Pro: 500/ч. Возвращает {cve_id, summary, description, severity, cvss_v3, cvss_v2, cvss_v2_vector, cvss_breakdown, cwe_id, cwes, vulnerability_status, cve_tags, published, modified, sources, first_seen_source, first_seen_at, epss, kev (in_kev, date_added, due_date, required_action, known_ransomware_use, vendor_project, product, vulnerability_name, short_description, notes, cwes, date_removed), affected_products (по умолчанию первые 20), total_products, references (по умолчанию первые 10), total_references, total_references_unique, references_full (только если include_reference_tags=true),…

Параметры

  • cve_idstringобязательный

    CVE identifier in format CVE-YYYY-NNNNN (e.g. 'CVE-2024-3094', 'CVE-2023-44487')

  • include_affected_productsboolean

    Return the full affected_products list (default: False, returns first 20). Set True for bulk audits or dependency scanning of Log4j-class CVEs with 50+ products.

  • include_full_referencesboolean

    Return the full references list (default: True, returns all references). total_references is always emitted with the honest count; patch URL detection always runs against the full list, so patch_url/patch_available are unaffected. Set False to truncate to first 10 entries when bandwidth-bound.

  • include_reference_tagsboolean

    Return structured references_full field with [{url, tags, source}] objects (NVD reference tags + source provenance) (default: True). Inspects which references are vendor patches (tags=['Patch']) vs exploit PoCs (tags=['Exploit']) vs mailing list discussions. Patch URL detection is tag-first when refs_with_tags is populated; legacy cached rows fall back to regex. Set False to skip the structured shape for legacy clients.

  • include_severity_breakdownboolean

    Return severity_sources, severity_consensus, and severity_disagreement (multi-source severity breakdown) (default: True). Surfaces vendor disputes (e.g. CVE-2023-38545 NVD-CRITICAL vs GHSA-HIGH). cvss_v2 and cvss_v2_vector are always emitted (additive non-opt-in). Consensus uses majority-bucket vote with highest-severity tie-break (CRITICAL > HIGH > MEDIUM > LOW > NONE). Set False to skip if downstream cannot tolerate the extra fields.

cve_searchтолько чтениеидемпотентный

Ищет в базе CVE по фильтрам: продукт/вендор, степень серьёзности, диапазон дат публикации, оценка EPSS, CWE, диапазон CVSS, статус CISA KEV. По умолчанию ответ - SLIM на каждый результат (cve_id, summary, severity, cvss_v3, cwe_id, epss, kev, total_products, published, modified, sources). Передайте include='full' для description, cvss_breakdown, affected_products, references, first_seen_*. Verdict (sources_queried, falsifiable_fields, completeness, data_age) находится в корне ответа и применяется ко всей выборке, а не к каждой строке. Фильтры продукта/вендора работают по ТОЧНОМУ совпадению с каноническими токенами NVD (не по общеупотребительному названию - например, nginx это 'nginx_open_source'/'nginx_plus', вендор 'f5'). Если для известного продукта возвращается мало результатов или ноль, значит токен отличается. Поэтому для списков зависимостей/пакетов используйте check_dependencies, а для полного стека домена - tech_stack_cve_audit (оба автоматически нормализуют токены). Используйте для поиска уязвимостей по критериям; передайте cwe_id (например CWE-79), чтобы перечислить все CVE в нашей базе, привязанные к данной слабости. Дополните запросом cwe_lookup, чтобы получить описание категории и меры смягчения. Используйте cve_lookup для получения одной CVE по идентификатору, kev_detail - когда фильтрация kev=true и агенту нужны сроки установки федеральных патчей для каждого результата. Ответ содержит глобальную подсказку, указывающую на cve_lookup: вы можете углубиться в любой возвращённый cve_id для получения полных деталей и связанных переходов (exploit_lookup, kev_detail, cwe_lookup). Бесплатный тариф: 30 запросов/час, Pro: 500 запросов/час. Возвращает {count, total, truncated, offset, summary, results, query_echo, next_offset, verdict, hint}.

CVE Search

Ищет в базе CVE по фильтрам: продукт/вендор, степень серьёзности, диапазон дат публикации, оценка EPSS, CWE, диапазон CVSS, статус CISA KEV. По умолчанию ответ - SLIM на каждый результат (cve_id, summary, severity, cvss_v3, cwe_id, epss, kev, total_products, published, modified, sources). Передайте include='full' для description, cvss_breakdown, affected_products, references, first_seen_*. Verdict (sources_queried, falsifiable_fields, completeness, data_age) находится в корне ответа и применяется ко всей выборке, а не к каждой строке. Фильтры продукта/вендора работают по ТОЧНОМУ совпадению с каноническими токенами NVD (не по общеупотребительному названию - например, nginx это 'nginx_open_source'/'nginx_plus', вендор 'f5'). Если для известного продукта возвращается мало результатов или ноль, значит токен отличается. Поэтому для списков зависимостей/пакетов используйте check_dependencies, а для полного стека домена - tech_stack_cve_audit (оба автоматически нормализуют токены). Используйте для поиска уязвимостей по критериям; передайте cwe_id (например CWE-79), чтобы перечислить все CVE в нашей базе, привязанные к данной слабости. Дополните запросом cwe_lookup, чтобы получить описание категории и меры смягчения. Используйте cve_lookup для получения одной CVE по идентификатору, kev_detail - когда фильтрация kev=true и агенту нужны сроки установки федеральных патчей для каждого результата. Ответ содержит глобальную подсказку, указывающую на cve_lookup: вы можете углубиться в любой возвращённый cve_id для получения полных деталей и связанных переходов (exploit_lookup, kev_detail, cwe_lookup). Бесплатный тариф: 30 запросов/час, Pro: 500 запросов/час. Возвращает {count, total, truncated, offset, summary, results, query_echo, next_offset, verdict, hint}.

Параметры

  • productstring

    Product or vendor token to filter by. EXACT match (case-insensitive) against the NVD-canonical CPE product/vendor token — NOT substring/fuzzy, and NOT necessarily the common project name. Common names, vendor renames, and build-tool artifact ids often differ from the canonical token (e.g. modern nginx CVEs are under 'nginx_open_source'/'nginx_plus', vendor 'f5', not 'nginx'; Maven 'log4j-core' maps to 'log4j'). A low or zero count for a well-known product usually means the token differs — do NOT assume coverage is complete. For dependency/package lists prefer check_dependencies, and for a domain's whole tech stack tech_stack_cve_audit (both auto-normalize tokens). A product match means CVEs exist for that product, not that a specific running version is affected — verify the running version is within each CVE's affected range. Omit to search all products.

  • severityenum

    CVSS severity level. Must be one of: CRITICAL, HIGH, MEDIUM, LOW. Omit for all severities.

    CRITICALHIGHMEDIUMLOW
  • published_afterstring

    Inclusive lower bound on publish date as YYYY-MM-DD (UTC). Pick this when the user names a starting point, e.g. 'since 2015' → '2015-01-01', 'after March 2024' → '2024-03-01'. Omit to not bound the lower edge. Combine with published_before for ranges.

  • published_beforestring

    Inclusive upper bound on publish date as YYYY-MM-DD (UTC). Pick this when the user names an ending point, e.g. 'before 2020' → '2019-12-31', 'up to 2023' → '2023-12-31'. Omit to not bound the upper edge. Combine with published_after for ranges.

  • kevboolean

    If true, return only CVEs in the CISA Known Exploited Vulnerabilities (KEV) catalog — these are actively exploited in the wild.

  • epss_minnumber

    Minimum EPSS score filter (0.0-1.0). EPSS predicts exploitation probability. 0.5 = top ~5% most likely to be exploited. 0.0 = no filter.

  • sortenum

    Sort order for results. Must be one of: published_desc (newest first), epss_desc (most exploitable first), cvss_desc (most severe first). Omit for newest first (default=published_desc).

    published_descepss_desccvss_desc
  • limitinteger

    Maximum results to return. Range: 1-200.

  • offsetinteger

    Skip N results for pagination. Use with limit to page through results.

  • cwe_idstring

    Filter by CWE weakness ID. Exact match, case-insensitive. Common values: CWE-79 (XSS), CWE-89 (SQL injection), CWE-120 (buffer overflow), CWE-78 (command injection). Format: CWE-<number>. Omit to not filter by CWE.

  • cvss_minnumber

    Minimum CVSS v3 base score (0.0-10.0). Default 0.0 = no filter (sentinel, not applied). Set > 0 to filter — CVEs with null CVSS are excluded when active. Use 7.0 for high+critical, 9.0 for critical only.

  • cvss_maxnumber

    Maximum CVSS v3 base score (0.0-10.0). Default 10.0 = no filter (sentinel, not applied). Set < 10.0 to filter — CVEs with null CVSS are excluded when active. Combine with cvss_min for a range.

  • vendorstring

    Filter by vendor name (case-insensitive). When combined with product, both must match the same CPE row — prevents cross-row false matches. Example: vendor=apache, product=struts.

  • includeenum

    Per-result detail level. Default (omit) returns slim list items (cve_id, summary, severity, cvss_v3, cwe_id, epss, kev, total_products, published, modified, sources). Pass 'full' to also return description, cvss_breakdown, affected_products, references, first_seen_source, first_seen_at — only do this when the user explicitly wants drill-down on every result. Even with 'full', per-result affected_products and references may be truncated (the per-result total_products/total_references report the honest counts); use cve_lookup for the guaranteed-complete per-CVE lists. For single-CVE detail prefer cve_lookup; slim default keeps token cost ~70% lower on Log4j-class queries. Note: verdict is at the response root, not per-row (was deduplicated to save ~40% payload).

    full
cwe_lookupтолько чтениеидемпотентный

Ищет запись из каталога MITRE CWE (Common Weakness Enumeration) в исследовательском представлении 1000. Ответ по умолчанию — SLIM (первые 3 способа смягчения, первые 3 примера; extended_description отсутствует). Чтобы получить полную запись (полные списки смягчений и примеров, заполненный extended_description), передай include='full'. Возвращает описание, тип абстракции (Pillar/Class/Base/Variant/Compound), статус (Stable/Draft/Incomplete/Deprecated), вероятность эксплуатации, рекомендуемые меры защиты, примеры CVE из наблюдений, родительскую CWE (подъём по иерархии), дочерние CWE (спуск к более конкретным недостаткам) и cve_count (НИЖНЯЯ ГРАНИЦА — считает только те CVE, у которых первичная CWE совпадает; CVE с несколькими CWE могут не учитываться). Используй после cve_lookup или kev_detail, чтобы понять базовую категорию уязвимости; для перечисления всех подходящих CVE свяжи с cve_search(cwe_id=...). Возвращает 404, если CWE нет в исследовательском представлении 1000. Бесплатный тариф: 30 запросов/час, Pro: 500/час. Возвращает {cwe_id, name, description, extended_description (null при slim, заполнен при include='full'), abstract_type, status, likelihood, mitigations (первые 3 по умолчанию), total_mitigations, examples (первые 3 по умолчанию), total_examples, parent_cwe, child_cwes, cve_count, updated_at, verdict, next_calls}.

CWE Lookup

Ищет запись из каталога MITRE CWE (Common Weakness Enumeration) в исследовательском представлении 1000. Ответ по умолчанию — SLIM (первые 3 способа смягчения, первые 3 примера; extended_description отсутствует). Чтобы получить полную запись (полные списки смягчений и примеров, заполненный extended_description), передай include='full'. Возвращает описание, тип абстракции (Pillar/Class/Base/Variant/Compound), статус (Stable/Draft/Incomplete/Deprecated), вероятность эксплуатации, рекомендуемые меры защиты, примеры CVE из наблюдений, родительскую CWE (подъём по иерархии), дочерние CWE (спуск к более конкретным недостаткам) и cve_count (НИЖНЯЯ ГРАНИЦА — считает только те CVE, у которых первичная CWE совпадает; CVE с несколькими CWE могут не учитываться). Используй после cve_lookup или kev_detail, чтобы понять базовую категорию уязвимости; для перечисления всех подходящих CVE свяжи с cve_search(cwe_id=...). Возвращает 404, если CWE нет в исследовательском представлении 1000. Бесплатный тариф: 30 запросов/час, Pro: 500/час. Возвращает {cwe_id, name, description, extended_description (null при slim, заполнен при include='full'), abstract_type, status, likelihood, mitigations (первые 3 по умолчанию), total_mitigations, examples (первые 3 по умолчанию), total_examples, parent_cwe, child_cwes, cve_count, updated_at, verdict, next_calls}.

Параметры

  • cwe_idstringобязательный

    CWE identifier — accepts 'CWE-79', 'cwe-79', or bare '79'. Common values: CWE-79 (XSS), CWE-89 (SQL injection), CWE-78 (command injection), CWE-502 (deserialization), CWE-22 (path traversal), CWE-120 (buffer overflow).

  • includeenum

    Detail level. Default ('') returns slim record (first 3 mitigations, first 3 examples; extended_description is null). total_mitigations / total_examples are always honest pre-truncation counts. Pass 'full' to populate extended_description and return the full mitigations + examples lists.

    full
d3fend_attack_coverageтолько чтениеидемпотентный

Разбор покрытия по пакетам: получив список ATT&CK T-кодов, возвращает количество уникальных защит по каждой тактике D3FEND + определяет техники, у которых нет сопоставления с D3FEND (undefended_techniques). Используйте для оценки оборонительной позиции целой атакующей кампании или модели угроз одним вызовом. defended_techniques — это подмножество, имеющее хотя бы одну защиту D3FEND; undefended_techniques — пробелы, которые стоит отметить. Дополните cve_search для каждого пробела, чтобы определить доступность эксплойта. Бесплатно: 30/час, Pro: 500/час. Возвращает {queried_techniques, coverage_by_tactic, defended_techniques, undefended_techniques, next_calls}.

D3FEND Attack Coverage

Разбор покрытия по пакетам: получив список ATT&CK T-кодов, возвращает количество уникальных защит по каждой тактике D3FEND + определяет техники, у которых нет сопоставления с D3FEND (undefended_techniques). Используйте для оценки оборонительной позиции целой атакующей кампании или модели угроз одним вызовом. defended_techniques — это подмножество, имеющее хотя бы одну защиту D3FEND; undefended_techniques — пробелы, которые стоит отметить. Дополните cve_search для каждого пробела, чтобы определить доступность эксплойта. Бесплатно: 30/час, Pro: 500/час. Возвращает {queried_techniques, coverage_by_tactic, defended_techniques, undefended_techniques, next_calls}.

Параметры

  • attack_technique_idsstring[]обязательный

    List of ATT&CK technique ids (T#### or T####.###) to assess. Capped at 500 — extra entries are dropped server-side. Example: ['T1059', 'T1550.001', 'T1190', 'T9999'].

d3fend_defense_for_attackтолько чтениеидемпотентный

Обратный поиск: по ATT&CK T-коду возвращает защиты D3FEND, которые его смягчают. Это мост от разведки атак (ATT&CK / ATLAS / CVE) к защитному плейбуку. Используйте вместе с результатом cve_lookup или atlas_technique_lookup — когда в них есть ATT&CK id, вызывайте этот инструмент, чтобы получить смягчающие меры. `defenses` ограничен значением `limit` (по умолчанию 30) для экономии токенов; `total` — честное количество до урезания, а `truncated=true` показывает, что лимит был достигнут. `coverage_by_tactic` всегда собирает ПОЛНЫЙ набор, а не срез. Ответ по умолчанию — SLIM (убирает `uri` из каждой строки); передайте include='full' для полной записи. Передайте exclude_id, когда идёте из d3fend_defense_lookup, чтобы исключить себя из списка «также смотрите». Возвращает 200 с пустым списком defenses, если для T-кода нет сопоставления D3FEND (само отсутствие — сигнал). Бесплатно: 30/час, Pro: 500/час. Возвращает {attack_technique_id, total, truncated, defenses [{defense_id, label, uri (только при include=full), parent_label, tactic, artifact, attack_label, attack_tactic}], coverage_by_tactic, next_calls}.

D3FEND Defense for Attack

Обратный поиск: по ATT&CK T-коду возвращает защиты D3FEND, которые его смягчают. Это мост от разведки атак (ATT&CK / ATLAS / CVE) к защитному плейбуку. Используйте вместе с результатом cve_lookup или atlas_technique_lookup — когда в них есть ATT&CK id, вызывайте этот инструмент, чтобы получить смягчающие меры. `defenses` ограничен значением `limit` (по умолчанию 30) для экономии токенов; `total` — честное количество до урезания, а `truncated=true` показывает, что лимит был достигнут. `coverage_by_tactic` всегда собирает ПОЛНЫЙ набор, а не срез. Ответ по умолчанию — SLIM (убирает `uri` из каждой строки); передайте include='full' для полной записи. Передайте exclude_id, когда идёте из d3fend_defense_lookup, чтобы исключить себя из списка «также смотрите». Возвращает 200 с пустым списком defenses, если для T-кода нет сопоставления D3FEND (само отсутствие — сигнал). Бесплатно: 30/час, Pro: 500/час. Возвращает {attack_technique_id, total, truncated, defenses [{defense_id, label, uri (только при include=full), parent_label, tactic, artifact, attack_label, attack_tactic}], coverage_by_tactic, next_calls}.

Параметры

  • attack_technique_idstringобязательный

    ATT&CK technique id matching 'T####' or 'T####.###' (e.g. 'T1059', 'T1550.001'). Use this to bridge from CVE/ATLAS findings to D3FEND mitigations.

  • limitinteger

    Cap on `defenses` array length. Default 30; popular T-codes (T1059, T1078) map to 30-50+ defenses. `total` and `coverage_by_tactic` always reflect the honest pre-truncation count.

  • includeenum

    Detail level. Default (omit/empty) returns slim rows (drops the deterministic ontology `uri` — popular T-codes with 15+ defenses save ~900 chars). Pass 'full' to get `uri` back on every row.

    full
  • exclude_idstring

    Optional D3FEND defense slug to omit from the defenses list. Used when chaining from d3fend_defense_lookup so the originating defense is not echoed back in its own 'see also' results.

d3fend_defense_lookupтолько чтениеидемпотентный

Найдите технику защиты MITRE D3FEND. D3FEND это канонический защитный аналог ATT&CK: каждая защита классифицируется по одной из 7 тактик (Model/Harden/Detect/Isolate/Deceive/Evict/Restore) и может нацеливаться на конкретный цифровой артефакт (например, 'Access Token'). Ответ включает attack_techniques: список T-кодов ATT&CK, которые эта защита смягчает. Используйте после d3fend_defense_search для полной записи + цепочки ATT&CK. Возвращает 404, если slug отсутствует в синхронизированном каталоге D3FEND. Free: 30 запросов/час, Pro: 500 запросов/час. Возвращает {defense_id, label, uri, parent_label, description, tactic, artifact, attack_techniques, next_calls}.

D3FEND Defense Lookup

Найдите технику защиты MITRE D3FEND. D3FEND это канонический защитный аналог ATT&CK: каждая защита классифицируется по одной из 7 тактик (Model/Harden/Detect/Isolate/Deceive/Evict/Restore) и может нацеливаться на конкретный цифровой артефакт (например, 'Access Token'). Ответ включает attack_techniques: список T-кодов ATT&CK, которые эта защита смягчает. Используйте после d3fend_defense_search для полной записи + цепочки ATT&CK. Возвращает 404, если slug отсутствует в синхронизированном каталоге D3FEND. Free: 30 запросов/час, Pro: 500 запросов/час. Возвращает {defense_id, label, uri, parent_label, description, tactic, artifact, attack_techniques, next_calls}.

Параметры

  • defense_idstringобязательный

    D3FEND defense slug from the ontology URI fragment (CamelCase), e.g. 'TokenBinding', 'FileHashing', 'CertificatePinning'.

d3fend_defense_searchтолько чтениеидемпотентный

Ищите по каталогу защитных техник MITRE D3FEND по ключевому слову, тактике или целевой сущности (artifact). По умолчанию ответ в формате SLIM (убирает `uri` из каждой строки — экономит ~60 символов на строку, ~30% на популярных запросах); передайте include='full' для полной записи. Передавайте exclude_id, если вызываете цепочкой из d3fend_defense_lookup, чтобы пропустить себя при поиске родственных сущностей (sibling-artifact). Используйте, чтобы найти защиты для заданной модели угроз — например, 'какие защиты укрепляют токены доступа?' (tactic=Harden + artifact='Access Token'). Детализируйте через d3fend_defense_lookup с любым возвращённым defense_id для получения сопоставлений с техниками ATT&CK. Бесплатно: 30/час, Pro: 500/час. Возвращает {query, total, results [{defense_id, label, uri (только при include=full), parent_label, tactic, artifact}], next_calls}.

D3FEND Defense Search

Ищите по каталогу защитных техник MITRE D3FEND по ключевому слову, тактике или целевой сущности (artifact). По умолчанию ответ в формате SLIM (убирает `uri` из каждой строки — экономит ~60 символов на строку, ~30% на популярных запросах); передайте include='full' для полной записи. Передавайте exclude_id, если вызываете цепочкой из d3fend_defense_lookup, чтобы пропустить себя при поиске родственных сущностей (sibling-artifact). Используйте, чтобы найти защиты для заданной модели угроз — например, 'какие защиты укрепляют токены доступа?' (tactic=Harden + artifact='Access Token'). Детализируйте через d3fend_defense_lookup с любым возвращённым defense_id для получения сопоставлений с техниками ATT&CK. Бесплатно: 30/час, Pro: 500/час. Возвращает {query, total, results [{defense_id, label, uri (только при include=full), parent_label, tactic, artifact}], next_calls}.

Параметры

  • keywordstring

    Substring match against defense label, description, or parent_label (case-insensitive). Min 2 chars. Example: 'token', 'hashing', 'sandbox'. Omit to list all.

  • tacticenum

    Filter by D3FEND tactic. One of: Model, Harden, Detect, Isolate, Deceive, Evict, Restore. Omit for all tactics.

    ModelHardenDetectIsolateDeceiveEvictRestore
  • artifactstring

    Filter by exact targeted digital artifact (case-insensitive), e.g. 'Access Token', 'File', 'Process'. Omit for any artifact.

  • limitinteger

    Max results to return. Range: 1-200.

  • includeenum

    Detail level. Default (omit/empty) returns slim rows (drops the deterministic ontology `uri` field, ~60 chars/row saved). Pass 'full' to get `uri` back on every row. The slug `defense_id` is always returned and uniquely identifies the defense.

    full
  • exclude_idstring

    Optional D3FEND defense slug (CamelCase, e.g. 'TokenBinding') to omit from results. Useful when chaining from d3fend_defense_lookup so the originating defense is not echoed back in its own siblings list. Omit when not needed.

dns_lookupтолько чтениеидемпотентныйвнешний мир

Запрашивает все типы DNS-записей (A, AAAA, MX, NS, TXT, CNAME, SOA) для домена. Используется для проверки маршрутизации почты, верификации NS или проверок SPF/DMARC; для полного обзора используйте domain_report. TXT-записи возвращаются как есть (без фильтрации): `total_txt_records` всегда содержит честное количество (используйте domain_report для просмотра TXT, отфильтрованных только по безопасности). Бесплатно: 30/час, Pro: 500/час. Возвращает {domain, records: {a, aaaa, mx, ns, txt, total_txt_records, cname, soa}, summary}.

DNS Lookup

Запрашивает все типы DNS-записей (A, AAAA, MX, NS, TXT, CNAME, SOA) для домена. Используется для проверки маршрутизации почты, верификации NS или проверок SPF/DMARC; для полного обзора используйте domain_report. TXT-записи возвращаются как есть (без фильтрации): `total_txt_records` всегда содержит честное количество (используйте domain_report для просмотра TXT, отфильтрованных только по безопасности). Бесплатно: 30/час, Pro: 500/час. Возвращает {domain, records: {a, aaaa, mx, ns, txt, total_txt_records, cname, soa}, summary}.

Параметры

  • domainstringобязательный

    Root domain to query, without protocol or path (e.g. 'example.com', 'cloudflare.com')

domain_reportтолько чтениеидемпотентныйвнешний мир

Запрашивает DNS, WHOIS, SSL, поддомены и данные об угрозах для домена за один вызов. По умолчанию в dns.txt остаются только записи, важные для безопасности (SPF, DMARC, DKIM, MTA-STS, TLS-RPT), а dns.total_txt_records показывает честное количество до фильтрации; передайте include_all_txt=true, чтобы получить полный список TXT-записей. Используйте как отправную точку для исследования домена; для живых заголовков и технологического стека применяйте audit_domain. Ответ содержит next_calls — цепочку с subdomain_enum (всегда присутствует), ssl_check и tech_fingerprint (если разрешается A-запись) для стандартной глубины разведки без повторного запроса. Бесплатная версия: 30 запросов в час, Pro: 500 запросов в час. Возвращает отчёт по домену: DNS-записи, данные WHOIS, SSL-сертификат, оценку риска, настройки почты, статус угроз, рекомендацию и next_calls.

Domain Report

Запрашивает DNS, WHOIS, SSL, поддомены и данные об угрозах для домена за один вызов. По умолчанию в dns.txt остаются только записи, важные для безопасности (SPF, DMARC, DKIM, MTA-STS, TLS-RPT), а dns.total_txt_records показывает честное количество до фильтрации; передайте include_all_txt=true, чтобы получить полный список TXT-записей. Используйте как отправную точку для исследования домена; для живых заголовков и технологического стека применяйте audit_domain. Ответ содержит next_calls — цепочку с subdomain_enum (всегда присутствует), ssl_check и tech_fingerprint (если разрешается A-запись) для стандартной глубины разведки без повторного запроса. Бесплатная версия: 30 запросов в час, Pro: 500 запросов в час. Возвращает отчёт по домену: DNS-записи, данные WHOIS, SSL-сертификат, оценку риска, настройки почты, статус угроз, рекомендацию и next_calls.

Параметры

  • domainstringобязательный

    Root domain to analyze, without protocol or path (e.g. 'example.com', 'shopify.com')

  • include_all_txtboolean

    Return every TXT record (default: False, only SPF/DMARC/DKIM/MTA-STS/TLS-RPT kept). dns.total_txt_records is always emitted with the honest pre-filter count. Default filter strips vendor verification strings (google-site-verification, ms=, facebook-domain-verification, etc.) that bloat the response without security signal. Set True only when you need the raw TXT inventory.

email_disposableтолько чтениеидемпотентныйвнешний мир

Проверяет, использует ли email-адрес известного одноразового/временного провайдера (Guerrilla Mail, Temp Mail, Mailinator и т.д.). Используйте для валидации ввода, чтобы отсеивать одноразовые регистрации; для оценки репутации домена применяйте threat_intel. Сопутствующие инструменты для исследования email: email_mx (доставляемость + доверие к MX), domain_report по домену email (полная разведка), threat_intel (сигнал о распространении вредоносного ПО по домену). Бесплатно: 30/час, Pro: 500/час. Возвращает {disposable, domain, provider}.

Email Disposable

Проверяет, использует ли email-адрес известного одноразового/временного провайдера (Guerrilla Mail, Temp Mail, Mailinator и т.д.). Используйте для валидации ввода, чтобы отсеивать одноразовые регистрации; для оценки репутации домена применяйте threat_intel. Сопутствующие инструменты для исследования email: email_mx (доставляемость + доверие к MX), domain_report по домену email (полная разведка), threat_intel (сигнал о распространении вредоносного ПО по домену). Бесплатно: 30/час, Pro: 500/час. Возвращает {disposable, domain, provider}.

Параметры

  • emailstringобязательный

    Full email address to check (e.g. 'user@tempmail.com', 'test@guerrillamail.com')

email_mxтолько чтениеидемпотентныйвнешний мир

Анализирует безопасность email: MX-записи, политику SPF, политику DMARC, проверку DKIM по общим селекторам и селекторам на основе дат, почтового провайдера, оценку. Используйте, чтобы проверить настройки email-аутентификации и риски фишинга; для полного аудита используйте domain_report. Бесплатно: 30/час, Pro: 500/час. email_security.dkim_status сообщает честный результат: 'verified', если хотя бы один селектор ответил, иначе 'unverifiable' (кастомные селекторы нельзя обнаружить без предварительных знаний). Оценка: если DKIM проверен, A = SPF+DMARC+DKIM / B = 2 из 3 / C = 1 из 3; если DKIM не проверяем, A = SPF+DMARC / B = один из них / F = ни одного — отсутствие DKIM НЕ штрафуется, потому что в DNS его нельзя доказать. Возвращает {mx_records, mail_provider, email_security:{spf, dmarc, dkim_selectors, dkim_status, grade, issues}, summary}.

Email MX

Анализирует безопасность email: MX-записи, политику SPF, политику DMARC, проверку DKIM по общим селекторам и селекторам на основе дат, почтового провайдера, оценку. Используйте, чтобы проверить настройки email-аутентификации и риски фишинга; для полного аудита используйте domain_report. Бесплатно: 30/час, Pro: 500/час. email_security.dkim_status сообщает честный результат: 'verified', если хотя бы один селектор ответил, иначе 'unverifiable' (кастомные селекторы нельзя обнаружить без предварительных знаний). Оценка: если DKIM проверен, A = SPF+DMARC+DKIM / B = 2 из 3 / C = 1 из 3; если DKIM не проверяем, A = SPF+DMARC / B = один из них / F = ни одного — отсутствие DKIM НЕ штрафуется, потому что в DNS его нельзя доказать. Возвращает {mx_records, mail_provider, email_security:{spf, dmarc, dkim_selectors, dkim_status, grade, issues}, summary}.

Параметры

  • domainstringобязательный

    Domain to analyze email configuration for (e.g. 'example.com', 'google.com')

email_security_postureтолько чтениеидемпотентныйвнешний мир

Анализирует состояние аутентификации email домена: SPF, DMARC, DKIM с числовой оценкой и выводами. Двойное назначение: red-team (возможность подмены) + blue-team (аудит состояния). Оценка от 0 до 100, уровни A+-F. Проверка DKIM тестирует общие селекторы + недавние даты; пользовательские селекторы должны быть указаны. Только пассивный DNS; без SMTP-зондирования. Бесплатно: 30/час, Pro: 500/час.

Email Security Posture

Анализирует состояние аутентификации email домена: SPF, DMARC, DKIM с числовой оценкой и выводами. Двойное назначение: red-team (возможность подмены) + blue-team (аудит состояния). Оценка от 0 до 100, уровни A+-F. Проверка DKIM тестирует общие селекторы + недавние даты; пользовательские селекторы должны быть указаны. Только пассивный DNS; без SMTP-зондирования. Бесплатно: 30/час, Pro: 500/час.

Параметры

  • domainstringобязательный

    Domain to audit email authentication posture for (e.g. 'example.com')

  • selectorsany

    Optional comma-separated custom DKIM selectors to probe

email_verifyтолько чтениеидемпотентныйвнешний мир

Одним вызовом проверяет email: синтаксис + MX-записи + одноразовые адреса + служебные роли (admin@/info@/...) + классификацию бесплатных провайдеров (gmail/outlook/yahoo/...). Используйте ДО добавления email в контактный лист, отправки исходящего сообщения или аудита списка лидов — заменяет 2-3 вызова инструментов (email_mx + email_disposable + ручной разбор ролей) одним структурированным ответом. Намеренно НЕ делает SMTP-пробив доставляемости (`RCPT TO`) — перебор почтовых ящиков в стиле Hunter.io / NeverBounce — серая этическая зона, от которой мы отказались; используйте эти сервисы, если вам нужен именно такой сигнал. `role_address=true` для `admin@`, `info@`, `noreply@`, `support@` и т.п. (`+tag` в стиле Gmail отбрасывается перед классификацией). `free_provider=true` для доменов потребительских почтовых ящиков (сигнал для B2B-детекции — «рабочий» email на `@gmail.com` вряд ли принадлежит корпоративному пользователю). Бесплатно: 30/ч, Pro: 500/ч. Возвращает {email, domain, syntax_valid, mx_records, disposable, disposable_provider, role_address, role_type, free_provider, summary}.

Email Verify

Одним вызовом проверяет email: синтаксис + MX-записи + одноразовые адреса + служебные роли (admin@/info@/...) + классификацию бесплатных провайдеров (gmail/outlook/yahoo/...). Используйте ДО добавления email в контактный лист, отправки исходящего сообщения или аудита списка лидов — заменяет 2-3 вызова инструментов (email_mx + email_disposable + ручной разбор ролей) одним структурированным ответом. Намеренно НЕ делает SMTP-пробив доставляемости (`RCPT TO`) — перебор почтовых ящиков в стиле Hunter.io / NeverBounce — серая этическая зона, от которой мы отказались; используйте эти сервисы, если вам нужен именно такой сигнал. `role_address=true` для `admin@`, `info@`, `noreply@`, `support@` и т.п. (`+tag` в стиле Gmail отбрасывается перед классификацией). `free_provider=true` для доменов потребительских почтовых ящиков (сигнал для B2B-детекции — «рабочий» email на `@gmail.com` вряд ли принадлежит корпоративному пользователю). Бесплатно: 30/ч, Pro: 500/ч. Возвращает {email, domain, syntax_valid, mx_records, disposable, disposable_provider, role_address, role_type, free_provider, summary}.

Параметры

  • emailstringобязательный

    Full email address to verify (e.g. 'admin@example.com', 'user@gmail.com'). Must contain '@'.

exploit_lookupтолько чтениеидемпотентный

Ищет публичные эксплойты/PoC для конкретного CVE по трём источникам: (1) GitHub Advisory Database (sources.github.advisories[]), (2) ссылки Shodan CVEDB (sources.shodan_refs.results[] — URL-адреса с packetstorm/seclists/vendor, указанные Shodan; результаты ограничены SHODAN_REFS_LIMIT по умолчанию 200, truncated=true при превышении, count — честное количество от вышестоящего источника), (3) CSV-зеркало ExploitDB (массив exploits[], с edb_id + author + verified — это настоящие записи ExploitDB). Используется, чтобы оценить, есть ли у уязвимости оружизированные эксплойты в дикой природе; запускать после cve_lookup для оценки реального риска. Когда CVE также есть в CISA KEV (kev.in_kev=true на cve_lookup), объединять с kev_detail для федерального срока патча; объединять с cwe_lookup по cwe_id для базовой категории слабости и мер смягчения. Ответ содержит next_calls — единственный переход cve_lookup для полного контекста (статус KEV, цепочка CWE, CVSS, EPSS); собственные next_calls cve_lookup затем автоматически выводят kev_detail и cwe_lookup (у этой конечной точки нет схемы in_kev/cwe_id, поэтому слепая выдача этих переходов намеренно избегается). Бесплатно: 30/ч, Pro: 500/ч. Возвращает {cve_id, exploits_found, has_public_exploit, sources: {github, shodan_refs: {found, count, truncated, results}}, exploits: [{edb_id, cve_id, date_published, author, type, platform, url, verified, description}], summary, verdict, next_calls}.

Exploit Lookup

Ищет публичные эксплойты/PoC для конкретного CVE по трём источникам: (1) GitHub Advisory Database (sources.github.advisories[]), (2) ссылки Shodan CVEDB (sources.shodan_refs.results[] — URL-адреса с packetstorm/seclists/vendor, указанные Shodan; результаты ограничены SHODAN_REFS_LIMIT по умолчанию 200, truncated=true при превышении, count — честное количество от вышестоящего источника), (3) CSV-зеркало ExploitDB (массив exploits[], с edb_id + author + verified — это настоящие записи ExploitDB). Используется, чтобы оценить, есть ли у уязвимости оружизированные эксплойты в дикой природе; запускать после cve_lookup для оценки реального риска. Когда CVE также есть в CISA KEV (kev.in_kev=true на cve_lookup), объединять с kev_detail для федерального срока патча; объединять с cwe_lookup по cwe_id для базовой категории слабости и мер смягчения. Ответ содержит next_calls — единственный переход cve_lookup для полного контекста (статус KEV, цепочка CWE, CVSS, EPSS); собственные next_calls cve_lookup затем автоматически выводят kev_detail и cwe_lookup (у этой конечной точки нет схемы in_kev/cwe_id, поэтому слепая выдача этих переходов намеренно избегается). Бесплатно: 30/ч, Pro: 500/ч. Возвращает {cve_id, exploits_found, has_public_exploit, sources: {github, shodan_refs: {found, count, truncated, results}}, exploits: [{edb_id, cve_id, date_published, author, type, platform, url, verified, description}], summary, verdict, next_calls}.

Параметры

  • cve_idstringобязательный

    CVE identifier in format CVE-YYYY-NNNNN (e.g. 'CVE-2024-3094', 'CVE-2023-44487')

geo_auditтолько чтениеидемпотентныйвнешний мир

Детерминированный аудит готовности домена к GEO / AI-видимости: проверка главной страницы с оценкой 0–100 и списком `missing_signals` для исправления. Отвечает на вопрос «могут ли AI-ассистенты (ChatGPT, Claude, Perplexity, Google AI) найти, проиндексировать и рекомендовать этот сайт?», используя ТОЛЬКО СТРУКТУРНЫЕ сигналы — никакие LLM не опрашиваются, всё полностью детерминировано. 7 взвешенных правил: наличие `llms.txt` (15), доступ для AI-краулеров в `robots.txt` — 9 краулеров, включая GPTBot/ClaudeBot/PerplexityBot/Google-Extended/CCBot (25 — доминирующий сигнал; блокировка = невидимость для соответствующей AI-поверхности), покрытие schema.org @type: Organization/Product/FAQPage (20), серверный рендеринг против клиентского SPA (15 — SPA на чистом JS отдаёт AI-краулерам пустой HTML), сигналы обнаружения: og / canonical / sitemap (10), семантические заголовки: один H1 + структура H2 (10), контент сравнения с конкурентами (5). Используется для диагностики причин отсутствия бренда в AI-рекомендациях, как предварительная проверка перед GEO/AEO-доработками контента или для оценки AI-готовности потенциального клиента. Только главная страница — мы НЕ сканируем. Этические ограничения: соблюдается `robots.txt` цели — на `Disallow: /` для ContrastAPI возвращается 403 `error.code = robots_txt_disallow`, и мы НЕ выполняем загрузку. `Cache-Control: no-store`/`private` пропускает запись в наш кеш (`cache_respected=false`). Ограничение по eTLD+1 на цель (60 запросов/мин). Бесплатно: 30/час, Pro: 500/час. Возвращает {domain, fetched_url, status_code, llms_txt_present, ai_crawlers_total, ai_crawlers_allowed, ai_crawlers_blocked, schema_types, client_side_rendered, render_framework, has_canonical, og_tag_count, sitemap_count, h1_count, h2_count, comparison_content, score, missing_signals, cache_respected, summary}. Возвращает 502 при ошибках DNS/TCP/TLS; 403 `robots_txt_disallow`, если цель отказалась от сканирования.

Geo Audit

Детерминированный аудит готовности домена к GEO / AI-видимости: проверка главной страницы с оценкой 0–100 и списком `missing_signals` для исправления. Отвечает на вопрос «могут ли AI-ассистенты (ChatGPT, Claude, Perplexity, Google AI) найти, проиндексировать и рекомендовать этот сайт?», используя ТОЛЬКО СТРУКТУРНЫЕ сигналы — никакие LLM не опрашиваются, всё полностью детерминировано. 7 взвешенных правил: наличие `llms.txt` (15), доступ для AI-краулеров в `robots.txt` — 9 краулеров, включая GPTBot/ClaudeBot/PerplexityBot/Google-Extended/CCBot (25 — доминирующий сигнал; блокировка = невидимость для соответствующей AI-поверхности), покрытие schema.org @type: Organization/Product/FAQPage (20), серверный рендеринг против клиентского SPA (15 — SPA на чистом JS отдаёт AI-краулерам пустой HTML), сигналы обнаружения: og / canonical / sitemap (10), семантические заголовки: один H1 + структура H2 (10), контент сравнения с конкурентами (5). Используется для диагностики причин отсутствия бренда в AI-рекомендациях, как предварительная проверка перед GEO/AEO-доработками контента или для оценки AI-готовности потенциального клиента. Только главная страница — мы НЕ сканируем. Этические ограничения: соблюдается `robots.txt` цели — на `Disallow: /` для ContrastAPI возвращается 403 `error.code = robots_txt_disallow`, и мы НЕ выполняем загрузку. `Cache-Control: no-store`/`private` пропускает запись в наш кеш (`cache_respected=false`). Ограничение по eTLD+1 на цель (60 запросов/мин). Бесплатно: 30/час, Pro: 500/час. Возвращает {domain, fetched_url, status_code, llms_txt_present, ai_crawlers_total, ai_crawlers_allowed, ai_crawlers_blocked, schema_types, client_side_rendered, render_framework, has_canonical, og_tag_count, sitemap_count, h1_count, h2_count, comparison_content, score, missing_signals, cache_respected, summary}. Возвращает 502 при ошибках DNS/TCP/TLS; 403 `robots_txt_disallow`, если цель отказалась от сканирования.

Параметры

  • domainstringобязательный

    Registrable domain to audit for AI-visibility / GEO readiness (e.g. 'example.com', 'shopify.com'). No scheme, no path, no port. Strictly homepage-only — the bot fetches https://<domain>/ with HTTP fallback (we do NOT crawl).

get_cvss_detailsтолько чтениеидемпотентный

Разбирает строку вектора CVSS v3.x на разбивку по каждой метрике и пересчитанную базовую оценку. Возвращает канонизированный вектор, версию (3.0 или 3.1), base_score, base_severity (NONE/LOW/MEDIUM/HIGH/CRITICAL) и восемь базовых метрик: attack_vector (NETWORK/ADJACENT_NETWORK/LOCAL/PHYSICAL), attack_complexity (LOW/HIGH), privileges_required (NONE/LOW/HIGH), user_interaction (NONE/REQUIRED), scope (UNCHANGED/CHANGED), и три метрики влияния: confidentiality_impact / integrity_impact / availability_impact (каждая NONE/LOW/HIGH). Если в векторе есть временные или средовые метрики, temporal_score и environmental_score заполняются отдельно. Используйте, чтобы преобразовывать сырые строки CVSS в атрибуты, удобные для агента, без самостоятельного разбора грамматики вектора, а также для проверки оценок NVD из апстрима по пересчитанному значению. Векторы v2 (AV:N/AC:L/Au:N/...) отвергаются с кодом 400 — читайте cvss_v2_vector из cve_lookup, если нужны детали v2. Бесплатно: 30/ч, Pro: 500/ч. Возвращает {version, vector, base_score, base_severity, metrics: {attack_vector, attack_complexity, privileges_required, user_interaction, scope, confidentiality_impact, integrity_impact, availability_impact}, temporal_score, environmental_score, summary, verdict}.

Get CVSS Details

Разбирает строку вектора CVSS v3.x на разбивку по каждой метрике и пересчитанную базовую оценку. Возвращает канонизированный вектор, версию (3.0 или 3.1), base_score, base_severity (NONE/LOW/MEDIUM/HIGH/CRITICAL) и восемь базовых метрик: attack_vector (NETWORK/ADJACENT_NETWORK/LOCAL/PHYSICAL), attack_complexity (LOW/HIGH), privileges_required (NONE/LOW/HIGH), user_interaction (NONE/REQUIRED), scope (UNCHANGED/CHANGED), и три метрики влияния: confidentiality_impact / integrity_impact / availability_impact (каждая NONE/LOW/HIGH). Если в векторе есть временные или средовые метрики, temporal_score и environmental_score заполняются отдельно. Используйте, чтобы преобразовывать сырые строки CVSS в атрибуты, удобные для агента, без самостоятельного разбора грамматики вектора, а также для проверки оценок NVD из апстрима по пересчитанному значению. Векторы v2 (AV:N/AC:L/Au:N/...) отвергаются с кодом 400 — читайте cvss_v2_vector из cve_lookup, если нужны детали v2. Бесплатно: 30/ч, Pro: 500/ч. Возвращает {version, vector, base_score, base_severity, metrics: {attack_vector, attack_complexity, privileges_required, user_interaction, scope, confidentiality_impact, integrity_impact, availability_impact}, temporal_score, environmental_score, summary, verdict}.

Параметры

  • vectorstringобязательный

    CVSS v3.0 or v3.1 vector string, e.g. 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'. v2 vectors are rejected — use the cvss_v2_vector field on cve_lookup if you need v2.

hash_lookupтолько чтениеидемпотентныйвнешний мир

Запрос к MalwareBazaar по хешу файла (MD5/SHA1/SHA256): семейство вредоносного ПО, тип файла, размер, теги, первое/последнее обнаружение, количество загрузок. Используется для проверки, является ли хеш файла известным вредоносным ПО; используйте ioc_lookup для автоматического определения всех типов IOC. Сопутствующие инструменты для расследования вредоносного ПО: ioc_lookup (несколько источников: ThreatFox + Feodo Tracker + URLhaus), threat_intel (проверка URLhaus на уровне домена), exploit_lookup (привязка известного CVE к коду PoC, если хеш соответствует бинарному файлу эксплойта). Бесплатно: 30/час, Pro: 500/час. Возвращает {found, malware_family, file_type, file_size, tags, first_seen, last_seen, signature}.

Hash Lookup

Запрос к MalwareBazaar по хешу файла (MD5/SHA1/SHA256): семейство вредоносного ПО, тип файла, размер, теги, первое/последнее обнаружение, количество загрузок. Используется для проверки, является ли хеш файла известным вредоносным ПО; используйте ioc_lookup для автоматического определения всех типов IOC. Сопутствующие инструменты для расследования вредоносного ПО: ioc_lookup (несколько источников: ThreatFox + Feodo Tracker + URLhaus), threat_intel (проверка URLhaus на уровне домена), exploit_lookup (привязка известного CVE к коду PoC, если хеш соответствует бинарному файлу эксплойта). Бесплатно: 30/час, Pro: 500/час. Возвращает {found, malware_family, file_type, file_size, tags, first_seen, last_seen, signature}.

Параметры

  • file_hashstringобязательный

    File hash to look up. Accepts MD5 (32 chars), SHA-1 (40 chars), or SHA-256 (64 chars). Lowercase hex only, no spaces. Example: 'd41d8cd98f00b204e9800998ecf8427e'

ioc_lookupтолько чтениеидемпотентныйвнешний мир

Обогащает индикатор компрометации (IP/домен/URL/хэш) — автоматически определяет тип и запрашивает фиды abuse.ch. Покрытие по типам: хэш → только ThreatFox (Feodo и URLhaus не индексируют хэши); IP → ThreatFox + Feodo Tracker + URLhaus; домен/URL → ThreatFox + URLhaus. verdict.sources_queried показывает, что реально выполнялось; verdict.sources_unavailable — что упало (таймаут / ошибка на стороне источника). Используй как первичный инструмент триажа IOC, когда тип неизвестен; для доменов используй threat_intel, для хэшей — hash_lookup (богаче данные от MalwareBazaar). Бесплатно — 30 запросов в час, Pro — 500. Возвращает {indicator, type, threat_level, sources, summary, verdict}.

IOC Lookup

Обогащает индикатор компрометации (IP/домен/URL/хэш) — автоматически определяет тип и запрашивает фиды abuse.ch. Покрытие по типам: хэш → только ThreatFox (Feodo и URLhaus не индексируют хэши); IP → ThreatFox + Feodo Tracker + URLhaus; домен/URL → ThreatFox + URLhaus. verdict.sources_queried показывает, что реально выполнялось; verdict.sources_unavailable — что упало (таймаут / ошибка на стороне источника). Используй как первичный инструмент триажа IOC, когда тип неизвестен; для доменов используй threat_intel, для хэшей — hash_lookup (богаче данные от MalwareBazaar). Бесплатно — 30 запросов в час, Pro — 500. Возвращает {indicator, type, threat_level, sources, summary, verdict}.

Параметры

  • indicatorstringобязательный

    Indicator of Compromise: IP address, domain, full URL, or file hash in MD5/SHA1/SHA256 format (e.g. '8.8.8.8', 'evil.com', 'https://evil.com/malware.exe', 'd41d8cd98f00b204e9800998ecf8427e')

ip_lookupтолько чтениеидемпотентныйвнешний мир

Запрашивает всестороннюю IP-разведку: обратный DNS, ASN + имя владельца + страна inline (RIPE Stat, Phase 1), открытые порты, имена хостов, уязвимости (Shodan InternetDB с обогащением severity + cvss_v3 из локального cve.db — Phase 2 v1.16.0 BREAKING; vulns теперь list[VulnInfo] {cve_id, severity, cvss_v3} словари, до v1.16 это был list[str] с CVE ID; неизвестные CVE выдают severity='UNKNOWN' / cvss_v3=null — НЕ предполагайте безопасность), облачный провайдер, статус выходного узла Tor и репутация. cloud_provider использует двухуровневое определение: сначала опубликованные диапазоны CIDR облачных провайдеров (AWS/GCP/Cloudflare), затем запасная карта ASN-провайдер для anycast/публичных IP вне опубликованных диапазонов (например, 8.8.8.8 → AS15169 → 'Google'). Репутация: FireHOL level1 blocklist на бесплатном тарифе; +AbuseIPDB + Shodan на Pro (Phase 4). Используется для IP-расследований; для оркестрованного IP+репутации используйте threat_report. Ответ явно допускает null: каждое поле всегда присутствует (cloud_provider=null когда ни один уровень не совпадает; tor_exit=false когда нет в списке или не удалось получить данные с upstream — проверьте verdict.sources_unavailable, чтобы отличить ошибку получения от реального отсутствия). Ответ содержит next_calls (условно) — asn_lookup когда ASN заполнен, ioc_lookup когда репутация в FireHOL или AbuseIPDB confidence>50, threat_report на Pro для оркестрованного профиля. Бесплатно: 30/ч, Pro: 500/ч. Возвращает {ip, ptr, geo, asn, asn_name, country, ports, hostnames, vulns, cloud_provider, tor_exit, reputation, risk_score, verdict, next_calls}.

IP Lookup

Запрашивает всестороннюю IP-разведку: обратный DNS, ASN + имя владельца + страна inline (RIPE Stat, Phase 1), открытые порты, имена хостов, уязвимости (Shodan InternetDB с обогащением severity + cvss_v3 из локального cve.db — Phase 2 v1.16.0 BREAKING; vulns теперь list[VulnInfo] {cve_id, severity, cvss_v3} словари, до v1.16 это был list[str] с CVE ID; неизвестные CVE выдают severity='UNKNOWN' / cvss_v3=null — НЕ предполагайте безопасность), облачный провайдер, статус выходного узла Tor и репутация. cloud_provider использует двухуровневое определение: сначала опубликованные диапазоны CIDR облачных провайдеров (AWS/GCP/Cloudflare), затем запасная карта ASN-провайдер для anycast/публичных IP вне опубликованных диапазонов (например, 8.8.8.8 → AS15169 → 'Google'). Репутация: FireHOL level1 blocklist на бесплатном тарифе; +AbuseIPDB + Shodan на Pro (Phase 4). Используется для IP-расследований; для оркестрованного IP+репутации используйте threat_report. Ответ явно допускает null: каждое поле всегда присутствует (cloud_provider=null когда ни один уровень не совпадает; tor_exit=false когда нет в списке или не удалось получить данные с upstream — проверьте verdict.sources_unavailable, чтобы отличить ошибку получения от реального отсутствия). Ответ содержит next_calls (условно) — asn_lookup когда ASN заполнен, ioc_lookup когда репутация в FireHOL или AbuseIPDB confidence>50, threat_report на Pro для оркестрованного профиля. Бесплатно: 30/ч, Pro: 500/ч. Возвращает {ip, ptr, geo, asn, asn_name, country, ports, hostnames, vulns, cloud_provider, tor_exit, reputation, risk_score, verdict, next_calls}.

Параметры

  • ipstringобязательный

    IPv4 or IPv6 address to investigate (e.g. '8.8.8.8', '2606:4700::1111')

kev_detailтолько чтениеидемпотентный

Получить полную запись CISA KEV (Known Exploited Vulnerabilities) для CVE. Возвращает срок установки исправления от федеральных органов (due_date), указанное CISA действие по устранению (required_action), известную связь с программами-вымогателями, поставщика/продукт, присвоенное CISA общеупотребительное название (например, 'Log4Shell'), перечень CWE от CISA, а также метаданные жизненного цикла: date_updated (дата последнего изменения записи CISA), date_removed (устанавливается, когда CISA удалила CVE из каталога — null, пока CVE активна) и updated_at (свежесть синхронизации с нашей БД). Возвращает 404, если CVE нет в каталоге KEV — для CVE не из KEV используйте cve_lookup. Лучше всего вызывать после cve_lookup или cve_search(kev=true), когда обнаружена CVE с in_kev=true; дополните cwe_lookup по каждому возвращённому CWE, чтобы изучить категорию уязвимости. Бесплатно: 30/ч, Pro: 500/ч. Возвращает {cve_id, vendor_project, product, vulnerability_name, date_added, due_date, required_action, known_ransomware_use, notes, cwes, date_updated, date_removed, updated_at, verdict, next_calls}.

KEV Detail

Получить полную запись CISA KEV (Known Exploited Vulnerabilities) для CVE. Возвращает срок установки исправления от федеральных органов (due_date), указанное CISA действие по устранению (required_action), известную связь с программами-вымогателями, поставщика/продукт, присвоенное CISA общеупотребительное название (например, 'Log4Shell'), перечень CWE от CISA, а также метаданные жизненного цикла: date_updated (дата последнего изменения записи CISA), date_removed (устанавливается, когда CISA удалила CVE из каталога — null, пока CVE активна) и updated_at (свежесть синхронизации с нашей БД). Возвращает 404, если CVE нет в каталоге KEV — для CVE не из KEV используйте cve_lookup. Лучше всего вызывать после cve_lookup или cve_search(kev=true), когда обнаружена CVE с in_kev=true; дополните cwe_lookup по каждому возвращённому CWE, чтобы изучить категорию уязвимости. Бесплатно: 30/ч, Pro: 500/ч. Возвращает {cve_id, vendor_project, product, vulnerability_name, date_added, due_date, required_action, known_ransomware_use, notes, cwes, date_updated, date_removed, updated_at, verdict, next_calls}.

Параметры

  • cve_idstringобязательный

    CVE identifier in format CVE-YYYY-NNNNN (e.g. 'CVE-2021-44228', 'CVE-2024-3094')

password_checkтолько чтениеидемпотентныйвнешний мир

Проверяет, присутствует ли SHA-1-хэш в наборе данных об утечках Have I Been Pwned (HIBP) с использованием k-анонимности (только 5-символьный префикс, полный хэш никогда не покидает инструмент). Используется для аудита утечек паролей; только чтение, данные не сохраняются. Сопутствующие инструменты OSINT-расследований: hash_lookup (поиск семейства вредоносных программ по хэшу файла, другое пространство имён), email_disposable (сигнал одноразовой почты на связанных аккаунтах), username_lookup (раскрытие в социальных платформах по связанным псевдонимам). Бесплатно: 30/час, Pro: 500/час. Возвращает {found, count}.

Password Check

Проверяет, присутствует ли SHA-1-хэш в наборе данных об утечках Have I Been Pwned (HIBP) с использованием k-анонимности (только 5-символьный префикс, полный хэш никогда не покидает инструмент). Используется для аудита утечек паролей; только чтение, данные не сохраняются. Сопутствующие инструменты OSINT-расследований: hash_lookup (поиск семейства вредоносных программ по хэшу файла, другое пространство имён), email_disposable (сигнал одноразовой почты на связанных аккаунтах), username_lookup (раскрытие в социальных платформах по связанным псевдонимам). Бесплатно: 30/час, Pro: 500/час. Возвращает {found, count}.

Параметры

  • sha1_hashstringобязательный

    Full SHA-1 hash of the password as 40 lowercase hexadecimal characters (e.g. '5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8' for 'password')

phishing_checkтолько чтениеидемпотентныйвнешний мир

Запрашивает URLhaus по конкретному URL и его хосту. is_malicious равно True только при наличии АКТИВНЫХ улик: точное совпадение URL с url_status='online' (или unknown) ИЛИ у хоста urls_online > 0. URLhaus хранит исторические записи вечно, поэтому у хоста может быть url_count > 0 при urls_online == 0; в этом случае is_malicious=False, is_stale=True, threat_level='low'. Используйте для оценки угроз на уровне URL; используйте threat_intel для проверок на уровне домена. Сопутствующие инструменты расследования угроз: ioc_lookup (многоисточниковый IOC: ThreatFox + URLhaus + Feodo Tracker, автоопределение типа), hash_lookup (семейство вредоносных программ по хешу файла, MalwareBazaar), threat_intel (только URLhaus на уровне домена). Бесплатно: 30/час, Pro: 500/час. Возвращает {url, host, is_malicious, is_stale, urlhaus_host:{found,urls_online,url_count}, urlhaus_url:{found,threat,tags,status}, threat_level, summary}.

Phishing Check

Запрашивает URLhaus по конкретному URL и его хосту. is_malicious равно True только при наличии АКТИВНЫХ улик: точное совпадение URL с url_status='online' (или unknown) ИЛИ у хоста urls_online > 0. URLhaus хранит исторические записи вечно, поэтому у хоста может быть url_count > 0 при urls_online == 0; в этом случае is_malicious=False, is_stale=True, threat_level='low'. Используйте для оценки угроз на уровне URL; используйте threat_intel для проверок на уровне домена. Сопутствующие инструменты расследования угроз: ioc_lookup (многоисточниковый IOC: ThreatFox + URLhaus + Feodo Tracker, автоопределение типа), hash_lookup (семейство вредоносных программ по хешу файла, MalwareBazaar), threat_intel (только URLhaus на уровне домена). Бесплатно: 30/час, Pro: 500/час. Возвращает {url, host, is_malicious, is_stale, urlhaus_host:{found,urls_online,url_count}, urlhaus_url:{found,threat,tags,status}, threat_level, summary}.

Параметры

  • urlstringобязательный

    Full URL to check, including protocol (e.g. 'https://suspicious-login.com/verify', 'http://evil.com/payload.exe')

phone_lookupтолько чтениеидемпотентныйвнешний мир

Проверяет и анализирует номер телефона: страна, регион, оператор, тип линии (мобильный/городской/VoIP), часовой пояс, отформатированные версии. Используется для проверки легитимности номера и выявления рисков мошенничества. Требуется формат E.164 (+1234567890). Сопутствующие инструменты OSINT для проверки личности: username_lookup (поиск по нику на соцплатформах), email_disposable (сигнал одноразовой почты для связанного email). Бесплатно: 30/ч, Pro: 500/ч. Возвращает {valid, country, region, carrier, carrier_status, line_type, timezone, formats}. carrier опускается в ответе, если libphonenumber не содержит данных для этого региона (US/CA/GB и другие регионы с ограничениями MNP); всегда смотрите carrier_status: 'known' означает, что оператор указан, 'unsupported_region' — мы не можем определить оператора (не делайте вывод, что у номера его нет).

Phone Lookup

Проверяет и анализирует номер телефона: страна, регион, оператор, тип линии (мобильный/городской/VoIP), часовой пояс, отформатированные версии. Используется для проверки легитимности номера и выявления рисков мошенничества. Требуется формат E.164 (+1234567890). Сопутствующие инструменты OSINT для проверки личности: username_lookup (поиск по нику на соцплатформах), email_disposable (сигнал одноразовой почты для связанного email). Бесплатно: 30/ч, Pro: 500/ч. Возвращает {valid, country, region, carrier, carrier_status, line_type, timezone, formats}. carrier опускается в ответе, если libphonenumber не содержит данных для этого региона (US/CA/GB и другие регионы с ограничениями MNP); всегда смотрите carrier_status: 'known' означает, что оператор указан, 'unsupported_region' — мы не можем определить оператора (не делайте вывод, что у номера его нет).

Параметры

  • numberstringобязательный

    Phone number in E.164 format: + followed by country code and number, no spaces or dashes. Examples: '+14155552671' (US), '+905551234567' (TR), '+442071234567' (UK). Wrong: '0555-123-4567', '(415) 555-2671'

redirect_chainтолько чтениеидемпотентныйвнешний мир

Проходит HTTP-цепочку редиректов шаг за шагом, возвращая для каждого перехода {url, status_code, location, latency_ms}. Используйте, чтобы деобфусцировать сокращатели ссылок (bit.ly / t.co / lnkd.in), проверять подозрительные ссылки из фишинговых расследований или отслеживать маркетинговые редиректы. SSRF-защита: IP-адрес каждой цели редиректа повторно проверяется перед подключением (частные IP и не-HTTP схемы отклоняются). До 10 переходов; loop_detected=true, если очередной переход ведёт к уже виденному URL (мы прерываемся до повторной загрузки); truncated=true, если на 10-м переходе цепочка всё ещё содержит код 30x. Ограничение eTLD+1 (60 запросов/мин) расходуется один раз для начального хоста И один раз для каждого нового хоста — цепочка через 11 разных доменов не обходит лимит. Бесплатно: 30/час, Pro: 500/час. Возвращает {start_url, final_url, hops, hop_count, final_status, loop_detected, truncated, summary}. Возвращает 502 ErrorResponse при жёсткой ошибке загрузки (таймаут / TLS / соединение); 429 с Retry-After, если во время цепочки превышен лимит eTLD+1 для одного из переходов.

Redirect Chain

Проходит HTTP-цепочку редиректов шаг за шагом, возвращая для каждого перехода {url, status_code, location, latency_ms}. Используйте, чтобы деобфусцировать сокращатели ссылок (bit.ly / t.co / lnkd.in), проверять подозрительные ссылки из фишинговых расследований или отслеживать маркетинговые редиректы. SSRF-защита: IP-адрес каждой цели редиректа повторно проверяется перед подключением (частные IP и не-HTTP схемы отклоняются). До 10 переходов; loop_detected=true, если очередной переход ведёт к уже виденному URL (мы прерываемся до повторной загрузки); truncated=true, если на 10-м переходе цепочка всё ещё содержит код 30x. Ограничение eTLD+1 (60 запросов/мин) расходуется один раз для начального хоста И один раз для каждого нового хоста — цепочка через 11 разных доменов не обходит лимит. Бесплатно: 30/час, Pro: 500/час. Возвращает {start_url, final_url, hops, hop_count, final_status, loop_detected, truncated, summary}. Возвращает 502 ErrorResponse при жёсткой ошибке загрузки (таймаут / TLS / соединение); 429 с Retry-After, если во время цепочки превышен лимит eTLD+1 для одного из переходов.

Параметры

  • urlstringобязательный

    Full URL whose redirect chain to walk, e.g. 'https://bit.ly/3xyz' or 'http://example.com/old-path'. Must start with http:// or https://. Pass the URL exactly as you'd `curl -L` it; the server handles encoding.

robots_txtтолько чтениеидемпотентныйвнешний мир

Загружает и разбирает robots.txt целевого домена — карты сайта, правила allow/disallow для каждого User-agent, crawl-delay, директиву Host. Используйте ПЕРЕД краулингом/парсингом целевого сайта (seo_audit, brand_assets, redirect_chain), чтобы соблюдать опубликованные правила сайта. status_code=404 означает, что robots.txt не существует = неявное разрешение всего, согласно RFC 9309 §2.4. ContrastAPI выполняет запросы с `User-agent: ContrastAPI/<version> (+https://contrastcyber.com/bot)`, чтобы операторы сайтов могли опознать бота и отказать через robots.txt; мы соблюдаем `Disallow: /` для нашего UA в seo_audit и brand_assets. Ограничение на запросы для каждой eTLD+1 (60 запр/мин) не даёт превратить этот эндпоинт в оружие против одного сайта — вращение поддоменов сводится к тому же сегменту. Бесплатный: 30/ч, Pro: 500/ч. Возвращает {domain, fetched_url, status_code, sitemaps, user_agents:{ua:{allow,disallow,crawl_delay}}, host, truncated, summary}. Возвращает ErrorResponse с кодом 502, если целевой сервер отклонил соединение (отказ DNS/TCP/TLS); агент НЕ должен в этом случае считать, что robots нет — это сигнал об ошибке выше по цепочке.

Robots.txt

Загружает и разбирает robots.txt целевого домена — карты сайта, правила allow/disallow для каждого User-agent, crawl-delay, директиву Host. Используйте ПЕРЕД краулингом/парсингом целевого сайта (seo_audit, brand_assets, redirect_chain), чтобы соблюдать опубликованные правила сайта. status_code=404 означает, что robots.txt не существует = неявное разрешение всего, согласно RFC 9309 §2.4. ContrastAPI выполняет запросы с `User-agent: ContrastAPI/<version> (+https://contrastcyber.com/bot)`, чтобы операторы сайтов могли опознать бота и отказать через robots.txt; мы соблюдаем `Disallow: /` для нашего UA в seo_audit и brand_assets. Ограничение на запросы для каждой eTLD+1 (60 запр/мин) не даёт превратить этот эндпоинт в оружие против одного сайта — вращение поддоменов сводится к тому же сегменту. Бесплатный: 30/ч, Pro: 500/ч. Возвращает {domain, fetched_url, status_code, sitemaps, user_agents:{ua:{allow,disallow,crawl_delay}}, host, truncated, summary}. Возвращает ErrorResponse с кодом 502, если целевой сервер отклонил соединение (отказ DNS/TCP/TLS); агент НЕ должен в этом случае считать, что robots нет — это сигнал об ошибке выше по цепочке.

Параметры

  • domainstringобязательный

    Registrable domain to fetch robots.txt for (e.g. 'example.com', 'github.com'). No scheme, no path, no port. Subdomains accepted; the bot fetches https://<domain>/robots.txt with HTTP fallback.

scan_headersтолько чтениеидемпотентныйвнешний мир

Выполняет live HTTP GET и анализирует заголовки безопасности: CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Permissions-Policy, Referrer-Policy. Используйте для аудита заголовков живых сайтов; используйте check_headers, чтобы проверить уже имеющиеся у вас заголовки. Бесплатно: 30/ч, Pro: 500/ч. По умолчанию значения заголовков обрезаются до 500 символов (CSP на крупных сайтах может превышать 4 КБ); передайте include='full', чтобы получить полное сырое значение. Возвращает {headers_present, headers_missing, findings, total_score}.

Scan Headers

Выполняет live HTTP GET и анализирует заголовки безопасности: CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Permissions-Policy, Referrer-Policy. Используйте для аудита заголовков живых сайтов; используйте check_headers, чтобы проверить уже имеющиеся у вас заголовки. Бесплатно: 30/ч, Pro: 500/ч. По умолчанию значения заголовков обрезаются до 500 символов (CSP на крупных сайтах может превышать 4 КБ); передайте include='full', чтобы получить полное сырое значение. Возвращает {headers_present, headers_missing, findings, total_score}.

Параметры

  • domainstringобязательный

    Domain to scan live HTTP headers for (e.g. 'example.com', 'api.github.com')

  • includeenum

    Detail level. Default ('') returns slim findings — raw header values capped at 500 chars with total_value_length carrying the honest pre-truncation length. Pass 'full' to restore the full raw value (useful for inspecting full CSP directives on sites like GitHub where the CSP header exceeds 4 KB). Allowed: '' or 'full'.

    full
seo_auditтолько чтениеидемпотентныйвнешний мир

Одноразовый SEO-аудит главной страницы домена: композитная оценка от 0 до 100 + список `missing_signals` с конкретными исправлениями. Используйте перед тем, как предлагать SEO-услуги клиенту, при оценке маркетинговой зрелости лида или как структурированную предварительную проверку перед более глубокими инструментами аудита (Lighthouse / SEMrush). 10 правил аудита, каждое по 10 баллов: наличие title, длина title 30–60 символов (окно усечения в выдаче Google), наличие meta description, длина meta description 50–160 символов, ровно один H1, каноническая ссылка, >=3 OG-тегов, наличие JSON-LD, покрытие alt-текстом изображений (пропорционально), HTTPS. Только главная страница — мы НЕ сканируем сайт. Этический порог: robots.txt цели соблюдается — `Disallow: /` для ContrastAPI ИЛИ `*` возвращает 403 с `error.code = robots_txt_disallow`, и мы НЕ загружаем страницу. `Cache-Control: no-store`/`private` пропускает запись в наш кеш (`cache_respected=false` в ответе). Ограничение на уровне eTLD+1 для каждой цели (60 запросов/мин) предотвращает злоупотребление через смену поддоменов. Все строки/списки, полученные от цели, помечаются как `_untrusted`. Бесплатный: 30/час, Pro: 500/час. Возвращает `{domain, fetched_url, status_code, title_untrusted, meta_description_untrusted, canonical_url, h1_untrusted, h1_count, h2_count, h3_count, images_total, images_missing_alt, internal_link_count, external_link_count, og_tags, json_ld_present, score, missing_signals, cache_respected, summary}`. Возвращает 502 при ошибках DNS/TCP/TLS; 403 `robots_txt_disallow`, если цель отказалась от сканирования.

SEO Audit

Одноразовый SEO-аудит главной страницы домена: композитная оценка от 0 до 100 + список `missing_signals` с конкретными исправлениями. Используйте перед тем, как предлагать SEO-услуги клиенту, при оценке маркетинговой зрелости лида или как структурированную предварительную проверку перед более глубокими инструментами аудита (Lighthouse / SEMrush). 10 правил аудита, каждое по 10 баллов: наличие title, длина title 30–60 символов (окно усечения в выдаче Google), наличие meta description, длина meta description 50–160 символов, ровно один H1, каноническая ссылка, >=3 OG-тегов, наличие JSON-LD, покрытие alt-текстом изображений (пропорционально), HTTPS. Только главная страница — мы НЕ сканируем сайт. Этический порог: robots.txt цели соблюдается — `Disallow: /` для ContrastAPI ИЛИ `*` возвращает 403 с `error.code = robots_txt_disallow`, и мы НЕ загружаем страницу. `Cache-Control: no-store`/`private` пропускает запись в наш кеш (`cache_respected=false` в ответе). Ограничение на уровне eTLD+1 для каждой цели (60 запросов/мин) предотвращает злоупотребление через смену поддоменов. Все строки/списки, полученные от цели, помечаются как `_untrusted`. Бесплатный: 30/час, Pro: 500/час. Возвращает `{domain, fetched_url, status_code, title_untrusted, meta_description_untrusted, canonical_url, h1_untrusted, h1_count, h2_count, h3_count, images_total, images_missing_alt, internal_link_count, external_link_count, og_tags, json_ld_present, score, missing_signals, cache_respected, summary}`. Возвращает 502 при ошибках DNS/TCP/TLS; 403 `robots_txt_disallow`, если цель отказалась от сканирования.

Параметры

  • domainstringобязательный

    Registrable domain to audit SEO for (e.g. 'example.com', 'shopify.com'). No scheme, no path, no port. Strictly homepage-only — the bot fetches https://<domain>/ with HTTP fallback and audits that single page (we do NOT crawl).

sigma_rule_lookupтолько чтениеидемпотентный

Ищет одно правило Sigma по UUID из репозитория SigmaHQ (~3200 правил, обновляется ежедневно в 02:00 UTC). Возвращает полное правило: заголовок, описание, статус (stable/test/experimental/deprecated/unsupported), уровень (informational/low/medium/high/critical), источник логов (product/category/service), логику обнаружения, теги (включая attack.t#### — ссылки на ATT&CK-техники и cve.YYYY-#### — ссылки на CVE), автора, ссылки и дату изменения. Используется, чтобы получить известное правило для контекста (например, срабатывание SIEM-обнаружения) или изучить правило, найденное через REST-запрос sigma_rule_search. Когда правило содержит тег ATT&CK-техники или CVE, в ответе `next_calls` появляются atlas_technique_lookup / cve_lookup как естественные продолжения. Бесплатно: 30 запросов/ч, Pro: 500 запросов/ч. Возвращает {rule, next_calls}.

Sigma Rule Lookup

Ищет одно правило Sigma по UUID из репозитория SigmaHQ (~3200 правил, обновляется ежедневно в 02:00 UTC). Возвращает полное правило: заголовок, описание, статус (stable/test/experimental/deprecated/unsupported), уровень (informational/low/medium/high/critical), источник логов (product/category/service), логику обнаружения, теги (включая attack.t#### — ссылки на ATT&CK-техники и cve.YYYY-#### — ссылки на CVE), автора, ссылки и дату изменения. Используется, чтобы получить известное правило для контекста (например, срабатывание SIEM-обнаружения) или изучить правило, найденное через REST-запрос sigma_rule_search. Когда правило содержит тег ATT&CK-техники или CVE, в ответе `next_calls` появляются atlas_technique_lookup / cve_lookup как естественные продолжения. Бесплатно: 30 запросов/ч, Pro: 500 запросов/ч. Возвращает {rule, next_calls}.

Параметры

  • rule_idstringобязательный

    Sigma rule UUID (RFC 4122, 36 chars, hyphenated). Example: '195e1b9d-bfc2-4ffa-ab4e-35aef69815f8'. Obtained from the REST sigma_rule_search endpoint or external SIEM correlation.

ssl_checkтолько чтениеидемпотентныйвнешний мир

Анализирует SSL/TLS сертификат: оценка (A/B/C/D/F), версия протокола, cipher suite, цепочка сертификатов, срок действия, Subject Alternative Names и структурированные результаты проверки. Некорректные сертификаты (просроченные, самоподписанные, несовпадение имени хоста, ненадёжный корневой) возвращаются как результаты через valid=false + validation_errors[], а не как сбои конечной точки — так даже недоступный сертификат выдаёт полезную информацию. Оценка D = сертификат читается, но недействителен; F = просрочен, устаревший TLS или ошибка проверки. Используйте для аудита валидности сертификатов и обнаружения истекающих; для полного аудита домена используйте audit_domain. Бесплатно: 30/час, Pro: 500/час. Возвращает {grade, valid, validation_errors, protocol, cipher, issuer, subject, not_before, not_after, days_remaining, chain, san, warnings}.

SSL Check

Анализирует SSL/TLS сертификат: оценка (A/B/C/D/F), версия протокола, cipher suite, цепочка сертификатов, срок действия, Subject Alternative Names и структурированные результаты проверки. Некорректные сертификаты (просроченные, самоподписанные, несовпадение имени хоста, ненадёжный корневой) возвращаются как результаты через valid=false + validation_errors[], а не как сбои конечной точки — так даже недоступный сертификат выдаёт полезную информацию. Оценка D = сертификат читается, но недействителен; F = просрочен, устаревший TLS или ошибка проверки. Используйте для аудита валидности сертификатов и обнаружения истекающих; для полного аудита домена используйте audit_domain. Бесплатно: 30/час, Pro: 500/час. Возвращает {grade, valid, validation_errors, protocol, cipher, issuer, subject, not_before, not_after, days_remaining, chain, san, warnings}.

Параметры

  • domainstringобязательный

    Domain to check SSL/TLS certificate for (e.g. 'example.com', 'api.stripe.com')

subdomain_enumтолько чтениеидемпотентныйвнешний мир

Обнаруживает поддомены пассивными методами: логи сертификатов Certificate Transparency + DNS-брутфорс (без активного зондирования). Используйте для картирования поверхности атаки организации; неинвазивно. Ответ содержит next_calls — не более 5 подсказок ssl_check (по одной на первые пять поддоменов), чтобы триаж масштабировался при больших перечислениях без раздувания токенов; при необходимости извлекайте записи из хвоста по имени. Бесплатный: 30/час, Pro: 500/час. Возвращает {domain, count, subdomains, sources, found_via_wordlist, found_via_crtsh, crtsh_status, warnings, summary, next_calls}. Всегда проверяйте crtsh_status: 'ok' означает, что CT-поиск выполнен (поэтому малое количество — реально); 'timeout' / 'rate_limited' / 'unavailable' / 'error' означает, что CT-логи не ответили, и количество основано только на wordlist — реальная поверхность атаки, скорее всего, больше, повторите позже или сообщите пользователю об ограничении.

Subdomain Enum

Обнаруживает поддомены пассивными методами: логи сертификатов Certificate Transparency + DNS-брутфорс (без активного зондирования). Используйте для картирования поверхности атаки организации; неинвазивно. Ответ содержит next_calls — не более 5 подсказок ssl_check (по одной на первые пять поддоменов), чтобы триаж масштабировался при больших перечислениях без раздувания токенов; при необходимости извлекайте записи из хвоста по имени. Бесплатный: 30/час, Pro: 500/час. Возвращает {domain, count, subdomains, sources, found_via_wordlist, found_via_crtsh, crtsh_status, warnings, summary, next_calls}. Всегда проверяйте crtsh_status: 'ok' означает, что CT-поиск выполнен (поэтому малое количество — реально); 'timeout' / 'rate_limited' / 'unavailable' / 'error' означает, что CT-логи не ответили, и количество основано только на wordlist — реальная поверхность атаки, скорее всего, больше, повторите позже или сообщите пользователю об ограничении.

Параметры

  • domainstringобязательный

    Root domain to enumerate subdomains for (e.g. 'example.com', 'tesla.com')

tech_fingerprintтолько чтениеидемпотентныйвнешний мир

Определяет стек технологий веб-сайта: CMS, фреймворки, CDN, инструменты аналитики, веб-серверы, языки (через HTTP-заголовки + анализ HTML). Используйте для пассивной разведки; для полного аудита используйте audit_domain. Бесплатно: 30/час, Pro: 500/час. Возвращает {technologies: [{name, category, confidence%, version}]}.

Tech Fingerprint

Определяет стек технологий веб-сайта: CMS, фреймворки, CDN, инструменты аналитики, веб-серверы, языки (через HTTP-заголовки + анализ HTML). Используйте для пассивной разведки; для полного аудита используйте audit_domain. Бесплатно: 30/час, Pro: 500/час. Возвращает {technologies: [{name, category, confidence%, version}]}.

Параметры

  • domainstringобязательный

    Domain to fingerprint (e.g. 'example.com', 'shopify.com')

tech_stack_cve_auditтолько чтениеидемпотентный

Составной техстек + аудит CVE (только MCP, без REST-эндпоинта). Определяет технологии на целевом домене, запрашивает базу CVE по известным уязвимостям для каждого продукта, обогащает топ-10 кандидатов CVE федеральными сроками патчей из CISA KEV и проверяет наличие публичных эксплойтов/PoC. Одинаково для всех уровней — все данные берутся из локальных зеркал БД (без Shodan/AbuseIPDB), поэтому разграничения по уровням нет. Размер батча кандидатов CVE: 50. Стоимость: 10 токенов за вызов — бесплатно 30/час ≈ 3 аудита, Pro 500/час ≈ 50 аудитов. Возвращает {domain, technologies, cves_by_tech, kev_findings, exploit_findings, summary, next_calls}.

Tech Stack CVE Audit

Составной техстек + аудит CVE (только MCP, без REST-эндпоинта). Определяет технологии на целевом домене, запрашивает базу CVE по известным уязвимостям для каждого продукта, обогащает топ-10 кандидатов CVE федеральными сроками патчей из CISA KEV и проверяет наличие публичных эксплойтов/PoC. Одинаково для всех уровней — все данные берутся из локальных зеркал БД (без Shodan/AbuseIPDB), поэтому разграничения по уровням нет. Размер батча кандидатов CVE: 50. Стоимость: 10 токенов за вызов — бесплатно 30/час ≈ 3 аудита, Pro 500/час ≈ 50 аудитов. Возвращает {domain, technologies, cves_by_tech, kev_findings, exploit_findings, summary, next_calls}.

Параметры

  • domainstringобязательный

    Target domain to fingerprint and CVE-audit (e.g. 'example.com'). IPs and internal hostnames are rejected.

threat_intelтолько чтениеидемпотентныйвнешний мир

Проверяет домен по abuse.ch URLhaus на наличие известных URL-адресов распространения вредоносного ПО (один источник, для корреляции по нескольким каналам используйте ioc_lookup, который добавляет ThreatFox и, для IP-адресов, Feodo Tracker). Используйте для быстрой оценки угрозы на уровне домена; для конкретных URL используйте phishing_check. Бесплатно: 30/час, Pro: 500/час. Возвращает {malware_urls, threat_tags, threat_status, summary}.

Threat Intel

Проверяет домен по abuse.ch URLhaus на наличие известных URL-адресов распространения вредоносного ПО (один источник, для корреляции по нескольким каналам используйте ioc_lookup, который добавляет ThreatFox и, для IP-адресов, Feodo Tracker). Используйте для быстрой оценки угрозы на уровне домена; для конкретных URL используйте phishing_check. Бесплатно: 30/час, Pro: 500/час. Возвращает {malware_urls, threat_tags, threat_status, summary}.

Параметры

  • domainstringобязательный

    Domain to check for threats (e.g. 'suspicious-site.com', 'example.com')

threat_reportтолько чтениеидемпотентныйвнешний мир

Запрашивает полный профиль угроз для IP: данные хоста Shodan, репутация AbuseIPDB, ASN/геолокация и открытые порты. Используется для расследования IP и триажа оповещений SOC; для данных домена используйте domain_report. Примечание: вложенный блок asn всегда возвращает не более 50 префиксов IPv4/IPv6 - вызывайте asn_lookup с include_full_prefixes=True для полного списка объявленных префиксов. enrichment.vulns — это list[VulnInfo] с учётом серьёзности (cve_id + severity + cvss_v3) — BREAKING-изменение Phase 2 v1.16.0; до версии 1.16 это был list[str] идентификаторов CVE. Бесплатный: 30/час (стоимость 6 токенов), Pro: 500/час. Возвращает {ip, enrichment, abuseipdb, shodan, asn, threat_level}.

Threat Report

Запрашивает полный профиль угроз для IP: данные хоста Shodan, репутация AbuseIPDB, ASN/геолокация и открытые порты. Используется для расследования IP и триажа оповещений SOC; для данных домена используйте domain_report. Примечание: вложенный блок asn всегда возвращает не более 50 префиксов IPv4/IPv6 - вызывайте asn_lookup с include_full_prefixes=True для полного списка объявленных префиксов. enrichment.vulns — это list[VulnInfo] с учётом серьёзности (cve_id + severity + cvss_v3) — BREAKING-изменение Phase 2 v1.16.0; до версии 1.16 это был list[str] идентификаторов CVE. Бесплатный: 30/час (стоимость 6 токенов), Pro: 500/час. Возвращает {ip, enrichment, abuseipdb, shodan, asn, threat_level}.

Параметры

  • ipstringобязательный

    Public IPv4 or IPv6 address to investigate (e.g. '8.8.8.8', '1.1.1.1'). Private/reserved IPs are rejected.

username_lookupтолько чтениеидемпотентныйвнешний мир

Ищет имя пользователя на 15+ социальных и разработческих платформах (GitHub, Reddit, X/Twitter, LinkedIn, Instagram, TikTok, Discord, YouTube, Keybase, HackerOne и др.). Используется для OSINT-расследований и проверки личности. Бесплатно: 30 запросов в час, Pro: 500 запросов в час. Возвращает {username, total_found, platforms: [{name, exists, url, status_code}]}.

Username Lookup

Ищет имя пользователя на 15+ социальных и разработческих платформах (GitHub, Reddit, X/Twitter, LinkedIn, Instagram, TikTok, Discord, YouTube, Keybase, HackerOne и др.). Используется для OSINT-расследований и проверки личности. Бесплатно: 30 запросов в час, Pro: 500 запросов в час. Возвращает {username, total_found, platforms: [{name, exists, url, status_code}]}.

Параметры

  • usernamestringобязательный

    Username string to search across platforms, without @ prefix (e.g. 'torvalds', 'johndoe', 'elonmusk')

wayback_lookupтолько чтениеидемпотентныйвнешний мир

Извлекает снимки Wayback Machine для домена: первая запись, последняя, общее количество, список снимков. Используется для анализа истории и возраста домена; для полного аудита применяйте domain_report. Бесплатно: 30 запросов/час, Pro: 500/час. status='ok' означает, что число достоверно (даже если 0 — значит архивов точно нет). status='unavailable' — CDX превысил таймаут, сработало ограничение скорости или вернул 5xx — total_snapshots ОПУСКАЕТСЯ (неизвестно, НЕ ноль), и агенту НЕ СЛЕДУЕТ сообщать «нет снимков»; массив warnings[] содержит код ошибки cdx_* (cdx_timeout/cdx_rate_limited/cdx_unavailable/cdx_error/cdx_parse_error/cdx_body_too_large). Тяжёлые домены (kernel.org, microsoft.com, сам archive.org) часто приводят к таймауту CDX, несмотря на миллионы снимков — используйте archive_url для ручного просмотра. Возвращает {domain, status, total_snapshots, first_seen, last_seen, years_online, snapshots, archive_url, summary, warnings}.

Wayback Lookup

Извлекает снимки Wayback Machine для домена: первая запись, последняя, общее количество, список снимков. Используется для анализа истории и возраста домена; для полного аудита применяйте domain_report. Бесплатно: 30 запросов/час, Pro: 500/час. status='ok' означает, что число достоверно (даже если 0 — значит архивов точно нет). status='unavailable' — CDX превысил таймаут, сработало ограничение скорости или вернул 5xx — total_snapshots ОПУСКАЕТСЯ (неизвестно, НЕ ноль), и агенту НЕ СЛЕДУЕТ сообщать «нет снимков»; массив warnings[] содержит код ошибки cdx_* (cdx_timeout/cdx_rate_limited/cdx_unavailable/cdx_error/cdx_parse_error/cdx_body_too_large). Тяжёлые домены (kernel.org, microsoft.com, сам archive.org) часто приводят к таймауту CDX, несмотря на миллионы снимков — используйте archive_url для ручного просмотра. Возвращает {domain, status, total_snapshots, first_seen, last_seen, years_online, snapshots, archive_url, summary, warnings}.

Параметры

  • domainstringобязательный

    Domain to look up in web archives (e.g. 'example.com', 'archive.org')

whois_lookupтолько чтениеидемпотентныйвнешний мир

Получает данные регистрации WHOIS: регистратора, даты создания/истечения, DNS-серверы, статус. Используется для проверки владения доменом, возраста, срока истечения; для полного аудита используйте domain_report. Бесплатный: 30/час, Pro: 500/час. Возвращает {domain, whois: {registrar, creation_date, expiry_date, updated_date, name_servers, status, raw_length, error}, summary}.

WHOIS Lookup

Получает данные регистрации WHOIS: регистратора, даты создания/истечения, DNS-серверы, статус. Используется для проверки владения доменом, возраста, срока истечения; для полного аудита используйте domain_report. Бесплатный: 30/час, Pro: 500/час. Возвращает {domain, whois: {registrar, creation_date, expiry_date, updated_date, name_servers, status, raw_length, error}, summary}.

Параметры

  • domainstringобязательный

    Root domain to query WHOIS for (e.g. 'example.com', 'github.com')

Другие проверенные MCP-сервера

heurist-network/heurist-mesh-mcp-server

heurist-network/heurist-mesh-mcp-server

официальный

Сервер MCP на базе Heurist Mesh для Web3-аналитики: 30+ AI-агентов для анализа трендов, токенов и кошельков. Интегрируется с Claude, Cursor, оптимизирован для AI. Полезен разработчикам и трейдерам.

Python66
neo4j-contrib/mcp-neo4j

neo4j-contrib/mcp-neo4j

официальный

MCP-серверы Neo4j Labs: обрабатывают запросы на естественном языке, управляют облачными инстансами Aura и моделируют графовые схемы с хранением знаний. Совместимы с Claude Desktop и другими MCP-кли...

Python980
integromat/make-mcp-server

integromat/make-mcp-server

официальный

MCP-сервер для интеграции Make с AI-ассистентами. Вызывает сценарии Make по требованию, передавая параметры и возвращая JSON-результаты. Помогает автоматизаторам расширить возможности AI за счёт Ma...

TypeScript164
Label Studio MCP

Label Studio MCP

официальный

MCP сервер для интеграции с Label Studio: управляйте проектами разметки, задачами и предсказаниями через простые запросы. Создавайте проекты, импортируйте задачи, получайте аннотации и многое другое.

Python33
OctagonAI/octagon-deep-research-mcp

OctagonAI/octagon-deep-research-mcp

официальный

MCP сервер Octagon Deep Research для глубоких исследований — быстрее ChatGPT Deep Research и без ограничений. Отлично подходит для сбора данных, анализа рынков и академических изысканий, работая в Claude, Cursor и других MCP-клиентах.

JavaScript93
Google Calendar MCP

Google Calendar MCP

Сервер для интеграции Google Календаря с AI-ассистентами через MCP. Управляйте событиями, проверяйте занятость и обнаруживайте пересечения между несколькими календарями и аккаунтами. Поддерживает импорт событий из изображений и ссылок. Помогает автоматизировать планирование и анализ календаря.

TypeScript1158
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин