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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/wspr-ncsu/mininode
Статический анализАнализ уязвимостейАнализ КодаБезопасность Цепочки ПоставокСтатьи и ИсследованияОбучение и Образование
GitHubwspr-ncsu/mininode

mininode

Инструмент CLI для статического анализа, который уменьшает поверхность атаки Node.js-приложений путем построения графов зависимостей и удаления неиспользуемых модулей и функций в грубом или точном режимах.

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

Популярное

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

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

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

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

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

Mininode

Mininode — это CLI-инструмент, предназначенный для уменьшения поверхности атаки приложений Node.js с помощью статического анализа исходного кода. Он поддерживает два режима сокращения: (1) грубый (coarse) и (2) точный (fine).

Mininode строит граф зависимостей (используемые модули и функции) приложения, начиная с главного файла, то есть точки входа приложения. Mininode инициализирует точку входа значением поля main файла package.json, если оно существует. В противном случае используется index.js.

Пример использования: node index.js <путь к корневой папке приложения Node> --mode=(coarse|fine). Ниже приведён список опций, которые можно передать Mininode.

Опции

Список опций командной строки, которые можно передать Mininode.

  • --destination, -d: путь, по которому Mininode сохранит сокращённое приложение Node.js. Значение по умолчанию: mininode.
  • --dry-run: просто генерирует без изменения исходного приложения.
mininode.json
  • --mode, -m: режим сокращения. Допустимые значения: coarse или fine. В режиме coarse Mininode выполняет только грубозернистое сокращение. В режиме fine Mininode выполняет точнозернистое сокращение. В целом грубозернистое сокращение надёжнее, так как Mininode не пытается сократить неиспользуемые функции внутри модуля. Значение по умолчанию: coarse.
  • --silent: отключает вывод в консоль. Это повышает производительность Mininode.
  • --verbose: выводит дополнительную информацию в консоль. Значение по умолчанию: false.
  • --log: Mininode создаёт внутри журнальный файл, содержащий граф зависимостей приложения в формате JSON. Значение по умолчанию: true.
  • --log-output: имя журнального файла, создаваемого Mininode. Значение по умолчанию: mininode.json.
  • --compress-log: сжимает итоговый журнальный файл. По умолчанию всё выгружается в журнальный файл. В production рекомендуется передавать флаг --compress-log для экономии места.
  • --seeds: начальные файлы, с которых Mininode начнёт построение графа зависимостей. Вы можете указать несколько начальных файлов, разделяя их двоеточием.
  • --skip-stat: пропускает вычисление статистики.
  • --skip-reduction: если передан, Mininode не будет сокращать JavaScript-файлы. Значение по умолчанию: false.
  • --skip-remove: если передан, Mininode не будет удалять неиспользуемые JavaScript-файлы. Значение по умолчанию: false.
  • Ограничения

    1. Mininode использует статический анализ, что означает невозможность уменьшить поверхность атаки приложений Node.js, использующих динамическое поведение, такое как eval. Если Mininode обнаруживает динамическое поведение в приложении, он завершает работу с ошибкой DYNAMIC_BEHAVOUR_DETECTED.

    Научная статья

    Подробности нашей работы можно найти в следующей научной статье:

    Mininode: Reducing the Attack Surface of Node.js Applications [PDF]
    Igibek Koishybayev, Alexandros Kapravelos
    Proceedings of the International Symposium on Research in Attacks, Intrusions and Defenses (RAID), 2020

    Если вы используете Mininode в своих исследованиях, процитируйте нашу работу с помощью этой записи Bibtex:

    root@kitploit:~
    @conference{mininode-raid20,
      title = {{Mininode: Reducing the Attack Surface of Node.js Applications}},
      author = {Koishybayev, Igibek and Kapravelos, Alexandros},
      booktitle = {{Proceedings of the International Symposium on Research in Attacks, Intrusions and Defenses (RAID)}},
      year = {2020}
    }
    
    

    Вклад в проект

    js-semistandard-style

    Мы придерживаемся semistandard.

    Скачать инструмент