BC detecting-modbus-protocol-anomalies
Обнаруживает аномалии в промышленных трафиках Modbus/TCP и Modbus RTU путем мониторинга кодов функций, проверки диапазонов регистров, анализа времени и глубокой проверки пакетов с использованием анализатора Modbus Zeek, IDS Suricata с правилами OT и моделей цепей Маркова на Python для нормальных последовательностей транзакций. Используйте для развертывания IDS Modbus в средах OT, установки базовых показателей шаблонов опроса, расследования подозрительных трафиков Modbus или создания списков разрешенных кодов функций.
машинный переводПоказать оригиналСкрыть оригинал«Detect anomalies in Modbus/TCP and Modbus RTU industrial traffic via f…»
Detect anomalies in Modbus/TCP and Modbus RTU industrial traffic via function code monitoring, register range validation, timing analysis, and deep packet inspection, using Zeek's Modbus analyzer, Suricata IDS with OT rules, and Python Markov chain models of normal transaction sequences. Use for deploying Modbus IDS in OT environments, baselining polling patterns, investigating suspicious Modbus traffic, or building function code allowlists.
Обнаруживает аномалии в промышленных трафиках Modbus/TCP и Modbus RTU путем мониторинга кодов функций, проверки диапазонов регистров, анализа времени и…
Как процесс C 63/100 · Есть пробелы — слабые места: ошибки и развилки, повторный запуск, отчётность по ходу
Как улучшить
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 0
✓ Критических и высоких находок нет
Просканировано файлов: 4. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- заметка
frontmatter-keyнеизвестное поле фронтматтера "domain" - заметка
frontmatter-keyнеизвестное поле фронтматтера "subdomain" - заметка
frontmatter-keyнеизвестное поле фронтматтера "nist_ai_rmf" - заметка
frontmatter-keyнеизвестное поле фронтматтера "atlas_techniques" - заметка
frontmatter-keyнеизвестное поле фронтматтера "nist_csf" - заметка
frontmatter-keyнеизвестное поле фронтматтера "mitre_attack"
Процессный рейтинг: все десять параметров 63/100
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 30Повторный запуск. Изменяющих операций: 2, без проверки текущего состояния
- 50Когда включается. Не сказано, при каком запросе скилл включается
- 60Инструменты и файлы. Используются инструменты (python), но во frontmatter они не объявлены
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 70Входы и предусловия. Входные данные и предусловия перечислены
- 100Шаги. Шагов: 14
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 3505 токенов
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- -41 справочных файлов, но SKILL.md на них не ссылается: модель их не откроет
- -31 из 1 скриптов не упомянуты в SKILL.md
- +2Инструкции на одном языке
- +4Описание говорит, когда скилл НЕ применять
- +3Длина description 445 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 8 заголовков
- +3Пошаговые инструкции: 14 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (2 блоков кода)
- +1Лицензия указана
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 82.