Приём пользовательских событий безопасности через API

Материал из Документация Ключ-АСТРОМ
Версия от 14:06, 21 сентября 2026; IKuznetsov (обсуждение | вклад) (Новая страница: « = Приём пользовательских событий безопасности через API = Принимайте события безопасности из любого источника и анализируйте их в одном рабочем процессе. == Начало работы == == Обзор == Ниже вы узнаете, как принимать внешние события безопасности из пользо...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Приём пользовательских событий безопасности через API

Принимайте события безопасности из любого источника и анализируйте их в одном рабочем процессе.

Начало работы

Обзор

Ниже вы узнаете, как принимать внешние события безопасности из пользовательских сторонних продуктов, чтобы получать аналитику Ключ-АСТРОМ по результатам уязвимостей из любого источника, поставщика или формата.

Пользовательский сторонний продукт — это любой продукт, для которого Ключ-АСТРОМ не предоставляет готовой интеграции.

Варианты использования

С принятыми данными вы можете реализовать различные сценарии, такие как:

  • Создание событий безопасности из приложения Investigations через OpenPipeline
  • Приём и обработка пользовательских результатов безопасности
  • Автоматизация и оркестрация результатов безопасности
  • Визуализация и анализ результатов безопасности

Требования

Для запроса принятых данных вам необходимо разрешение storage:security.events:read.

Активация и настройка

Чтобы начать приём данных, используйте один из вариантов ниже.

Встроенная конечная точка API

Параметр Значение
URL конечной точки https://{your-environment-id}.live.astromkey.com/platform/ingest/v1/security.events
Метод POST
Аутентификация Токен доступа
Область openpipeline.events_security
Полезная нагрузка application/json

Пользовательская конечная точка API

Параметр Значение
URL конечной точки https://{your-environment-id}.live.astromkey.com/platform/ingest/custom/security.events/<your-custom-endpoint-name>
Метод POST
Аутентификация Токен доступа
Область openpipeline.events_security.custom
Полезная нагрузка application/json

Детали

Как это работает

Вы принимаете свои данные через нашу встроенную конечную точку API или пользовательскую конечную точку API. Затем, в зависимости от выбранного варианта приёма, вы можете либо анализировать данные в своём формате, либо вручную сопоставить данные с соглашениями Семантического словаря.

Варианты приёма

Встроенная конечная точка API

  • Предустановленный бакет: события безопасности хранятся в бакете default_securityevents.
  • Фиксированный URL конечной точки: один URL для всех сценариев и продуктов.
  • Обогащение данных: к событию добавляется статическое поле event.kind == "SECURITY_EVENT", чтобы пометить его как событие безопасности.
  • Сопоставление: сопоставление не применяется; данные остаются в исходном формате. Это означает, что вы можете анализировать данные на основе своего формата и создавать пользовательские дашборды и рабочие процессы. В качестве альтернативы вы можете настроить конвейер обработки для ручного сопоставления данных с соглашениями Семантического словаря. Таким образом вы сможете использовать наш образец дашборда, рабочий процесс Jira и рабочий процесс Slack для визуализации данных и автоматизации уведомлений.

Пользовательская конечная точка API

  • Пользовательский бакет: вы можете выбрать или создать бакет, в котором будут храниться события безопасности.
  • Пользовательский URL конечной точки: вы можете настроить выделенные URL для конкретных сценариев или продуктов.
  • Обогащение данных: вы можете определить пользовательские обогащения данных.
  • Сопоставление: вы можете настроить свою конечную точку для сопоставления данных с соглашениями Семантического словаря. Таким образом вы сможете использовать наш образец дашборда, рабочий процесс Jira и рабочий процесс Slack для визуализации данных и автоматизации уведомлений. Подробности см. в разделе «Настройка конвейера обработки».

Коды ответов

Код Описание
202 Принято
400 Неверный запрос (в случае отсутствия тела или неправильного формата)
401 Неавторизовано (в случае отсутствия или недействительности токена)

Примеры

Пример JSON

[
  {
  "imageId": {
    "imageDigest": "sha256:9282579f5330ae90d22f21b1a9be944f893895f06e3bc1985f14d1cfc084c60c"
  },
  "imageScanFindings": {
    "findingSeverityCounts": {
      "HIGH": 125,
      "MEDIUM": 188,
      "LOW": 30,
      "UNDEFINED": 13,
      "INFORMATIONAL": 353,
      "CRITICAL": 6
    },
    "findings": [
      {
        "attributes": [
          { "key": "CVSS3_SCORE", "value": "9.8" },
          { "key": "package_version", "value": "4.19.269-1" },
          { "key": "package_name", "value": "linux" },
          {
            "key": "CVSS3_VECTOR",
            "value": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          }
        ],
        "description": "An issue was discovered in drivers/net/ethernet/intel/igb/igb_main.c in the IGB driver in the Linux kernel before 6.5.3. A buffer size may not be adequate for frames larger than the MTU.",
        "name": "CVE-2023-45871",
        "severity": "CRITICAL",
        "uri": "https://security-tracker.debian.org/tracker/CVE-2023-45871 "
      },
      {
        "attributes": [
          { "key": "CVSS3_SCORE", "value": "9.8" },
          { "key": "package_version", "value": "1:7.9p1-10+deb10u2" },
          { "key": "package_name", "value": "openssh" },
          {
            "key": "CVSS3_VECTOR",
            "value": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          }
        ],
        "description": "The PKCS#11 feature in ssh-agent in OpenSSH before 9.3p2 has an insufficiently trustworthy search path, leading to remote code execution if an agent is forwarded to an attacker-controlled system. (Code in /usr/lib is not necessarily safe for loading into ssh-agent.) NOTE: this issue exists because of an incomplete fix for CVE-2016-10009.",
        "name": "CVE-2023-38408",
        "severity": "CRITICAL",
        "uri": "https://security-tracker.debian.org/tracker/CVE-2023-38408 "
      },
      {
        "attributes": [
          { "key": "CVSS3_SCORE", "value": "9.8" },
          { "key": "package_version", "value": "2.7.16-2+deb10u1" },
          { "key": "package_name", "value": "python2.7" },
          {
            "key": "CVSS3_VECTOR",
            "value": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          }
        ],
        "description": "An XML External Entity (XXE) issue was discovered in Python through 3.9.1. The plistlib module no longer accepts entity declarations in XML plist files to avoid XML vulnerabilities.",
        "name": "CVE-2022-48565",
        "severity": "CRITICAL",
        "uri": "https://security-tracker.debian.org/tracker/CVE-2022-48565 "
      },
      {
        "attributes": [
          { "key": "CVSS3_SCORE", "value": "9.8" },
          { "key": "package_version", "value": "2.7.16-2+deb10u1" },
          { "key": "package_name", "value": "python2.7" },
          {
            "key": "CVSS3_VECTOR",
            "value": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          { "key": "CVSS2_VECTOR", "value": "AV:N/AC:L/Au:N/C:P/I:P/A:P" },
          { "key": "CVSS2_SCORE", "value": "7.5" }
        ],
        "description": "Python 3.x through 3.9.1 has a buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution in certain Python applications that accept floating-point numbers as untrusted input, as demonstrated by a 1e300 argument to c_double.from_param. This occurs because sprintf is used unsafely.",
        "name": "CVE-2021-3177",
        "severity": "CRITICAL",
        "uri": "https://security-tracker.debian.org/tracker/CVE-2021-3177 "
      }
    ],
    "imageScanCompletedAt": 1698376478,
    "vulnerabilitySourceUpdatedAt": 1698343825
  },
  "imageScanStatus": {
    "description": "The scan was completed successfully.",
    "status": "COMPLETE"
  },
  "nextToken": "ukD72mdD/mC8b5xV3susmJzzaTgp3hKwR9nRUW1yZZ63B5NL+m8CiI+qgoiLO0t5s6Oi9w2CQBANPaxpQTFWXxF/Sq7shr/h//oNXvOJ2XuWPSF3ox6DgxQztXUFyKzeGw+HpbYZAAxpHjJVELVXXnhpxAScZkKhVG85CbbUGfSPyuKcSeeHoNvQPGBdxCWD6CaKl4nFxtXyUeFRs3RV+mkX5FUxosMnBJepE2JbaoM9elE1niY2Rpq3BZrp/QeOyWdmjeuySi+2KZO03915df+6OMIfXtt3zclPZ+BGcdMgWoETrte2fkh2y1RDO3PI4OCohgCbjlTk9X6fYLWrrxwkhfWAIRekqToQq+S8BHEm1o82jxDoyKO0Et9UrZVIEFOofBkvenm5U+8XvgQ4V5kvMZZLa9DZykVDteq28OF+KCgjo7WHTbXMy1yh7jyRJ6A77N12YJfxYgv16JjkVgmDqGjlM3YJEH2o55SYTAnSsiBXiMvvq1RK1hl567SIstgGPMK3c0v7TGDnCE6o3EhP4FC73As6mj2q4uGkLf8eMQLi9ogBJ1UAzKCiCl3bxeTKuMz1W8hokdPauwuAd9uKg0vLdHmM6iftfrVhsgbbioNLy3R5jOon7X61YbIGF7fUOkaj72o37fpPd/JG2g==",
  "registryId": "123456789876",
  "repositoryName": "unguard-frontend"
}
]

Лицензирование и затраты

Информацию о выставлении счетов см. в разделе «События».