Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
sobelow — Статический анализ с фокусом на безопасность для Phoenix Framework | Kitploit
Инструменты/GitHubGitHub/nccgroup/sobelow
Статический анализСканеры уязвимостейАнализ уязвимостейАнализ КодаВеб-безопасность
GitHubnccgroup/sobelow

sobelow

Статический анализ с фокусом на безопасность для Phoenix Framework

Репозиторий
1.8k1242 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Sobelow

Module Version Hex Docs Total Download License Last Updated

Sobelow — это инструмент статического анализа безопасности для Elixir и фреймворка Phoenix. Для исследователей безопасности он полезен для быстрого выявления интересующих точек. Для сопровождающих проектов он может помочь предотвратить внедрение ряда распространённых уязвимостей.

В настоящее время Sobelow обнаруживает некоторые из следующих типов проблем безопасности:

  • Небезопасная конфигурация
  • Зависимости с известными уязвимостями
  • Межсайтовый скриптинг
  • SQL-инъекции
  • Инъекции команд
  • Выполнение кода
  • Отказ в обслуживании
  • Обход каталогов
  • Небезопасная сериализация

Потенциальные уязвимости отмечаются разными цветами в зависимости от уверенности в их опасности. Высокая уверенность — красный, средняя — жёлтый, низкая — зелёный.

Находка обычно помечается как «низкая уверенность», если функция может использоваться небезопасно, но невозможно надёжно определить, принимает ли функция ввод от пользователя. Т.е. Если находка отмечена зелёным, она может быть критически небезопасной, но потребуется более тщательная ручная проверка.

Примечание: Этот проект находится в постоянной разработке, и со временем будут добавляться новые проверки уязвимостей. Если вы обнаружили ошибку или хотите запросить дополнительные функции или проверки безопасности, пожалуйста, создайте issue!

Содержание

  • Установка
    • Использование
  • Параметры
  • Файлы конфигурации
  • Ложные срабатывания
  • Модули
  • Umbrella приложения
  • Обновления

Установка

Чтобы использовать Sobelow, добавьте его в зависимости вашего приложения.

root@kitploit:~
def deps do
  [
    {:sobelow, "~> 0.13", only: [:dev, :test], runtime: false}
  ]
end

Также вы можете установить Sobelow глобально, выполнив следующую команду в командной строке:

root@kitploit:~
$ mix escript.install hex sobelow

Чтобы установить из ветки master, а не из последнего релиза, можно использовать следующую команду:

root@kitploit:~
$ mix escript.install github nccgroup/sobelow

Использование

После установки самый простой способ просканировать проект Phoenix — выполнить следующую команду из корня проекта:

root@kitploit:~
$ mix sobelow

Параметры

Примечание: Все пути должны быть абсолютными или относительными относительно корня приложения.

  • --root или -r - Указывает корневую директорию приложения. Принимает аргумент пути, например, ../my_project.

  • --verbose или -v - Выводит фрагменты кода и дополнительные детали находки.

  • --ignore или -i - Игнорирует указанные типы находок. Принимает разделённый запятыми список имён модулей, например, XSS.Raw,Traversal.

  • --ignore-files - Игнорирует файлы. Принимает разделённый запятыми список имён файлов, например, config/prod.exs.

  • --details или -d - Получает детали типа находки. Принимает одно имя модуля, например, Config.CSRF.

Файлы конфигурации

Sobelow позволяет пользователям сохранять часто используемые параметры в файле конфигурации. Например, если вы постоянно запускаете:

root@kitploit:~
$ mix sobelow -i XSS.Raw,Traversal --verbose --exit Low

Вы можете использовать флаг --save-config для создания файла конфигурации .sobelow-conf:

root@kitploit:~
$ mix sobelow -i XSS.Raw,Traversal --verbose --exit Low --save-config

Эта команда создаст файл .sobelow-conf в корне вашего приложения. Вы можете редактировать этот файл напрямую для внесения изменений.

Вы также можете запустить команду без параметров:

root@kitploit:~
$ mix sobelow --save-config

когда вы только начинаете использовать этот пакет — сгенерированный файл конфигурации будет заполнен значениями по умолчанию для каждого параметра. (Это помогает быстро интегрировать пакет в существующую кодовую базу.)

Теперь, если вы хотите запустить Sobelow с сохранённой конфигурацией, вы можете запустить Sobelow с флагом --config.

root@kitploit:~
$ mix sobelow --config

Ложные срабатывания

Sobelow предпочитает избыточное сообщение о находках, чем недостаточное. Поэтому при типичном сканировании может быть много ложных срабатываний. Эти находки можно игнорировать по отдельности, добавив комментарий # sobelow_skip со списком модулей перед определением функции.

root@kitploit:~
# sobelow_skip ["Traversal"]
def vuln_func(...) do
  ...
end

При интеграции Sobelow в новый проект может быть большое количество ложных срабатываний. Чтобы пометить все выведенные находки как ложные срабатывания, запустите sobelow с флагом --mark-skip-all.

После того как вы пометили соответствующие находки, запустите Sobelow с флагом --skip.

root@kitploit:~
$ mix sobelow --skip

Хотя комментарии # sobelow_skip могут помечать только находки на уровне функции (и, следовательно, не могут использоваться для пропуска проблем конфигурации), флаг --mark-skip-all может быть использован для пропуска любого типа находок.

Модули

Категории находок разбиты на модули. Эти модули можно использовать для игнорирования классов находок (через параметры ignore и skip) или для получения деталей уязвимости (через параметр details).

Этот список, а также другая полезная информация, доступны в командной строке:

root@kitploit:~
$ mix help sobelow

Umbrella приложения

Чтобы запустить Sobelow для всех дочерних приложений в umbrella-приложении одной командой, вы можете добавить псевдоним для sobelow в корневой файл mix.exs:

root@kitploit:~
defp aliases do
  [
    sobelow: ["cmd mix sobelow"]
  ]
end

Если вы хотите использовать файлы конфигурации в umbrella-приложении, создайте .sobelow-conf в каждом дочернем приложении и используйте флаг --config.

Обновления

При сканировании проекта Sobelow время от времени проверяет наличие обновлений и выводит предупреждение, если доступна новая версия. Sobelow отслеживает последнюю проверку обновлений, создавая файл .sobelow в корне сканируемого проекта.

Если эта функциональность нежелательна, можно использовать флаг --private при сканировании.

Скачать инструмент
  • --all-details - Получает детали всех типов находок.

  • --private - Пропускает проверки обновлений.

  • --router - Указывает расположение маршрутизатора. Используется только если расположение маршрутизатора нестандартно. Принимает аргумент пути, например, my/strange/router.ex.

  • --exit - Возвращает ненулевой код выхода при пороге уверенности low, medium или high. По умолчанию false, что возвращает нулевой код выхода.

  • --threshold - Возвращает находки с уровнем уверенности не ниже low (по умолчанию), medium или high.

  • --format или -f - Указывает формат вывода находок. Принимает формат, например, txt или json.

    Обратите внимание, что такие параметры, как --verbose, не будут работать с форматом json. Все находки в формате json содержат ключи type, file и line. Другие ключи могут различаться.

  • --quiet - Возвращает одну строку с количеством находок. В противном случае не выводит ничего, если находок нет.

  • --compact - Минимальные однострочные находки с цветным выводом в соответствии с уровнем уверенности.

  • --flycheck - Минимальные однострочные находки, совместимые с инструментарием на основе flycheck.

  • --save-config - Создаёт файл конфигурации на основе параметров командной строки. См. Файлы конфигурации для получения дополнительной информации.

  • --config - Запускает Sobelow с файлом конфигурации. См. Файлы конфигурации для получения дополнительной информации.

  • --mark-skip-all - Помечает все отображаемые находки как пропускаемые.

  • --clear-skip - Очищает конфигурацию, созданную с помощью --mark-skip-all.

  • --skip - Игнорирует находки, отмеченные для пропуска. См. Ложные срабатывания для получения дополнительной информации.

  • --version - Выводит текущую версию Sobelow. Полезно для шагов CI или интеграции с другими инструментами, такими как Salus.