От первого мотора до робота, который учится по демонстрациям: открытая дорожная карта по робототехнике на русском.
Robotics Roadmap 2026 предлагает план на 24 недели при занятиях по 2–3 часа в день. Обучение начинается с электроники и постепенно переходит к управлению и машинному обучению.
Внутри шесть модулей:
- Электроника, Python и Git - базовые схемы и инструменты.
- Arduino и ESP32 — моторы, датчики, линейный робот и балансир.
- CAD и 3D-печать — сборка робота-манипулятора.
- ROS 2 — симуляция, построение карты и автономная навигация.
- Управление и компьютерное зрение — регуляторы, кинематика, работа с камерой.
- LeRobot — сбор демонстраций и обучение робота.
Есть схемы подключения, примеры кода, списки компонентов, справочник по отладке и 30 идей проектов.
Начать можно без покупки железа — в симуляторах. Дальше предлагается оформлять проекты в портфолио: видео, схема, код и разбор того, что сломалось и как удалось исправить.
Полезная отправная точка для программиста, который хочет заставить свой код двигаться в физическом мире.
https://github.com/justxor/robotics-roadmap-2026/
Robotics Roadmap 2026 предлагает план на 24 недели при занятиях по 2–3 часа в день. Обучение начинается с электроники и постепенно переходит к управлению и машинному обучению.
Внутри шесть модулей:
- Электроника, Python и Git - базовые схемы и инструменты.
- Arduino и ESP32 — моторы, датчики, линейный робот и балансир.
- CAD и 3D-печать — сборка робота-манипулятора.
- ROS 2 — симуляция, построение карты и автономная навигация.
- Управление и компьютерное зрение — регуляторы, кинематика, работа с камерой.
- LeRobot — сбор демонстраций и обучение робота.
Есть схемы подключения, примеры кода, списки компонентов, справочник по отладке и 30 идей проектов.
Начать можно без покупки железа — в симуляторах. Дальше предлагается оформлять проекты в портфолио: видео, схема, код и разбор того, что сломалось и как удалось исправить.
Полезная отправная точка для программиста, который хочет заставить свой код двигаться в физическом мире.
https://github.com/justxor/robotics-roadmap-2026/
🔥6👍5❤3
🔥 Полный гайд по локальному запуску DeepSeek на русском: от домашнего ПК до сервера с 8 GPU
В открытом доступе появился репозиторий с руководством из 18 частей о том, как запустить DeepSeek V4, R1 и дистилляты у себя, без облака и интернета. Бесплатно, приватно и офлайн.
Внутри весь путь: выбор модели и расчёт железа, установка и настройка Ollama, llama.cpp, LM Studio, Open WebUI, vLLM и SGLang, работа через API и Python, подключение к IDE. Дальше промптинг, ускорение, RAG, агенты и fine-tuning, а в конце топ-30 приёмов, разбор ошибок, FAQ и готовые конфиги.
Для домашнего ПК основной вариант это R1-дистилляты от 1.5B до 70B. Запуск одной командой: ollama run deepseek-r1:8b. По таблицам гайда в кванте Q4 модель на 8B занимает 5-6 ГБ памяти, на 14B около 9-10 ГБ, на 32B около 20 ГБ, на 70B около 43 ГБ.
Старшие модели уже про серверное железо. DeepSeek-V4-Flash на 284B параметров, из них 13B активных, с контекстом 1M требует около 103 ГБ в 3-битном кванте. DeepSeek-V4-Pro на 1.6T параметров с 49B активными нужны 800 ГБ и больше, то есть сервер с 8 GPU.
Несколько практичных советов из гайда. Для русского языка брать модели от 14B, на меньших дистиллятах качество заметно проседает. Квант Q4_K_M считается стандартным выбором, а большая модель в низком кванте обычно лучше маленькой в высоком. Температура около 0.6 для R1 и 1.0 для V4. Проверять через ollama ps, что модель целиком на GPU. И не открывать порт Ollama 11434 в интернет: у API нет пароля.
Репозиторий: https://github.com/justxor/deepseek-local-guide-ru
В открытом доступе появился репозиторий с руководством из 18 частей о том, как запустить DeepSeek V4, R1 и дистилляты у себя, без облака и интернета. Бесплатно, приватно и офлайн.
Внутри весь путь: выбор модели и расчёт железа, установка и настройка Ollama, llama.cpp, LM Studio, Open WebUI, vLLM и SGLang, работа через API и Python, подключение к IDE. Дальше промптинг, ускорение, RAG, агенты и fine-tuning, а в конце топ-30 приёмов, разбор ошибок, FAQ и готовые конфиги.
Для домашнего ПК основной вариант это R1-дистилляты от 1.5B до 70B. Запуск одной командой: ollama run deepseek-r1:8b. По таблицам гайда в кванте Q4 модель на 8B занимает 5-6 ГБ памяти, на 14B около 9-10 ГБ, на 32B около 20 ГБ, на 70B около 43 ГБ.
Старшие модели уже про серверное железо. DeepSeek-V4-Flash на 284B параметров, из них 13B активных, с контекстом 1M требует около 103 ГБ в 3-битном кванте. DeepSeek-V4-Pro на 1.6T параметров с 49B активными нужны 800 ГБ и больше, то есть сервер с 8 GPU.
Несколько практичных советов из гайда. Для русского языка брать модели от 14B, на меньших дистиллятах качество заметно проседает. Квант Q4_K_M считается стандартным выбором, а большая модель в низком кванте обычно лучше маленькой в высоком. Температура около 0.6 для R1 и 1.0 для V4. Проверять через ollama ps, что модель целиком на GPU. И не открывать порт Ollama 11434 в интернет: у API нет пароля.
Репозиторий: https://github.com/justxor/deepseek-local-guide-ru
❤15👍10🥰3😁2
Forwarded from Анализ данных (Data analysis)
Вредоносный Markdown-файл может заставить ИИ-агента выполнить чужие команды. Даже если вы сами его не открывали.
Forever Security сообщила об атаке на компьютере клиента: агент прочитал подброшенный в папку Downloads файл `AGENTS.md` и попытался установить вредоносный npm-пакет. Защита остановила установку.
Схема использует привычную функцию coding-агентов: они читают файлы с инструкциями в рабочей папке. Если запустить агента в каталоге, куда попадают загрузки из браузера, чужой текст может быть принят за правила проекта.
Исследователи воспроизвели варианты атаки на Codex и Claude Code. По их данным, в тестовых условиях атаки срабатывали более чем в 90% попыток для Codex и примерно в 50% для Claude Code. Это результаты конкретных испытаний, а не вероятность взлома любого пользователя.
Последствия включали изменение конфигурации агента, запуск вредоносного кода и перенаправление API-запросов с утечкой токена.
Что проверить: не запускайте агентов в Downloads, просматривайте незнакомые
https://forever.security/blog/hijacking-ai-agents-via-downloads-folder
@data_analysis_ml
Forever Security сообщила об атаке на компьютере клиента: агент прочитал подброшенный в папку Downloads файл `AGENTS.md` и попытался установить вредоносный npm-пакет. Защита остановила установку.
Схема использует привычную функцию coding-агентов: они читают файлы с инструкциями в рабочей папке. Если запустить агента в каталоге, куда попадают загрузки из браузера, чужой текст может быть принят за правила проекта.
Исследователи воспроизвели варианты атаки на Codex и Claude Code. По их данным, в тестовых условиях атаки срабатывали более чем в 90% попыток для Codex и примерно в 50% для Claude Code. Это результаты конкретных испытаний, а не вероятность взлома любого пользователя.
Последствия включали изменение конфигурации агента, запуск вредоносного кода и перенаправление API-запросов с утечкой токена.
Что проверить: не запускайте агентов в Downloads, просматривайте незнакомые
AGENTS.md и CLAUDE.md, сохраняйте подтверждения действий и песочницу включёнными.https://forever.security/blog/hijacking-ai-agents-via-downloads-folder
@data_analysis_ml
❤8👍7🔥3🤔1🤯1
Вышла Kali Linux 2026.3 – с обновлённой сборкой образов и шестью новыми инструментами.
Главное изменение релиза – унификация сборочных скриптов: разработчики приводят их к общей структуре, параметрам и поведению на разных платформах.
Теперь обновлённые скрипты позволяют собирать образы внутри Docker или Podman. Помощник
Также в релизе:
- Ядро Linux 7.1.5 и KDE Plasma 6.7.
- Dalfox – сканер XSS.
- Katana – инструмент обхода веб-приложений.
- qsreplace – замена значений параметров в URL.
- RustScan – быстрый сканер портов на Rust.
- SDRangel – приложение для работы с программно-определяемым радио.
- Snaffler-NG – поиск чувствительных данных в SMB-ресурсах.
В NetHunter добавили улучшения для мобильных устройств, включая поддержку режима мониторинга Wi-Fi на TicWatch Pro 3.
Для пользователей Kali Rolling обновление доступно через пакетный менеджер:
https://www.kali.org/blog/kali-linux-2026-3-release/
@linuxkalii
Главное изменение релиза – унификация сборочных скриптов: разработчики приводят их к общей структуре, параметрам и поведению на разных платформах.
Теперь обновлённые скрипты позволяют собирать образы внутри Docker или Podman. Помощник
build-in-container.sh определяет доступный движок и подготавливает окружение. Завершить обновление всех скриптов планируют к Kali 2026.4.Также в релизе:
- Ядро Linux 7.1.5 и KDE Plasma 6.7.
- Dalfox – сканер XSS.
- Katana – инструмент обхода веб-приложений.
- qsreplace – замена значений параметров в URL.
- RustScan – быстрый сканер портов на Rust.
- SDRangel – приложение для работы с программно-определяемым радио.
- Snaffler-NG – поиск чувствительных данных в SMB-ресурсах.
В NetHunter добавили улучшения для мобильных устройств, включая поддержку режима мониторинга Wi-Fi на TicWatch Pro 3.
Для пользователей Kali Rolling обновление доступно через пакетный менеджер:
sudo apt update && sudo apt full-upgrade
https://www.kali.org/blog/kali-linux-2026-3-release/
@linuxkalii
🔥23❤17👍12
Keystone уничтожит 18 835 аппаратных кошельков после взлома сайта.
Компания сообщила об утечке клиентских данных и ключа проверки подлинности устройств. Его компрометация потенциально позволяет поддельным кошелькам проходить официальную проверку.
Keystone приостановила отгрузки и заменяет ключ в производстве. Непроданные устройства со старым ключом обещает уничтожить.
По заявлению компании, приватные ключи пользователей и фразы восстановления не пострадали. Однако утечка контактных данных создаёт риск адресного фишинга от имени поддержки.
Для устройств, полученных после 20 октября, Keystone рекомендует дополнительную проверку подлинности.
Компания сообщила об утечке клиентских данных и ключа проверки подлинности устройств. Его компрометация потенциально позволяет поддельным кошелькам проходить официальную проверку.
Keystone приостановила отгрузки и заменяет ключ в производстве. Непроданные устройства со старым ключом обещает уничтожить.
По заявлению компании, приватные ключи пользователей и фразы восстановления не пострадали. Однако утечка контактных данных создаёт риск адресного фишинга от имени поддержки.
Для устройств, полученных после 20 октября, Keystone рекомендует дополнительную проверку подлинности.
🔥11👍6❤3😁3🎉1
10 уязвимостей в ядре Linux и 5 во FreeBSD, позволяющие получить права root в системе
Выявлена серия уязвимостей в ядре Linux и FreeBSD. Уязвимости в Linux дают возможность удалённо выполнить код, поднять свои привилегии в системе, выйти из контейнеров или обойти изоляцию виртуальных машин. Уязвимости во FreeBSD позволяют удалённо остановить работу ядра, поднять свои привилегии в системе и обойти изоляцию гипервизора Bhyve.
Полный текст:
https://opennet.ru/66542/
https://opennet.me/66542/
Выявлена серия уязвимостей в ядре Linux и FreeBSD. Уязвимости в Linux дают возможность удалённо выполнить код, поднять свои привилегии в системе, выйти из контейнеров или обойти изоляцию виртуальных машин. Уязвимости во FreeBSD позволяют удалённо остановить работу ядра, поднять свои привилегии в системе и обойти изоляцию гипервизора Bhyve.
Полный текст:
https://opennet.ru/66542/
https://opennet.me/66542/
❤12👍7🔥4
В репозитории linux-history собран большой иллюстрированный README со схемами, практическими командами и вопросами для самопроверки.
Что внутри:
- Предыстория: Unix, GNU, MINIX и появление Linux в 1991 году.
- Развитие ядра: ключевые события и участники проекта.
- Древо дистрибутивов: как связаны Debian, Ubuntu и другие семейства.
- Устройство системы: загрузка Linux, жизнь процесса и взаимодействие компонентов.
- Разработка ядра: как изменения проходят путь до включения в Linux.
- Практика: команды для изучения своей системы, варианты запуска без установки и квиз.
Материал оформлен прямо на GitHub: раскрывающиеся разделы, таблицы и более 20 схем. В конце – книги, документальные фильмы и ссылки для дальнейшего изучения.
Подойдёт новичкам, которые уже пользуются Linux и хотят понять, откуда он появился и как работает изнутри.
https://github.com/justxor/linux-history
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍8❤7🤩1
Вредоносный Markdown-файл может заставить ИИ-агента выполнить чужие команды. Даже если вы сами его не открывали.
Forever Security сообщила об атаке на компьютере клиента: агент прочитал подброшенный в папку Downloads файл `AGENTS.md` и попытался установить вредоносный npm-пакет. Защита остановила установку.
Схема использует привычную функцию coding-агентов: они читают файлы с инструкциями в рабочей папке. Если запустить агента в каталоге, куда попадают загрузки из браузера, чужой текст может быть принят за правила проекта.
Исследователи воспроизвели варианты атаки на Codex и Claude Code. По их данным, в тестовых условиях атаки срабатывали более чем в 90% попыток для Codex и примерно в 50% для Claude Code. Это результаты конкретных испытаний, а не вероятность взлома любого пользователя.
Последствия включали изменение конфигурации агента, запуск вредоносного кода и перенаправление API-запросов с утечкой токена.
Что проверить: не запускайте агентов в Downloads, просматривайте незнакомые
https://forever.security/blog/hijacking-ai-agents-via-downloads-folder
Forever Security сообщила об атаке на компьютере клиента: агент прочитал подброшенный в папку Downloads файл `AGENTS.md` и попытался установить вредоносный npm-пакет. Защита остановила установку.
Схема использует привычную функцию coding-агентов: они читают файлы с инструкциями в рабочей папке. Если запустить агента в каталоге, куда попадают загрузки из браузера, чужой текст может быть принят за правила проекта.
Исследователи воспроизвели варианты атаки на Codex и Claude Code. По их данным, в тестовых условиях атаки срабатывали более чем в 90% попыток для Codex и примерно в 50% для Claude Code. Это результаты конкретных испытаний, а не вероятность взлома любого пользователя.
Последствия включали изменение конфигурации агента, запуск вредоносного кода и перенаправление API-запросов с утечкой токена.
Что проверить: не запускайте агентов в Downloads, просматривайте незнакомые
AGENTS.md и CLAUDE.md, сохраняйте подтверждения действий и песочницу включёнными.https://forever.security/blog/hijacking-ai-agents-via-downloads-folder
👍8❤3🔥2🤔1
Polymarket мог подвергнуться атаке: пользователи сообщают о подозрительных запросах при подключении кошелька
По этим сообщениям, сервис предлагает подписать транзакцию, которая может предоставить злоумышленникам разрешение на вывод активов.
До выяснения обстоятельств лучше отложить подключение кошелька и не подписывать непонятные транзакции или разрешения. Информация о взломе пока не подтверждена.
По этим сообщениям, сервис предлагает подписать транзакцию, которая может предоставить злоумышленникам разрешение на вывод активов.
До выяснения обстоятельств лучше отложить подключение кошелька и не подписывать непонятные транзакции или разрешения. Информация о взломе пока не подтверждена.
❤7👍4🔥3🤔1
У Binance вывели криптовалюту на миллиарды долларов. И самое интересное здесь механизм атаки.
29 октября злоумышленники получили контроль над горячими кошельками биржи. По предварительным оценкам, отток средств составил $5,6–5,8 млрд в ETH, BTC, USDT и других активах.
Для одного из кошельков использовали EIP-7702 - механизм Ethereum, позволяющий обычному кошельку временно выполнять код смарт-контракта.
Как проходила атака:
1. Хакер подготовил вредоносный контракт, который автоматически переводил средства на подконтрольный адрес.
2. Через EIP-7702 отправил пакет из 50 подписанных авторизаций с последовательными nonce, чтобы попасть в актуальное состояние кошелька Binance 14.
3. Одна авторизация сработала. Кошелёк начал выполнять код злоумышленника.
4. За одну транзакцию из Binance 14 вывели 167 464 ETH и десятки других токенов.
5. Спустя 24 секунды другой кошелёк Binance 16 перевёл ещё 28 005 ETH на адрес атакующего.
Самый интересный момент: EIP-7702 требует действительной криптографической подписи владельца кошелька. Просто подделать такую авторизацию нельзя.
Это указывает на компрометацию механизма подписания транзакций, а не на обычную ошибку в смарт-контракте.
Binance предварительно связывает инцидент с компрометацией ноутбука DevOps-инженера, но утечку приватных ключей биржа пока не подтвердила.
Часть средств удалось заблокировать. Tether, Circle и другие эмитенты заморозили активы на миллиарды долларов.
Парадокс криптовалют: децентрализованная инфраструктура позволила переместить миллиарды за минуты, но централизованное управление стейблкоинами помогло остановить часть похищенных средств.
Инцидент показывает, насколько опасна компрометация инфраструктуры подписания транзакций, даже если сами смарт-контракты работают без ошибок.
29 октября злоумышленники получили контроль над горячими кошельками биржи. По предварительным оценкам, отток средств составил $5,6–5,8 млрд в ETH, BTC, USDT и других активах.
Для одного из кошельков использовали EIP-7702 - механизм Ethereum, позволяющий обычному кошельку временно выполнять код смарт-контракта.
Как проходила атака:
1. Хакер подготовил вредоносный контракт, который автоматически переводил средства на подконтрольный адрес.
2. Через EIP-7702 отправил пакет из 50 подписанных авторизаций с последовательными nonce, чтобы попасть в актуальное состояние кошелька Binance 14.
3. Одна авторизация сработала. Кошелёк начал выполнять код злоумышленника.
4. За одну транзакцию из Binance 14 вывели 167 464 ETH и десятки других токенов.
5. Спустя 24 секунды другой кошелёк Binance 16 перевёл ещё 28 005 ETH на адрес атакующего.
Самый интересный момент: EIP-7702 требует действительной криптографической подписи владельца кошелька. Просто подделать такую авторизацию нельзя.
Это указывает на компрометацию механизма подписания транзакций, а не на обычную ошибку в смарт-контракте.
Binance предварительно связывает инцидент с компрометацией ноутбука DevOps-инженера, но утечку приватных ключей биржа пока не подтвердила.
Часть средств удалось заблокировать. Tether, Circle и другие эмитенты заморозили активы на миллиарды долларов.
Парадокс криптовалют: децентрализованная инфраструктура позволила переместить миллиарды за минуты, но централизованное управление стейблкоинами помогло остановить часть похищенных средств.
Инцидент показывает, насколько опасна компрометация инфраструктуры подписания транзакций, даже если сами смарт-контракты работают без ошибок.
👍24🔥9❤7🤔3😱3🥰2
Forwarded from Анализ данных (Data analysis)
Claude нашёл 62 уязвимости в Chrome и научился получать root-доступ к Linux-серверам без авторизации.
Anthropic опубликовала результаты эксперимента с внутренней моделью Claude, которая самостоятельно исследовала реальное ПО и создавала рабочие цепочки атак.
Вот что получилось:
Chrome. Claude обнаружил уязвимости в V8, обошёл несколько уровней изоляции и добился выполнения произвольного кода за пределами песочницы браузера. Google исправила 62 уязвимости, включая 13 способов выхода из sandbox.
Safari. Модель построила цепочку, позволяющую вредоносному сайту обходить Same-Origin Policy, читать cookies, историю браузера и получать доступ к данным других сайтов, где пользователь авторизован.
Android. Claude нашёл способ извлекать фотографии и личные файлы с заблокированного Pixel 9 через USB без подтверждения владельца.
Windows. Обнаружил ошибку в реализации QUIC на уровне ядра. Несколько специально сформированных сетевых пакетов могли удалённо вызвать падение сервера.
Claude нашёл race condition в сетевом стеке ядра и собрал zero-click эксплойт. Атакующему достаточно отправлять пакеты серверу с включённым Multipath TCP, чтобы получить выполнение команд от root.
В демонстрации на Linux взлом занял около 53 минут.
Модель анализировала бинарники через Ghidra, обходила защитные механизмы и объединяла несколько ошибок в полноценные атаки.
Для масштабирования исследователи запускали множество агентов параллельно, каждый из которых искал уязвимости своей стратегией.
Все описанные уязвимости были переданы разработчикам и исправлены.
https://www.anthropic.com/research/discovering-vulnerabilities-with-claude
Anthropic опубликовала результаты эксперимента с внутренней моделью Claude, которая самостоятельно исследовала реальное ПО и создавала рабочие цепочки атак.
Вот что получилось:
Chrome. Claude обнаружил уязвимости в V8, обошёл несколько уровней изоляции и добился выполнения произвольного кода за пределами песочницы браузера. Google исправила 62 уязвимости, включая 13 способов выхода из sandbox.
Safari. Модель построила цепочку, позволяющую вредоносному сайту обходить Same-Origin Policy, читать cookies, историю браузера и получать доступ к данным других сайтов, где пользователь авторизован.
Android. Claude нашёл способ извлекать фотографии и личные файлы с заблокированного Pixel 9 через USB без подтверждения владельца.
Windows. Обнаружил ошибку в реализации QUIC на уровне ядра. Несколько специально сформированных сетевых пакетов могли удалённо вызвать падение сервера.
Claude нашёл race condition в сетевом стеке ядра и собрал zero-click эксплойт. Атакующему достаточно отправлять пакеты серверу с включённым Multipath TCP, чтобы получить выполнение команд от root.
В демонстрации на Linux взлом занял около 53 минут.
Модель анализировала бинарники через Ghidra, обходила защитные механизмы и объединяла несколько ошибок в полноценные атаки.
Для масштабирования исследователи запускали множество агентов параллельно, каждый из которых искал уязвимости своей стратегией.
Все описанные уязвимости были переданы разработчикам и исправлены.
https://www.anthropic.com/research/discovering-vulnerabilities-with-claude
👍12❤7🔥5😁3🤔1
Создатель CentOS и Rocky Linux собрал новое ядро ОС с помощью ИИ за 11 дней
Грегори Курцер представил Ginux - экспериментальную ОС преимущественно на Rust. По его рассказу, он руководил проектированием, а Codex писал и тестировал код: около 139 тысяч строк.
У Ginux собственные управление памятью, планировщик, файловая подсистема и сеть. Совместимость с Linux реализована через Linux ABI: отдельные программы могут работать без ядра Linux внутри системы.
Прототип уже запускает некоторые неизменённые программы Alpine и Rocky Linux. В виртуальной машине окружение Rocky Linux 10 с systemd доходит до `multi-user.target`.
До повседневного использования ещё далеко: совместимость, драйверы и изоляция ресурсов неполные, независимого аудита безопасности нет. Автор прямо называет Ginux исследовательским прототипом.
Код открыт под Apache 2.0. За 11 дней удалось получить работающую основу. Теперь предстоит проверить её надёжность за пределами демонстрационных сценариев.
https://github.com/gmkurtzer/ginux
Грегори Курцер представил Ginux - экспериментальную ОС преимущественно на Rust. По его рассказу, он руководил проектированием, а Codex писал и тестировал код: около 139 тысяч строк.
У Ginux собственные управление памятью, планировщик, файловая подсистема и сеть. Совместимость с Linux реализована через Linux ABI: отдельные программы могут работать без ядра Linux внутри системы.
Прототип уже запускает некоторые неизменённые программы Alpine и Rocky Linux. В виртуальной машине окружение Rocky Linux 10 с systemd доходит до `multi-user.target`.
До повседневного использования ещё далеко: совместимость, драйверы и изоляция ресурсов неполные, независимого аудита безопасности нет. Автор прямо называет Ginux исследовательским прототипом.
Код открыт под Apache 2.0. За 11 дней удалось получить работающую основу. Теперь предстоит проверить её надёжность за пределами демонстрационных сценариев.
https://github.com/gmkurtzer/ginux
👍22😁7👏5🤯4❤2🔥2
В ядре Linux есть поиск строки, который ускоряется за счёт пропуска символов
В
Допустим, ищем
Первое сравнение: последняя
Можно сдвинуть шаблон сразу на пять позиций. При меньшем сдвиге
Реализация ядра заранее строит две таблицы: для сдвига по несовпавшему символу и по уже совпавшему суффиксу. Затем выбирает больший из допустимых сдвигов.
Но у этой реализации есть ограничение: она может пропустить совпадение на границе двух блоков данных. Например, если один блок заканчивается на
Поэтому прямо в комментарии к исходнику для фильтрации и обнаружения вторжений рекомендуют KMP, который умеет находить такие совпадения.
Выбор алгоритма здесь зависит и от скорости, и от того, как данные поступают на обработку.
В
lib/ts_bm.c реализован алгоритм Бойера - Мура. Он сравнивает шаблон с текстом справа налево и при несовпадении может перескочить сразу через несколько позиций.Допустим, ищем
ERROR:
Текст: ABCDXERROR
Шаблон: ERROR
↑
Первое сравнение: последняя
R шаблона против X в тексте. Символа X в ERROR вообще нет.Можно сдвинуть шаблон сразу на пять позиций. При меньшем сдвиге
X всё ещё находился бы внутри проверяемого участка, поэтому совпадение невозможно.Реализация ядра заранее строит две таблицы: для сдвига по несовпавшему символу и по уже совпавшему суффиксу. Затем выбирает больший из допустимых сдвигов.
Но у этой реализации есть ограничение: она может пропустить совпадение на границе двух блоков данных. Например, если один блок заканчивается на
ERR, а следующий начинается с OR.Поэтому прямо в комментарии к исходнику для фильтрации и обнаружения вторжений рекомендуют KMP, который умеет находить такие совпадения.
Выбор алгоритма здесь зависит и от скорости, и от того, как данные поступают на обработку.
👍13🔥3❤2