UPinar/contrastapi

UPinar/contrastapi

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

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

ContrastAPI Banner

MCP Install in Claude Desktop contrastapi MCP server License: MIT

Security intelligence, built for AI agents. Give your agent grounded answers about vulnerabilities, threats, and attack surface — backed by authoritative sources (NVD, CISA KEV, FIRST EPSS, MITRE ATLAS & D3FEND), never guesswork. CVE/KEV/CWE lookup with EPSS exploit-probability and composite risk scoring, domain & IP investigation, IOC enrichment, code-security checks, and live web intelligence. 55 tools, 7 Resources, and 3 Prompts — free, no API key, no signup.

中文 · Live: api.contrastcyber.com


Documentation

  • API Documentation — REST reference: 60+ endpoints, authentication, rate limits, token costs, and response envelope.
  • MCP Documentation — MCP tool-selection guide, 7 Resources, 3 Prompts, and copy-paste agent prompts.

Setup (MCP)

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

Часто задаваемые вопросы

Инструменты были проиндексированы:
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

Параметры
  • include_full_prefixesboolean

    Возвращает полный список объявленных префиксов (по умолчанию: False, возвращает первые 50). ipv4_count и ipv6_count всегда отражают точные итоги до усечения. Установите True для сетевого картографирования или аудита BGP-маршрутов. Cloudflare AS13335 объявляет более 2500 префиксов.

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

    Домен или IP-адрес для поиска информации об ASN (например, 'cloudflare.com', '8.8.8.8')

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

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

    Идентификатор тематического исследования MITRE ATLAS, формат 'AML.CS####' (например, 'AML.CS0000', 'AML.CS0014').

  • includeenum

    Уровень детализации. По умолчанию (если не указано или пусто) возвращается краткая версия - описание обрезается до 240 символов. Если передать 'full', будет подробное описание - описания примеров могут занимать 1-3 КБ.

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

Параметры
  • includeenum

    Уровень детализации. По умолчанию ('') возвращаются краткие записи (описание усекается до 240 символов). Передайте 'full', чтобы получить полное описание для каждой строки.

  • keywordstring

    Совпадение подстроки с названием и описанием примера использования (без учёта регистра). Минимум 2 символа. Пример: 'evasion', 'data poisoning'. Оставьте пустым, чтобы показать все.

  • limitinteger

    Максимум результатов для возврата. Диапазон: 1-200.

  • technique_idstring

    Фильтрует тематические исследования, которые включают этот идентификатор метода ATLAS, формат 'AML.T####' или 'AML.T####.###' (например, 'AML.T0051'). Опускает для любого метода.

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_idstringобязательный

    Формат идентификатора техники MITRE ATLAS: AML.T#### для техник и AML.T####.### для субтехник. Примеры: - AML.T0051 — инъекция промптов LLM (LLM Prompt Injection). - AML.T0000 — общий пример техники. - 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

Параметры
  • exclude_idstring

    Необязательный идентификатор техники ATLAS для исключения из результатов, формат 'AML.T####' или 'AML.T####.###'. Полезен при цепочке вызовов от atlas_technique_lookup для получения родственных техник без повторения самой техники в поиске по той же тактике.

  • includeenum

    Уровень детализации. По умолчанию ('') возвращает сокращённые записи (описание обрезается до 240 символов; для полного текста уточняйте через atlas_technique_lookup). Передайте 'full' для полного описания в каждой строке: большие каталоги (167 техник) могут вернуть около 100 КБ при full.

  • keywordstring

    Подстрока совпадает с именем техники и описанием (без учета регистра). Минимум 2 символа. Пример: 'prompt injection', 'model evasion', 'poisoning'. Опустите, чтобы перечислить все.

  • limitinteger

    Максимум результатов для возврата. Диапазон: 1-200.

  • maturityenum

    Фильтр по зрелости: «demonstrated» (наблюдалось в реальных атаках), «feasible» (теоретически возможно) или «realized» (новая классификация ATLAS, обрабатывать как «demonstrated»). Опустить для всех.

  • tacticstring

    Фильтр по ID тактики ATLAS, формат 'AML.TA####'. Примеры: 'AML.TA0002' (разведка), 'AML.TA0007' (подготовка атаки на ML). Опустите, чтобы показать все тактики.

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обязательный

    Корневой домен для аудита, без протокола или пути (например, 'example.com', 'shopify.com')

  • include_all_txtboolean

    Возвращает все TXT-записи в report.dns.txt (по умолчанию: False, сохраняются только SPF/DMARC/DKIM/MTA-STS/TLS-RPT). report.dns.total_txt_records всегда выводится с честным количеством до фильтрации. Фильтр по умолчанию удаляет строки проверки вендоров (google-site-verification, ms=, facebook-domain-verification и т.д.), которые раздувают ответ без сигнала безопасности. Устанавливайте True только когда нужен сырой список TXT-записей.

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обязательный

    Домен для сбора брендовых ассетов (например, 'github.com', 'stripe.com'). Без схемы, без пути, без порта. Бот загружает https://<domain>/ с запасным вариантом по HTTP.

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}.

Пакетный поиск техник ATLAS

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

    Список идентификаторов техник MITRE ATLAS в формате 'AML.T####' или 'AML.T####.###' (например, ['AML.T0051', 'AML.T0043', 'AML.T0000.000']). До 50 за вызов. Без учёта регистра; нормализованы и дедуплицированы на стороне сервера. Каждый id считается как 1 запрос в рамках лимита скорости.

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

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

    Список идентификаторов CVE в формате CVE-ГГГГ-ННННН (например, ['CVE-2024-3094', 'CVE-2021-44228', 'CVE-2023-44487']). Максимум 50 за запрос (одинаковый лимит для Free и Pro).

  • include_affected_productsboolean

    Возвращает полный список affected_products для каждого CVE в пакете (по умолчанию: False, для каждого CVE возвращаются первые 20). Установите True для массовых проверок зависимостей.

  • include_full_referencesboolean

    Возвращает полный список ссылок для каждого CVE в пакете (по умолчанию: True). total_references всегда возвращается. Установите False, чтобы обрезать каждый элемент до первых 10 записей при ограничении по размеру полезной нагрузки.

  • include_reference_tagsboolean

    Возвращает структурированные ссылки (references_full) для каждого CVE в пакете [{url, tags, source}]. Формат совпадает с cve_lookup (по умолчанию: True). Включает обнаружение исправлений по тегам в первую очередь для каждого элемента. Установите False для устаревших клиентов.

  • include_severity_breakdownboolean

    Возвращает severity_sources/consensus/disagreement для каждого CVE в пакетном режиме. Формат тот же, что и у cve_lookup (по умолчанию: True). Поля cvss_v2 и cvss_v2_vector всегда включаются в вывод (дополнительные поля, не отключаемые). Установите False, чтобы пропустить эти поля, если downstream-система не поддерживает дополнительные данные.

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}.

Массовый поиск IOC

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

    Список индикаторов компрометации: IP-адреса, домены, URL-адреса или хеши файлов (например, ['8.8.8.8', 'evil.com', 'd41d8cd98f00b204e9800998ecf8427e']). Максимум 50 за запрос (одинаковый лимит для Free и Pro). Тип каждого индикатора определяется автоматически.

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}.

Массовый поиск правил Sigma

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

    Список UUID правил Sigma в формате RFC 4122. До 50 на один вызов (одинаковый лимит для Free и Pro). Каждый rule_id учитывается как один запрос в часовой квоте. Проверка по элементам: id с неверным форматом возвращают status='invalid_format', неизвестные UUID возвращают status='not_found' — весь вызов при этом не завершается ошибкой.

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

Композитный CVE-риск-скор (0-100) — объединяет CVSS, EPSS, KEV и PoC в единый триажный сигнал для агентов. Формула: CVSS0.20 + EPSS0.35 + KEV0.30 + PoC0.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 в формате CVE-ГГГГ-NNNNN (например, '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, GitHub advisory или OSV, обычно первая исправленная версия), если диапазон версий совпал - поле не передаётся в ответе, когда у диапазона нет исключающей верхней границы или входная версия не указана; тогда текст рекомендации говорит 'Проверьте, затронут ли ... и обновитесь, если да' вместо 'Обновите до X.Y.Z или выше'.

Проверить зависимости

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

    Список пакетов зависимостей для аудита. Каждый элемент — объект с полем 'name' (обязательное, максимум 200 символов, например 'lodash', 'django', 'log4j-core') и необязательным полем 'version' (максимум 100 символов, например '4.17.0', '2.14.1'). Используются только поля 'name' и 'version'; остальные поля игнорируются. Пример: [{"name": "lodash", "version": "4.17.0"}, {"name": "django"}]. Максимум 50 элементов на запрос (одинаковый лимит для Free и 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}. Внешних запросов нет.

Проверить заголовки

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

    JSON-строка пар «имя-значение» HTTP-заголовков для проверки. Пример: '{"Strict-Transport-Security": "max-age=31536000", "X-Frame-Options": "DENY"}'. Включайте только заголовки, важные для безопасности, которые хотите проанализировать.

  • includeenum

    Уровень детализации. Значение по умолчанию ('') возвращает краткие результаты — необработанные значения заголовков обрезаются до 500 символов, а поле total_value_length содержит честную длину до обрезки. Передайте '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}. Данные не сохраняются.

Проверка инъекции

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

    Строка исходного кода для сканирования на предмет уязвимостей инъекций (может быть отдельным файлом или фрагментом кода).

  • languageenum

    Язык программирования кода. Должен быть одним из: python, javascript, typescript, java, go, ruby, shell, bash, generic. Используйте 'generic', если не уверены.

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

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

Проверить секреты

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

    Строка исходного кода для сканирования на предмет секретов (может быть отдельным файлом или фрагментом кода)

  • languageenum

    Язык программирования кода. Должен быть одним из: python, javascript, typescript, java, go, ruby, shell, bash, generic. Используйте 'generic', если не уверены.

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

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

    Корневой домен для сканирования, без протокола или пути (например, 'example.com'). Голые IP-адреса и домены, резолвящиеся в приватные адреса, отклоняются.

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

Параметры
  • includeenum

    Уровень детализации для каждого результата. По умолчанию ('') возвращаются компактные элементы списка (cve_id, summary, severity, cvss_v3, cwe_id, epss, kev, total_products, published, modified, sources). Передайте 'full', чтобы дополнительно получить description, cvss_breakdown, affected_products, references, first_seen_source, first_seen_at. Компактный формат по умолчанию исключает дублирование description/summary, которое раздувает списки из 50 элементов. Поле verdict находится в корне ответа, а не в каждой строке (дедупликация экономит около 40% трафика). Допустимые значения: '' или 'full'.

  • limitinteger

    Максимальное количество возвращаемых результатов. Диапазон: 1-200.

  • offsetinteger

    Пропускает N результатов для пагинации.

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

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

    Идентификатор CVE в формате CVE-ГГГГ-NNNNN (например, 'CVE-2021-44228', 'CVE-2024-3094')

  • include_affected_productsboolean

    Возвращает полный список affected_products (по умолчанию: False, возвращает первые 20). Установите True для массовых аудитов или сканирования зависимостей CVE класса Log4j с 50+ продуктами.

  • include_full_referencesboolean

    Возвращает полный список ссылок (по умолчанию: True, возвращает все ссылки). total_references всегда выводится с точным числом; определение URL патча всегда выполняется по полному списку, поэтому patch_url/patch_available не затрагиваются. Установите False, чтобы сократить до первых 10 записей при ограниченной пропускной способности.

  • include_reference_tagsboolean

    Возвращает структурированное поле references_full с объектами [{url, tags, source}] (теги ссылок NVD + источник происхождения) (по умолчанию: True). Проверяет, какие ссылки являются пропатчами вендора (tags=['Patch']), какие — эксплойтами PoC (tags=['Exploit']), а какие — обсуждениями в почтовых рассылках. Определение URL пропатчей в первую очередь опирается на теги, когда заполнен refs_with_tags; устаревшие кэшированные строки используют резервный вариант через регулярные выражения. Установите значение False, чтобы пропустить структурированный формат для устаревших клиентов.

  • include_severity_breakdownboolean

    Возвращает severity_sources, severity_consensus и severity_disagreement (разбивка severity по нескольким источникам) (по умолчанию: True). Показывает разногласия вендоров (например, CVE-2023-38545 NVD-CRITICAL против GHSA-HIGH). cvss_v2 и cvss_v2_vector возвращаются всегда (аддитивные, не опциональные). Consensus определяется голосованием большинства источников, при равенстве голосов выбирается наивысшая severity (CRITICAL > HIGH > MEDIUM > LOW > NONE). Установите False, чтобы пропустить, если downstream не терпит дополнительные поля.

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

Параметры
  • cvss_maxnumber

    Максимальный базовый балл CVSS v3 (0.0-10.0). По умолчанию стоит 10.0 — фильтрации нет (это заглушка, не применяется). Если задать значение меньше 10.0, фильтр включится: CVE без указанного CVSS отсеиваются. Работает в паре с cvss_min, чтобы задать диапазон.

  • cvss_minnumber

    Минимальный базовый балл CVSS v3 (0.0–10.0). По умолчанию 0.0 = без фильтра (заглушка, не применяется). Установите > 0 для фильтрации — уязвимости с нулевым CVSS исключаются при активации. Используйте 7.0 для высокого и критического уровня, 9.0 — только для критического.

  • cwe_idstring

    Фильтр по идентификатору слабости CWE. Точное совпадение, без учёта регистра. Частые значения: CWE-79 (XSS), CWE-89 (SQL-инъекция), CWE-120 (переполнение буфера), CWE-78 (инъекция команд). Формат: CWE-<число>. Опустите, чтобы не фильтровать по CWE.

  • epss_minnumber

    Фильтр по минимальному баллу EPSS (0.0-1.0). EPSS прогнозирует вероятность эксплуатации. 0.5 = топ ~5% наиболее вероятных к эксплуатации. 0.0 = без фильтра.

  • includeenum

    Уровень детализации для каждого результата. По умолчанию (если не указано) возвращаются компактные элементы списка (cve_id, summary, severity, cvss_v3, cwe_id, epss, kev, total_products, published, modified, sources). Передайте 'full', чтобы также получить description, cvss_breakdown, affected_products, references, first_seen_source, first_seen_at — но делайте это только если пользователь явно запросил детализацию по каждому результату. Даже с 'full' поля affected_products и references могут быть усечены (точные количества показывает total_products и total_references); для гарантированно полных списков по отдельным CVE используйте cve_lookup. Для одиночного CVE лучше сразу вызывать cve_lookup; компактный формат по умолчанию снижает расход токенов примерно на 70% для запросов уровня Log4j. Обратите внимание: поле verdict лежит в корне ответа, а не в каждой строке (его вынесли отдельно, чтобы сэкономить около 40% объёма).

  • kevboolean

    Если это так, возвращай только CVE из каталога CISA Known Exploited Vulnerabilities (KEV) — они активно эксплуатируются в дикой природе.

  • limitinteger

    Максимальное количество возвращаемых результатов. Диапазон: 1-200.

  • offsetinteger

    Пропустить N результатов для пагинации. Используйте с limit для пролистывания результатов.

  • productstring

    Маркер продукта или вендора для фильтрации. ТОЧНОЕ совпадение (без учёта регистра) с каноническим CPE-маркером продукта/вендора — НЕ частичное или нечёткое совпадение, и НЕ обязательно общепринятое имя проекта. Часто встречающиеся имена, переименования вендоров и артефакты сборки отличаются от канонического маркера (например, современные CVE для nginx находятся в 'nginx_open_source'/'nginx_plus', вендор 'f5', а не 'nginx'; Maven-артефакт 'log4j-core' соответствует 'log4j'). Низкое или нулевое количество результатов для известного продукта обычно означает, что маркер отличается — не предполагайте, что покрытие полное. Для списков зависимостей используйте check_dependencies, а для полного технологического стека домена — tech_stack_cve_audit (оба автоматически нормализуют маркеры). Совпадение по продукту означает, что для этого продукта существуют CVE, но не то, что конкретная запущенная версия уязвима — проверяйте, входит ли запущенная версия в диапазон affected для каждой CVE. Опустите параметр, чтобы искать по всем продуктам.

  • published_afterstring

    Нижняя граница даты публикации включительно в формате ГГГГ-ММ-ДД (UTC). Указывайте её, когда пользователь называет начальную точку, например: «с 2015 года» → «2015-01-01», «после марта 2024» → «2024-03-01». Не указывайте, чтобы не ограничивать нижнюю границу. Комбинируйте с published_before для диапазонов.

  • published_beforestring

    Верхняя граница даты публикации включительно в формате ГГГГ-ММ-ДД (UTC). Используйте это, когда пользователь называет конечную точку, например «до 2020» → «2019-12-31», «до 2023» → «2023-12-31». Опустите, чтобы не ограничивать верхнюю границу. Комбинируйте с published_after для диапазонов.

  • severityenum

    Уровень серьезности CVSS. Должен быть одним из: CRITICAL, HIGH, MEDIUM, LOW. Опустите для всех уровней серьезности.

  • sortenum

    Порядок сортировки результатов. Должен быть одним из: published_desc (сначала новые), epss_desc (сначала наиболее эксплуатируемые), cvss_desc (сначала наиболее критичные). Если не указано, по умолчанию — сначала новые (default=published_desc).

  • vendorstring

    Фильтрует по имени производителя (без учёта регистра). Если используется вместе с product, оба значения должны соответствовать одной строке CPE - это предотвращает ложные совпадения между строками. Пример: vendor=apache, product=struts.

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

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

    Идентификатор CWE — принимает 'CWE-79', 'cwe-79' или просто '79'. Часто используемые значения: CWE-79 (XSS), CWE-89 (SQL-инъекция), CWE-78 (инъекция команд), CWE-502 (десериализация), CWE-22 (обход пути), CWE-120 (переполнение буфера).

  • includeenum

    Уровень детализации. По умолчанию ('') возвращается сокращённая запись (первые 3 mitigation, первые 3 example; extended_description равно null). total_mitigations / total_examples всегда показывают честное количество до усечения. Передайте 'full', чтобы заполнить extended_description и получить полные списки mitigation и examples.

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_technique_idsstring[]обязательный

    Список идентификаторов техник ATT&CK (T#### или T####.###) для оценки. Максимум 500 — лишние записи отбрасываются на стороне сервера. Пример: ['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: защита от атак

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

    Сопоставляет идентификаторы техник ATT&CK в формате 'T####' или 'T####.###' (например, 'T1059', 'T1550.001'). Используйте это, чтобы перейти от результатов CVE/ATLAS к мерам смягчения D3FEND.

  • exclude_idstring

    Необязательный slug защиты D3FEND для исключения из списка защит. Применяется при цепочке вызовов из d3fend_defense_lookup, чтобы исходная защита не повторялась в её собственных результатах 'see also'.

  • includeenum

    Уровень детализации. По умолчанию (если параметр опущен или пуст) возвращаются компактные строки (без детерминированной онтологии uri — популярные T-коды с 15+ защитами экономят около 900 символов). Передайте 'full', чтобы получать uri в каждой строке.

  • limitinteger

    Ограничение на длину массива defenses. По умолчанию — 30; популярные T-коды (T1059, T1078) соответствуют 30–50+ защитам. total и coverage_by_tactic всегда отражают реальное количество до усечения.

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

Ищет технику защиты MITRE D3FEND. D3FEND — канонический защитный аналог ATT&CK: каждая защита относится к одной из 7 тактик (Model/Harden/Detect/Isolate/Deceive/Evict/Restore) и может быть нацелена на конкретный цифровой артефакт (например, 'Access Token'). В ответе содержится attack_techniques: список ATT&CK T-кодов, которые эта защита нейтрализует. Используйте после 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_idstringобязательный

    Слаг защиты D3FEND из фрагмента URI онтологии (CamelCase), например, 'TokenBinding', 'FileHashing', 'CertificatePinning'.

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

Ищет в каталоге защитных техник MITRE D3FEND по ключевому слову, тактике или целевому артефакту. Ответ по умолчанию — SLIM (убирает uri из каждой строки, экономит ~60 символов на строку, ~30% на популярных запросах); передайте include='full' для полной записи. Передайте exclude_id при последовательном вызове из d3fend_defense_lookup, чтобы пропустить саму себя при поиске родственных артефактов. Используйте для поиска защит, применимых к заданной модели угроз - например, 'какие защиты усиливают токены доступа?' (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

Параметры
  • artifactstring

    Фильтруйте по точному целевому цифровому артефакту (без учёта регистра), например 'Access Token', 'File', 'Process'. Оставьте пустым для любого артефакта.

  • exclude_idstring

    Необязательный слаг защиты D3FEND (в CamelCase, например 'TokenBinding') для исключения из результатов. Полезно при цепочке вызовов от d3fend_defense_lookup, чтобы исходная защита не повторялась в списке её же соседей. Пропускайте, если не нужно.

  • includeenum

    Уровень детализации. По умолчанию (если не указано или пусто) возвращаются компактные строки — поле uri отбрасывается, экономя около 60 символов на строку. Если передать full, поле uri будет включено в каждую строку. Поле defense_id возвращается всегда и однозначно идентифицирует защиту.

  • keywordstring

    Поиск по подстроке в метке защиты, описании или parent_label (без учёта регистра). Минимум 2 символа. Пример: «token», «hashing», «sandbox». Если опустить - выводится полный список.

  • limitinteger

    Максимум результатов для возврата. Диапазон: 1-200.

  • tacticenum

    Фильтруйте по тактике D3FEND. Одна из: Model, Harden, Detect, Isolate, Deceive, Evict, Restore. Опустите для всех тактик.

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

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

    Корневой домен для запроса, без протокола или пути (например, '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

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

    Корневой домен для анализа, без протокола или пути (например, 'example.com', 'shopify.com')

  • include_all_txtboolean

    Возвращает каждую TXT-запись (по умолчанию: False, сохраняются только SPF/DMARC/DKIM/MTA-STS/TLS-RPT). dns.total_txt_records всегда возвращается с честным количеством до фильтрации. Фильтр по умолчанию отбрасывает строки проверки вендоров (google-site-verification, ms=, facebook-domain-verification и т. д.), которые раздувают ответ без сигнала безопасности. Устанавливайте True, только когда нужна полная инвентаризация TXT.

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

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

    Полный адрес электронной почты для проверки (например, '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

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

    Домен для анализа конфигурации электронной почты (например, '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/час.

Состояние безопасности электронной почты

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

    Домен для аудита состояния аутентификации почты (например, 'example.com')

  • selectorsstring | null

    Необязательные пользовательские селекторы DKIM через запятую для проверки

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

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

    Полный адрес электронной почты для проверки (например, 'admin@example.com', 'user@gmail.com'). Должен содержать '@'.

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 в формате CVE-ГГГГ-NNNNN (например, 'CVE-2021-44228', 'CVE-2024-3094')

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

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

    Регистрируемый домен для аудита на предмет видимости в ИИ и готовности к GEO (например, 'example.com', 'shopify.com'). Без схемы, без пути, без порта. Только главная страница — бот загружает https://<домен>/ с фолбэком на HTTP (мы НЕ сканируем сайт).

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}.

Получить детали CVSS

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

    CVSS v3.0 или v3.1 векторная строка, например 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'. Векторы v2 отклоняются — используйте поле cvss_v2_vector в cve_lookup, если нужна версия 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}.

Поиск по хешу

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

    Хэш файла для поиска. Принимает MD5 (32 символа), SHA-1 (40 символов) или SHA-256 (64 символа). Только строчные hex-символы, без пробелов. Пример: '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 (индикаторов компрометации).

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

    Индикатор компрометации: IP-адрес, доменное имя, полный URL или хэш файла в формате MD5/SHA1/SHA256 (например, '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

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

    IPv4 или IPv6 адрес для исследования (например, '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

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

    Идентификатор CVE в формате CVE-ГГГГ-NNNNN (например, '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}.

Проверка пароля

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

    Полный SHA-1 хэш пароля в виде 40 строчных шестнадцатеричных символов (например, '5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8' для '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}.

Проверка на фишинг

Параметры
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

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

    Номер телефона в формате E.164: +, затем код страны и номер, без пробелов и дефисов. Примеры: '+14155552671' (США), '+905551234567' (Турция), '+442071234567' (Великобритания). Неправильно: '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 для одного из переходов.

Цепочка перенаправлений

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

    Полный URL, по которому нужно пройти цепочку перенаправлений, например, 'https://bit.ly/3xyz' или 'http://example.com/old-path'. Должен начинаться с http:// или https://. Передавайте URL точно так же, как вы бы передали его в curl -L; сервер обрабатывает кодировку.

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

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

    Домен для получения robots.txt (например, 'example.com', 'github.com'). Без схемы, без пути, без порта. Допускаются субдомены; бот получает https://<domain>/robots.txt с откатом на HTTP.

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обязательный

    Домен, для которого нужно сканировать актуальные HTTP-заголовки (например, 'example.com', 'api.github.com')

  • includeenum

    Уровень детализации. По умолчанию ('') возвращаются краткие результаты — значения сырых заголовков обрезаются до 500 символов, а total_value_length содержит честную длину до обрезки. Передайте 'full', чтобы восстановить полное значение (полезно для просмотра полных директив CSP на сайтах вроде GitHub, где заголовок CSP превышает 4 КБ). Допустимые значения: '' или '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-аудит

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

    Регистрируемый домен для аудита SEO (например, 'example.com', 'shopify.com'). Без схемы, без пути, без порта. Только главная страница — бот запрашивает https://<домен>/ с запасным вариантом по HTTP и проверяет только эту страницу (мы НЕ обходим сайт).

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обязательный

    UUID правила Sigma (RFC 4122, 36 символов, с дефисами). Пример: '195e1b9d-bfc2-4ffa-ab4e-35aef69815f8'. Получается из REST-эндпоинта sigma_rule_search или внешней корреляции SIEM.

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

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

    要检查SSL/TLS证书的域名(例如:'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

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

    Корневой домен для перечисления поддоменов (например, 'example.com', 'tesla.com')

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

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

Технический отпечаток

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

    Домен для идентификации (например, '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}.

Аудит CVE стека технологий

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

    Целевой домен для fingerprint-анализа и аудита CVE (например, 'example.com'). IP-адреса и внутренние hostname отклоняются.

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

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

    Домен для проверки на угрозы (например, '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}.

Отчет об угрозах

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

    Публичный IPv4 или IPv6 адрес для исследования (например, '8.8.8.8', '1.1.1.1'). Частные и зарезервированные IP отклоняются.

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обязательный

    Строка имени пользователя для поиска по платформам, без префикса @ (например, '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

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

    Домен для поиска в веб-архивах (например, '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-запрос

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

    Корневой домен для запроса WHOIS (например, 'example.com', 'github.com')

Выберите клиент, чтобы установить UPinar/contrastapi:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "upinar-contrastapi-t3gsr8wcsa": {
      "type": "http",
      "url": "https://api.contrastcyber.com/mcp/"
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "upinar-contrastapi-t3gsr8wcsa": {
      "type": "http",
      "url": "https://api.contrastcyber.com/mcp/"
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "upinar-contrastapi-t3gsr8wcsa": {
      "type": "http",
      "url": "https://api.contrastcyber.com/mcp/"
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"upinar-contrastapi-t3gsr8wcsa\",\"type\":\"http\",\"url\":\"https://api.contrastcyber.com/mcp/\"}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "upinar-contrastapi-t3gsr8wcsa": {
      "type": "http",
      "url": "https://api.contrastcyber.com/mcp/"
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add --transport http upinar-contrastapi-t3gsr8wcsa https://api.contrastcyber.com/mcp/

Либо через JSON-конфиг:

claude mcp add-json upinar-contrastapi-t3gsr8wcsa "{\"type\":\"http\",\"url\":\"https://api.contrastcyber.com/mcp/\"}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add upinar-contrastapi-t3gsr8wcsa --url https://api.contrastcyber.com/mcp/

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.upinar-contrastapi-t3gsr8wcsa]
url = "https://api.contrastcyber.com/mcp/"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите UPinar/contrastapi.

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "upinar-contrastapi-t3gsr8wcsa": {
      "type": "http",
      "url": "https://api.contrastcyber.com/mcp/"
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "upinar-contrastapi-t3gsr8wcsa": {
      "type": "http",
      "url": "https://api.contrastcyber.com/mcp/",
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например upinar-contrastapi-t3gsr8wcsa.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: upinar-contrastapi-t3gsr8wcsa
    type: http
    url: https://api.contrastcyber.com/mcp/
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "upinar-contrastapi-t3gsr8wcsa": {
      "type": "http",
      "url": "https://api.contrastcyber.com/mcp/"
    }
  }
}

Похожие MCP-сервера

fr0gger/MCP_Security

fr0gger/MCP_Security

от fr0gger

MCP сервер для поиска и анализа угроз через API ORKL. Предоставляет инструменты для детального просмотра отчётов, threat actors и источников. Полезен специалистам по кибербезопасности для быстрого доступа к данным разведки угроз.

Python⭐ 52
ppcvote/misp-mcp-server

ppcvote/misp-mcp-server

от ppcvote

MCP сервер для безопасного доступа LLM-агентов к платформе MISP. С защитой от prompt-инъекций и read-only. 8 инструментов для поиска событий, атрибутов и тегов. Для аналитиков ИБ и threat intel команд.

TypeScript⭐ 2
infai-tech/vulnfeed-mcp

infai-tech/vulnfeed-mcp

от infai-tech

MCP инструмент для сканирования зависимостей проектов на уязвимости. Обогащает EPSS-оценками, рекомендует исправления. Поддерживает npm, pip и Go. Помогает разработчикам мониторить безопасность.

Python⭐ 1
alberthild/shieldapi-mcp

alberthild/shieldapi-mcp

от alberthild

MCP-сервер для безопасности AI-агентов: детекция промпт-инъекций, сканирование навыков на уязвимости цепочки поставок, проверка URL, паролей, email и IP. Бесплатно 10 вызовов в день без регистрации...

JavaScript⭐ 1
qianniuspace/mcp-security-audit

qianniuspace/mcp-security-audit

от qianniuspace

MCP-сервер Security Audit Tool проверяет npm-зависимости на уязвимости в реальном времени. Он подключается к удалённому реестру npm и выдаёт отчёты с уровнями критичности, CVSS-оценками и рекомендациями по исправлению. Полезен разработчикам для автоматизации безопасности в MCP-среде.

TypeScript⭐ 57
gridinsoft/mcp-inspector

gridinsoft/mcp-inspector

от gridinsoft

MCP сервер для анализа безопасности доменов и URL через базу GridinSoft. Помогает ИИ-агентам проверять репутацию сайтов, выявлять фишинг и вредоносное ПО. Подходит разработчикам и специалистам по б...

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

Лука Никитин