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

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

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

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

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

Категории

Все категории
Loading categories
ndaal_public_SBOM_Auditor — Автономное однобинарное веб-приложение, которое принимает SBOM в форматах CycloneDX, SPDX и syft, запускает ансамбль сканеров CVE, обогащает результаты данными EPSS, CISA-KEV и nuclei и экспортирует в SARIF, CSAF и PDF. | Kitploit
Инструменты/GitLabGitLab/vpierre/ndaal_public_sbom_auditor
Оборонительные ИнструментыУправление индикаторами компрометации (IOC)Статический анализСканеры уязвимостейАнализ уязвимостейАудит конфигурацииDevSecOpsУтилиты и фреймворки

Популярное

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

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

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

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

Смотреть все инструменты →
Разведка угроз
Безопасность Цепочки Поставок
GitLabvpierre/ndaal_public_sbom_auditor

ndaal_public_SBOM_Auditor

Автономное однобинарное веб-приложение, которое принимает SBOM в форматах CycloneDX, SPDX и syft, запускает ансамбль сканеров CVE, обогащает результаты данными EPSS, CISA-KEV и nuclei и экспортирует в SARIF, CSAF и PDF.

РепозиторийСайт
371 день назадЕщё не проверено
Поделиться

ndaal SBOM Auditor

Однобинарное офлайн-веб-приложение для исследования файлов SBOM (Software Bill of Materials). Загрузите SBOM или импортируйте папку с ними, проанализируйте каждый с помощью ансамбля независимых инструментов, просмотрите нормализованные результаты в одном локальном интерфейсе и экспортируйте результат в восьми форматах. Без установки, без доступа к сети, без телеметрии.

Переводы: Deutsch · Français

Что он делает

  1. Приём — загрузите SBOM в браузере или импортируйте все SBOM из настраиваемой папки. Обнаруживаются CycloneDX (JSON/XML), SPDX (JSON/tag-value и 3.0 JSON-LD) и syft-json; файлы хешируются по содержимому и дедуплицируются.
  2. Анализ — запуск включённых инструментов против SBOM, каждый как изолированный подпроцесс с ограничением по времени и лимитом параллелизма. Отсутствующий инструмент — это чистый, визуально отличимый пропуск — никогда не сообщается как чистый результат.
  3. Находки — вывод каждого инструмента нормализуется к общей форме, с разрешением псевдонима CVE из идентификатора GHSA/OSV инструмента, и отображается по инструментам с индикаторами серьёзности.
  4. Оценка — оценка SBOM по всем семнадцати минимальным элементам CISA 2026, с различением явного NOASSERTION поставщика и поля, которое просто отсутствует.
  5. Поиск — найдите, какие из ваших SBOM объявляют заданный компонент, по всему корпусу, по имени или package URL.
  6. Экспорт — запись анализа в виде SARIF 2.1, SARIF 2.2, Markdown, ODT, DOCX, PDF и бюллетеней CSAF 2.1 / 2.2. сохраняет выбранные форматы в серверный каталог экспорта, каждый в сопровождении пяти криптографических хеш-сайдкаров; формирует те же форматы в памяти и передаёт их в браузер — один документ или ZIP-архив для нескольких — ничего не записывая на диск.
Export
Start download

Панель хранимых SBOM

Домашняя страница (/) перечисляет все хранимые SBOM и остаётся удобной по мере роста корпуса:

  • Постранично — 25 строк на страницу, с подписью "Showing X–Y of N" и элементами управления Previous / Page / Next.
  • Сортируемые столбцы — щёлкните заголовок Name, Format или Components, чтобы отсортировать по нему; щёлкните заголовок снова, чтобы изменить направление.
  • Фильтр формата — сузьте список до одного формата (CycloneDX JSON/XML, SPDX JSON, SPDX 3.0 JSON, SPDX tag-value, Syft JSON или Unknown); кнопка Reset очищает фильтры, сохраняя текущую сортировку.
  • Столбец серьёзности — крайний правый столбец, после Ingested, показывает единственную наивысшую серьёзность находки каждого SBOM (Critical, High, Medium, Low или Negligible), или "—", когда находок ещё нет, с соответствующим фильтром серьёзности.
  • Полнотекстовый поиск — поле поиска, опирающееся на полнотекстовый индекс tantivy, сопоставляет имя SBOM, формат и версию спецификации, а также имена и package URL содержащихся в нём компонентов, так что запрос вроде log4j или openssl находит каждый SBOM, содержащий этот компонент. Запрос ограничен по длине и разбирается снисходительно.

Ансамбль анализаторов

Каждый инструмент необязателен во время выполнения и обнаруживается в PATH (переопределите бинарник через SBA_TOOL_<NAME>_BIN). Находки никогда не зависят от какого-либо одного инструмента.

ИнструментРоль
syftНормализатор SBOM / конвертер CycloneDX 1.6
grypeСопоставление CVE
trivyСканер уязвимостей
osv-scannerПоиск в базе OSV
bomberНезависимый ансамблевый сопоставитель
bomdriftДрейф цепочки поставок / тайпсквоттинг (SARIF)
inspektrСканер уязвимостей SBOM (JSON)
shieldbomОфлайн-сканер CVE для встраиваемых/IoT (SARIF)
provenantЛицензии / авторские права / происхождение (ScanCode)

Первые восемь инструментов дают находки об уязвимостях в форме CVE; provenant отличается — он сообщает о происхождении лицензий, авторских прав, правообладателей и авторов, которые аудитор сохраняет и отображает как собственную форму находки (раздел "Licence & provenance" для каждого запуска, включаемый в экспорт Markdown), а не отбрасывает их.

Сканеры не могут читать каждый формат напрямую: bomber потребляет только CycloneDX ≤ 1.6, и ни один из сканеров не читает SPDX 3.0 JSON-LD. В обоих случаях аудитор сначала нормализует входные данные к CycloneDX через syft convert, и пропускает с документированной причиной, когда syft недоступен, вместо того чтобы позволить инструменту сообщить о нуле пакетов. База данных уязвимостей grype обновляется один раз за запуск (вне основного потока), так что обычная устарелость — это свежее сканирование, а не неудачное.

Обогащение уязвимостей

После анализа каждая находка в форме CVE обогащается тремя реальными сигналами, полученными из сервиса vulnlookup (по умолчанию https://vulnlookup.ndaal.eu):

  • EPSS — оценка вероятности эксплуатации и её процентиль.
  • CISA-KEV — флаг, помечающий CVE как известную эксплуатируемую.
  • nuclei — существует ли публичный шаблон эксплойта, и его серьёзность.

Каждая находка показывает свои значения KEV, Nuclei, EPSS и Source, где Source ссылается обратно на запись vulnlookup, а находки упорядочены от наиболее срочных: записи с известной эксплуатацией (KEV) идут первыми, затем те, у которых выше процентиль EPSS; находки без обогащения сохраняют порядок, в котором их создал анализатор. Обогащение переносится в каждый формат экспорта — SARIF 2.1 / 2.2, Markdown, ODT, DOCX, PDF и CSAF 2.1 / 2.2, где CSAF несёт EPSS как нативную метрику и записывает CISA-KEV и nuclei как примечания — и форма экспорта теперь по умолчанию отмечает каждый формат.

Настройте это в разделе Settings → Vulnerability enrichment: переключатель вкл/выкл (включён по умолчанию) и до трёх источников vulnlookup, каждый с базовым URL, TCP-портом и QUIC-портом (пустой порт трактуется как 443). Источники 1 и 2 по умолчанию используют публичный https://vulnlookup.ndaal.eu на порту 443; источник 3 по умолчанию использует loopback https://127.0.0.1 на собственных портах этого хоста 8680 (TCP) / 8681 (QUIC), так что совместно размещённый vulnlookup работает как резервный вариант из коробки. Источники пробуются по порядку — первый является основным, остальные — резервными.

Безопасность

  • Транспорт: только HTTPS, TLS 1.3 (rustls + aws-lc-rs) с постквантовым обменом ключами (X25519MLKEM768), предлагаемым первым. Самоподписанный dev-сертификат, перегенерируемый при запуске; поддерживаются операторские PEM-файлы.
  • Безопасность памяти: написан на Rust с #![forbid(unsafe_code)]; политика линтера запрещает паникующие сокращения, непроверенную арифметику и непроверенную индексацию в production-коде.
  • Ограничение файловой системы: весь ввод-вывод данных / импорта / экспорта ограничен дескриптором возможности cap-std (классы обхода пути, символических ссылок и TOCTOU закрыты). Имена хранимых файлов формируются сервером, никогда не предоставляются клиентом.
  • Шифрование хранилища (опционально): XChaCha20-Poly1305 запечатывает хранимые байты SBOM и необработанный вывод инструментов, пока они лежат на диске (--encryption-key-file).
  • Веб-укрепление: заголовки ответов с эшелонированной защитой на каждый ответ, Content-Security-Policy с привязкой к хешу, проверки same-origin на каждый POST и ограничение размера тела запроса.
  • Без телеметрии, без бэкдоров. Всё работает локально. Соответствует критериям TeleTrusT "IT Security made in Germany / Europe".

Укрепление в этом цикле

  • Ограничение multipart DoS — парсер загрузки отклоняет любую границу multipart длиннее 70 символов по RFC 2046 и находит её с помощью линейного двустороннего поиска, закрывая путь исчерпания CPU O(body×boundary).
  • Отказоустойчивое расшифрование хранимых данных — нерасшифровываемый зашифрованный blob (неверный ключ или подделка) теперь вызывает жёсткую ошибку вместо чтения как пустого документа, который сообщал "no findings".
  • Валидация CVSS — базовые оценки CVSS анализатора ограничиваются или отклоняются, когда они не конечны или вне [0, 10], прежде чем попасть в сгенерированный CSAF или SARIF, а кросс-инструментальное слияние сохраняет самую высокую оценку.
  • Укрепление TLS-ключа — --tls-key отклоняет ключ PKCS#1 RSA (политика no-RSA) и, в Unix, файл ключа, доступный для чтения группе или всем.
  • Шлюз расширений при скачивании экспорта — GET /export/download отдаёт только имена с распознанным расширением экспорта или хеш-сайдкара, так что неправильно настроенный каталог экспорта не может выдать системный файл.
  • Обновление h2 (RUSTSEC-2026-0258) — встроенный стек HTTP/2 обновлён до 0.4.18 из-за неограниченных пустых DATA-кадров; cargo audit чист.

Сборка и запуск

Установите опубликованный релиз из crates.io — cargo install собирает его из исходников, cargo binstall загружает предсобранный бинарник из релиза GitLab:

root@kitploit:~
cargo install sbom-auditor     # build from source
cargo binstall sbom-auditor    # prebuilt GitLab-release binary

Или соберите этот checkout напрямую (требуется недавний стабильный toolchain Rust):

root@kitploit:~
cargo build --release
./target/release/sbom-auditor

Затем откройте https://127.0.0.1:8680 (браузер один раз предупредит о самоподписанном сертификате). Верхняя навигация содержит Home, Upload, Import, Export, Components, Tools, Settings, за которыми следуют переключатель тёмной/светлой темы, меню языков и меню информации справа. Интерфейс поставляется на 49 языках — английском, немецком и французском плюс все официальные европейские языки, норвежский нюношк, три саамских языка, официальных в Норвегии (северносаамский, луле-саамский и южносаамский), и три азиатских дополнения — китайский (中文), хинди (हिन्दी) и урду (اردو, справа налево) — выбираемые из меню языков (и запоминаемые для каждого браузера). Раздел "Supported GUI languages" ниже содержит полную разбивку.

Общие параметры

root@kitploit:~
--port <PORT>              Listen port (default 8680, env SBA_PORT)
--bind <ADDR>              Bind address (default 127.0.0.1, env SBA_BIND)
--data-dir <DIR>           Data directory (SQLite store + stored SBOMs)
--db <PATH>                Database path (default <data-dir>/auditor.db)
--encryption-key-file <F>  Enable storage encryption with this 32-byte key
--tls-cert <F> --tls-key <F>  Operator certificate instead of self-signed
--allow-non-loopback       Permit binding a non-loopback address
--check-update             Check gitlab.com for a newer release, then exit
--self-update              Download + verify + install the latest release
--help                     Full option list

Порты: 8680 обслуживает API и веб-интерфейс по TLS 1.3 (HTTP/1.1 + HTTP/2); 8681 зарезервирован для будущего слушателя QUIC / HTTP-3 (пока не реализован).

Поддерживаемые языки GUI

Веб-интерфейс поставляется на 49 языках. Английский, немецкий и французский — поддерживаемый, созданный людьми набор, закреплённый в начале переключателя языков; все остальные языки следуют в алфавитном порядке по своему английскому названию.

Три азиатских языка присоединились в этом цикле: китайский / 中文 (мандаринский, упрощённый), хинди / हिन्दी и урду / اردو. Урду — справа налево — приложение отображает <html dir="rtl">, пока он выбран.

Каждый язык помимо закреплённых трёх машинно-переведён и ожидает проверки носителем; любая строка, отсутствующая в переводе, автоматически откатывается к английскому. Встроенный переключатель на странице перечисляет каждый язык по его собственному эндониму и является авторитетным списком — обращайтесь к нему, а не к перечислению здесь.

Это относится только к веб-интерфейсу. Генерируемые отчёты (SARIF, CSAF и экспорт PDF) и HTTP API остаются только на английском.

Тестирование

root@kitploit:~
cargo nextest run          # unit + integration suite
cargo test --doc           # doctests

Дополнительные стенды: loom-harness/ (модели перестановок параллелизма), test/bruno/ (коллекция API), test/playwright/ (браузерный E2E), test/example-corpus/ (API + GUI загрузка→анализ→экспорт по встроенному корпусу SBOM example/) и loadtest/ (сценарии нагрузки Goose). tests/scripts/test_examples_upload_via_api.sh (с родственным .bats) загружает каждый SBOM из example/ против запущенного экземпляра и проверяет, что каждый даёт SARIF, CSAF и PDF через потоковый POST /export/download ZIP; TLS проверяется для не-loopback хостов и пропускается для самоподписанного сертификата localhost, а --base-url нацелен на любой экземпляр (например, https://sbom.ndaal.eu/). Набор test/magnitude/ (Magnitude, *.mag.ts) добавляет управляемые ИИ визуальные проверки порядка навигационной панели и значений экспорта по умолчанию плюс Start download; он дополняет детерминированные тесты, требует LLM для запуска и не является частью блокирующего шлюза CI. Каталог example/ содержит 651 публичный тестовый SBOM (Git LFS); см. example/PROVENANCE.md. См. documentation/structure.md для карты модулей и потока запросов.

Документация

  • REFERENCE.md — справочник по CLI, окружению, маршрутам, настройкам и форматам экспорта
  • documentation/structure.md — карта архитектуры
  • documentation/User_Guide.md — руководство конечного пользователя
  • documentation/Administrator_Guide.md — развёртывание и эксплуатация
  • documentation/arc42/en/ — архитектурные представления arc42
  • documentation/compliance/CSI_2026_cisa_sbom_minimum_elements_508c.md — оценка соответствия минимальным элементам SBOM CISA 2026
  • CHANGELOG.md — история релизов

Лицензия

Код лицензирован под Apache-2.0. Встроенные ресурсы UI несут собственные лицензии (Bootstrap MIT, htmx 0BSD, Roboto OFL-1.1); см. пофайловые сайдкары .license в src/static/.

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