Перейти к основному содержимому
Версия: 2.0

Фильтрация IoC при загрузке


Инструкция описывает настройку фильтрации индикаторов компрометации (IoC), получаемых от API Solar TI Feeds. Можно ограничить типы IoC на уровне API и дополнительно отфильтровать индикаторы по давности или другим условиям в пайплайне.

Шаг 1. Откройте конфигурацию пайплайна​

Перейдите в директорию:

pkl/configs/

Выберите нужный файл пайплайна, например:

base_pipeline.pkl

Шаг 2. Ограничьте типы IoC на уровне API​

В блоке настроек FeedsAPIGenerator есть блок FeedsAPIRequestParams. В нём можно указать дополнительные параметры запроса, например типы индикаторов.

Пример:

types = new Listing {
"ipv4"
"domain"
"url"
"sha256"
}

В этом случае API вернёт только указанные типы индикаторов.

Шаг 3. Добавьте дополнительный фильтр в пайплайн​

Если нужно получать только активные IoC не старее N дней, используйте трансформер agent.Filter.

Пример для индикаторов типа IPv4, активных менее 365 дней назад:

transforms {
new agent.Filter{
name = "filter"
inputs {
"feeds-api-generator"
}
filters = new Listing {
"""last_seen.After(now().Add(-365*duration("24h")))"""
"""type in (["IPV4"])"""
}
}
}

Для другого количества дней замените 365 на нужное значение. Например, для 30 дней:

"""last_seen.After(now().Add(-30*duration("24h")))"""

Шаг 4. Укажите несколько типов в фильтре при необходимости​

Пример фильтра по нескольким типам:

"""type in (["IPV4", "DOMAIN", "URL", "SHA256"])"""

Точные названия типов проверяйте в базовой конфигурации агента:

pkl/internal/agent.pkl

Шаг 5. Сохраните конфигурацию и перезапустите агент​

docker compose down
docker compose up -d

Шаг 6. Проверьте результат​

Результаты работы агента сохраняются в:

./workdir/artifacts/

Логи работы:

./workdir/logs/agent.log
Важно

При фильтрации на уровне API агент получит и сохранит только указанные типы.

При фильтрации через agent.Filter из API будут получены все индикаторы и сохранены в БД агента, но в интеграцию попадут только прошедшие фильтр.