Поддержка языка XP в Visual Studio Code
Язык eXtraction and Processing (XP) используется для создания правил преобразования данных в процессе обработки событий. На языке XP вы можете разрабатывать правила нормализации, корреляции и обогащения событий.
Настоящее расширение разработано Dmitry Fedosov и контрибьютерами, оно позволяет разрабатывать и тестировать правила в VSCode и VSCodium, а также публиковать их в необходимый для вашего продукта формат.
Руководство по работе с расширением: https://vscode-xp.readthedocs.io/
Основные возможности
Возможности расширения:
- Просмотр и редактирование правил нормализации, агрегации, корреляции, обогащения и табличных списков.
- Создание из шаблонов правил корреляции, обогащения и нормализации.
- Просмотр, редактирование, создание интеграционных и модульных тестов для правил корреляции, обогащения и нормализации.
- Запуск интеграционных и модульных тестов для правил корреляции, обогащения и нормализации.
- Автоматическое дополнение ключевых слов, функций и типовых конструкций языка XP и полей таксономии.
- Статическая валидация исходного кода на типичные ошибки.
- Заполнение метаданных правил.
- Создание и редактирование правил локализации правил.
- Сбор графов правил, схемы и БД табличных списков.
- Проверка срабатываний всего графа корреляций на необработанные события.
- Распаковка и упаковка пакетов экспертизы в файлы формата KB.
Примечание. Для этих операций расширение использует дополнительные утилиты, которые доступны в отдельном репозитории.
Использование проекта VSCode XP Workspace
Вы можете легко получить готовое окружение для разработки на XP, если воспользуетесь проектом VSCode XP Workspace. В нём всё собрано в единый Docker-контейнер, а редактирование происходит через веб-версию VSCode. Подробности в репозитории проекта.
Нормализация событий
Для написания правил корреляции, в общем случае, Вам потребуются формулы нормализации событий. В нашем открытом репозитории с экспертизой вы cможете найти базовые формулы нормализации. В будущем там появятся другие виды правил на языке XP, созданные сообществом.
Разработчикам
Разработкой расширения занимается сообщество Security Experts Community. Вы можете принять участие в проекте и внести в него свою экспертизу. Актуальный список задач проекта публикуется в списке задач. В удобном виде со списком задач можно ознакомиться в проекте репозитория.
Компиляция
Чтобы скомпилировать расширение:
git clone https://github.com/Security-Experts-Community/vscode-xp
- В корне проекта выполните команду
npm install
.
Репозитории
Основной на GitHub: https://github.com/Security-Experts-Community/vscode-xp
Зеркало на Codeberg: https://codeberg.org/Security-Experts-Community/vscode-xp
Зеркало на GitFlic: https://gitflic.ru/project/security-experts-community/vscode-xp
Сборка расширения в установочный пакет
Перед сборкой установочного пакета расширения (*.vsix-файл) вам нужно в корне проекта выполнить команду npm install -g vsce
.
Чтобы собрать установочный пакет расширения, выполните команду vsce package -o vscode-xp.vsix
или запустите скрипт publish.py
в корне проекта.