Поддержка языка eXtraction and Processing (XP) в Visual Studio CodeЯзык eXtraction and Processing (XP) используется для создания детектирующих правил на основе анализа событий c конечных точек, подобно Sigma-правилам. На языке XP вы можете разрабатывать правила нормализации, агрегации событий, их корреляции и обогащения. Быстро ознакомиться с процессом создания правил можно тут. Настоящее расширение разработано Dmitry Fedosov и контрибьютерами, оно позволяет разрабатывать и тестировать правила в VSCode и VSCodium, а также публиковать их в необходимый для вашего продукта формат. Руководство по работе с расширением (частично устарела, идёт процесс актуализации): https://vscode-xp.readthedocs.io/ Основные возможностиВозможности расширения:
Примечание. Для части этих операций расширение использует дополнительные утилиты, которые доступны в отдельном репозитории. Использование проекта VSCode XP WorkspaceВы можете легко получить готовое окружение для разработки на XP, если воспользуетесь проектом VSCode XP Workspace. В нём всё собрано в единый Docker-контейнер, а редактирование происходит через веб-версию VSCode. Подробности в репозитории проекта. Нормализация событийДля написания правил корреляции, в общем случае, Вам потребуются формулы нормализации событий. В нашем открытом репозитории с экспертизой вы сможете найти базовые формулы нормализации. В будущем там появятся другие виды правил на языке XP, созданные сообществом. РазработчикамРазработкой расширения занимается сообщество Security Experts Community. Вы можете принять участие в проекте и внести в него свою экспертизу. Актуальный список задач проекта публикуется в списке задач. В удобном виде со списком задач можно ознакомиться в проекте репозитория. КомпиляцияЧтобы скомпилировать расширение:
РепозиторииОсновной на 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 Компиляция всех частей проектаЧтобы вести разработку, нужно собрать клиент, сервер, ui тулкит для старых вью и новые вью со встраиванием реакта, используйте команду Для разработки webview выполните команду Сборка расширения в установочный пакетПеред сборкой установочного пакета расширения (*.vsix-файл) вам нужно в корне проекта выполнить команду Чтобы собрать установочный пакет расширения, выполните команду Если не подтягиваются изменения кода в процессе разработкиТакое очень редко, но бывает. Поочередно прописываем |