Плагины
Установка, настройка и разработка плагинов.
Плагины запускаются после проверки и получают отчёт JSON через стандартный ввод. С их помощью можно отправлять уведомления, создавать заявки или передавать данные в SIEM.
Установка и включение
tmaegis plugin install github.com/tmaegis/plugin-slack-notify # file, URL or GitHub release
tmaegis plugin install ./my-plugin.wasm --sha256 <digest> # pin the digest
tmaegis plugin list
tmaegis scan --auto-detect --plugin slack,jiraПлагины ищутся в каталоге плагинов (по умолчанию ./plugins, изменить можно через --plugin-dir). Чтобы включить их постоянно, укажите их в config.yaml в разделе plugins.enabled.
Напишите свой
Исполняемый плагин — это файл с именем tmaegis-plugin-<name> (на любом языке). Он читает отчёт JSON о проверке из stdin, а параметры — из переменных окружения.
#!/usr/bin/env sh
# TMAegis notifier plugin: posts a scan summary somewhere.
set -eu
PAYLOAD=$(cat)
FAILED=$(printf '%s' "$PAYLOAD" | grep -o '"failed_count":[0-9]*' | head -n1 | cut -d: -f2)
echo "failed controls: ${FAILED:-0}"Плагины WebAssembly выполняются в песочнице (wazero) и не имеют доступа к хосту, пока он не предоставлен.
Доступные плагины
jiraОфициальныйТип: executableTMAegis ITSM plugin: opens one Jira issue per failed critical/high control.
plugins/tmaegis-plugin-jira.py
notify-webhookОфициальныйТип: executableSample TMAegis Executable Plugin
plugins/tmaegis-plugin-notify-webhook.sh
slackОфициальныйТип: executableTMAegis notifier plugin: posts a scan summary to a Slack incoming webhook.
plugins/tmaegis-plugin-slack.sh
telegramОфициальныйТип: executableTMAegis notifier plugin: sends a scan summary to a Telegram chat.
plugins/tmaegis-plugin-telegram.sh
pci-dss-v4СообществоТип: wasmMaps findings to PCI DSS v4.0 requirements. Community plugin: contributions welcome.
github.com/tmaegis/plugin-pci-dss