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

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

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

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

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

Категории

Все категории
Loading categories
DevAudit — Открытый, кроссплатформенный, многоцелевой инструмент для аудита безопасности | Kitploit
Инструменты/GitHubGitHub/sonatype-nexus-community/devaudit
Сканеры уязвимостейБезопасность контейнеровСтатический анализ кода (SAST)Анализ КодаАудит конфигурацииВеб-безопасностьСетевая безопасностьБезопасность облачных средDevSecOpsБезопасность Баз ДанныхArchived
GitHub
3597473 лет назадПроверено Kitploit
sonatype-nexus-community/devaudit

DevAudit

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

Репозиторий

Популярное

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

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

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

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

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

Примечание: DevAudit использует базу данных OSS Index, которая имеет некоторые ограничения на количество запросов. Если вы заметили, что достигли лимита, пожалуйста, создайте issue. Аутентифицированные пользователи получают более высокий лимит, и мы скоро внедряем аутентификацию в DevAudit. Большинство неаутентифицированных пользователей, вероятно, не заметят лимита для многих случаев использования. Обычно он срабатывает только в очень крупных проектах или при высоких объемах проектов.

DevAudit: Аудит разработки

Получите последний релиз на странице релизов.

Скриншот аудита источника пакетов DevAudit

Скриншот аудита источника пакетов Wheezy dpkg в DevAudit

Содержание

  • О проекте
  • Возможности
  • Требования
  • Установка
  • Концепции
  • Базовое использование
  • Цели аудита
  • Среды
  • Параметры программы
  • Использование Docker
  • Поиск и устранение неполадок
  • Известные проблемы
  • О проекте

    DevAudit — это инструмент аудита безопасности с открытым исходным кодом, кроссплатформенный, многоцелевой, предназначенный для разработчиков и команд, внедряющих DevOps и DevSecOps. Он обнаруживает уязвимости безопасности на нескольких уровнях стека решений. DevAudit предоставляет широкий спектр возможностей аудита, которые автоматизируют практики безопасности и внедрение аудита безопасности в жизненный цикл разработки программного обеспечения. DevAudit может сканировать зависимости пакетов операционной системы и приложений, конфигурации приложений и серверов приложений, а также код приложений на предмет потенциальных уязвимостей на основе данных, агрегированных такими провайдерами, как OSS Index и Vulners, из широкого круга источников и каналов данных, таких как фид CVE Национальной базы данных уязвимостей (NVD), фид Debian Security Advisories, Drupal Security Advisories и многих других.

    DevAudit помогает разработчикам решать как минимум 4 риска из OWASP Top 10 для разработки веб-приложений:

    • A9 Использование компонентов с известными уязвимостями
    • A5 Небезопасная конфигурация
    • A6 Утечка конфиденциальных данных
    • A2 Нарушение аутентификации и управления сессиями

    а также риски, классифицированные MITRE в словаре CWE, такие как CWE-2 Окружение и CWE-200 Раскрытие информации

    Скриншот аудита приложения ASP.NET в DevAudit По мере развития и совершенствования его возможностей DevAudit сможет решать другие риски из списков OWASP Top 10 и CWE, такие как Injection и XSS. С учетом фокуса на веб, облачные и распределенные многопользовательские приложения, разработка программного обеспечения сегодня становится все более сложным делом, с проблемами безопасности и потенциальными уязвимостями, возникающими на всех уровнях стека, на которые полагаются разработчики для поставки приложений. Цель DevAudit — предоставить платформу для автоматизации реализации проверок безопасности разработки и лучших практик на всех уровнях стека решений, от зависимостей библиотек пакетов до конфигурации приложений и серверов, а также исходного кода.

    Возможности

    • Кроссплатформенность, также доступен Docker образ. DevAudit работает на Windows и Linux, с поддержкой *BSD, Mac и ARM Linux в планах. Для запуска DevAudit требуется только актуальная версия .NET или Mono. Docker образ DevAudit также можно загрузить с Docker Hub и запустить без установки Mono.

    • Интерфейс командной строки (CLI). DevAudit имеет CLI-интерфейс с возможностью неинтерактивного вывода и может быть легко интегрирован в конвейеры сборки CI или в качестве задач командной строки после сборки в IDE разработчиков. Работа по интеграции основной библиотеки аудита в графические интерфейсы IDE уже началась с расширения Audit.Net для Visual Studio.

    • Постоянно обновляемые данные об уязвимостях. DevAudit использует серверные провайдеры данных, такие как OSS Index и Vulners, которые предоставляют постоянно обновляемые данные об уязвимостях, собранные из широкого спектра каналов и источников данных по безопасности, таких как фиды NVD CVE, Drupal Security Advisories и т.д. Будет добавлена поддержка дополнительных провайдеров уязвимостей и пакетных данных, таких как vFeed и Libraries.io.

    • Аудит зависимостей пакетов операционной системы и разработки. DevAudit выполняет аудит приложений и пакетов Windows, установленных через Windows MSI, Chocolatey и OneGet, а также пакетов Debian, Ubuntu и CentOS Linux, установленных через Dpkg, RPM и YUM, на предмет уязвимостей, сообщенных для конкретных версий приложений и пакетов. Для зависимостей пакетов разработки и библиотек DevAudit выполняет аудит зависимостей NuGet v2 для .NET, Yarn/NPM и Bower для nodejs, а также зависимостей пакетов Composer для PHP. Поддержка других менеджеров пакетов для разных языков добавляется регулярно.

    • Аудит конфигураций серверов приложений. DevAudit выполняет аудит версии сервера и его конфигурации для серверов OpenSSH sshd, Apache httpd, MySQL/MariaDB, PostgreSQL и Nginx, и многие другие в разработке. Аудит конфигурации основан на библиотеке Alpheus и выполняется с использованием полного синтаксического анализа файлов конфигурации сервера. Правила конфигурации сервера хранятся в текстовых файлах YAML и могут быть настроены под нужды разработчиков. Поддержка многих других серверов и приложений, а также типов анализа, таких как аудит баз данных, добавляется регулярно.

    • Аудит конфигураций приложений. DevAudit выполняет аудит приложений Microsoft ASP.NET и обнаруживает уязвимости, присутствующие в конфигурации приложений. Правила конфигурации приложений хранятся в текстовых файлах YAML и могут быть настроены под нужды разработчиков. В разработке аудит конфигураций приложений, таких как Drupal, WordPress и DNN CMS.

    • Аудит кода приложений с помощью статического анализа. В настоящее время DevAudit поддерживает статический анализ байт-кода .NET CIL. Анализаторы находятся во внешних скриптовых файлах и могут быть полностью настроены в соответствии с потребностями разработчика. В разработке поддержка анализа исходного кода C# через Roslyn, исходного кода PHP7 и многих других языков, а также внешних инструментов статического анализа кода.

    • Удаленный аудит без агента. DevAudit может подключаться к удаленным хостам через SSH с теми же возможностями аудита в удаленных средах, что и в локальных. Для аудита удаленных хостов требуется только действительный SSH-логин, а DevAudit, работающий на Windows, может подключаться и выполнять аудит Linux-хостов через SSH. На Windows DevAudit также может удаленно подключаться и выполнять аудит других машин Windows через WinRM.

    • Аудит контейнеров Docker без агента. DevAudit может выполнять аудит работающих контейнеров Docker с хоста Docker с теми же возможностями в средах контейнеров, что и в локальных средах.

    • Аудит репозиториев GitHub. DevAudit может напрямую подключаться к репозиторию проекта, размещенному на GitHub, и выполнять аудит исходного кода пакетов и конфигурации приложений.

    • Поддержка PowerShell. DevAudit также может запускаться внутри среды системного администрирования PowerShell в качестве командлетов. Работа над поддержкой PowerShell в настоящее время приостановлена, но возобновится в ближайшем будущем с поддержкой кроссплатформенного PowerShell как на Windows, так и на Linux.

    Требования

    DevAudit — это приложение .NET 4.6. Для локальной установки на вашу машину вам понадобится либо среда выполнения Microsoft .NET Framework 4.6 на Windows, либо Mono 4.4+ на Linux. .NET 4.6 должен быть уже установлен на большинстве современных версий Windows; если нет, он доступен как компонент Windows, который можно включить или установить из апплета панели управления «Программы и компоненты» на потребительских версиях Windows или из опции «Добавление ролей и компонентов» в диспетчере серверов на серверных версиях Windows. Для более старых версий Windows установщик .NET 4.6 от Microsoft можно найти здесь.

    На Linux минимальная поддерживаемая версия Mono — 4.4. Хотя DevAudit работает на Mono 4 (с одной известной проблемой), рекомендуется установить Mono 5. Mono 5 приносит множество улучшений в компоненты сборки и выполнения Mono, которые полезны для DevAudit.

    Существующие пакеты Mono, предоставляемые вашим дистрибутивом, вероятно, еще не являются Mono 5, поэтому вам придется установить пакеты Mono вручную, чтобы использовать Mono 5. Инструкции по установке последних пакетов, предоставляемых проектом Mono для нескольких основных дистрибутивов Linux, находятся здесь. Рекомендуется установить пакет mono-devel, так как это уменьшит вероятность отсутствия сборок.

    В качестве альтернативы на Linux вы можете использовать Docker образ DevAudit, если не хотите устанавливать Mono и уже установили Docker на своей машине.

    Установка

    DevAudit можно установить следующими способами:

    • Сборка из исходного кода.
    • Использование бинарного архивного файла релиза, загруженного с Github для Windows или Linux.
    • Использование установщика MSI релиза, загруженного с Github для Windows.
    • Использование менеджера пакетов Chocolatey на Windows.
    • Загрузка образа ossindex/devaudit с Docker Hub на Linux.

    Сборка из исходного кода на Linux

    1. Предварительные требования: Mono 4.4+ (рекомендуется Mono 5) и пакет mono-devel, который предоставляет компилятор и другие инструменты, необходимые для сборки приложений Mono. Ваш дистрибутив должен иметь пакеты как минимум для Mono версии 4.4 и выше, в противном случае инструкции по ручной установке последних пакетов, предоставляемых проектом Mono для нескольких основных дистрибутивов Linux, находятся здесь

    2. Клонируйте репозиторий DevAudit с https://github.com/OSSIndex/DevAudit.git

    3. Запустите скрипт build.sh в корневом каталоге DevAudit. DevAudit должен скомпилироваться без ошибок.

    4. Запустите ./devaudit --help, и вы должны увидеть версию DevAudit и справку.

    Обратите внимание, что NuGet на Linux может иногда завершаться с ошибкой Error: NameResolutionFailure, что, по-видимому, является временной проблемой подключения к серверам, содержащим пакеты NuGet. Вам следует просто запустить ./build.sh снова, пока сборка не завершится нормально.

    Сборка из исходного кода на Windows

    1. Предварительные требования: У вас должно быть одно из:

      • .NET Framework 4.6 SDK или developer pack.
      • Visual Studio 2015.
    2. Клонируйте репозиторий DevAudit с https://github.com/OSSIndex/DevAudit.git

    3. Из Visual Studio 2015 или .NET запустите скрипт build.cmd в корневом каталоге DevAudit. DevAudit должен скомпилироваться без ошибок.

    4. Запустите ./devaudit --help, и вы должны увидеть версию DevAudit и справку.

    Установка из архивных файлов релиза на Windows и Linux

    1. Предварительные требования: У вас должен быть Mono 4.4+ на Linux или .NET 4.6 на Windows.

    2. Загрузите последний архивный файл релиза для Windows или Linux со страницы релизов проекта. Распакуйте этот файл в каталог.

    3. Из каталога, куда вы распаковали архив релиза, запустите devaudit --help на Windows или ./devaudit --help на Linux. Вы должны увидеть версию и справку.

    4. (Опционально) Добавьте каталог установки DevAudit в переменную среды PATH

    Установка с помощью установщика MSI на Windows

    Установщик MSI для релиза можно найти на странице релизов Github.

    1. Нажмите на ссылку релизы в верхней части страницы.
    2. Определите релиз, который вы хотите установить.
    3. Для каждого релиза, для которого есть предварительно собранный установщик, должна быть видна ссылка "DevAudit.exe".
    4. Загрузите файл и выполните установщик. Вы будете проведены через простую установку.
    5. Откройте новое окно командной строки или PowerShell, чтобы DevAudit оказался в пути.
    6. Запустите DevAudit.

    Установка с помощью Chocolatey на Windows

    DevAudit также доступен на Chocolatey.

    1. Установите Chocolatey.
    2. Откройте консоль администратора или окно PowerShell.
    3. Введите choco install devaudit
    4. Запустите DevAudit.

    Установка с помощью Docker на Linux

    Загрузите образ Devaudit с Docker Hub: docker pull ossindex/devaudit. Образ с тегом ossindex/devaudit:latest (который загружается по умолчанию) собран из последнего релиза, а ossindex/devaudit:unstable собран из ветки master исходного кода и содержит последние дополнения, хотя и с меньшим тестированием.

    Концепции

    Цель аудита

    Представляет логическую группу функций аудита. В настоящее время DevAudit поддерживает следующие цели аудита:

    • Источник пакетов. Источник пакетов управляет зависимостями приложений и библиотек с помощью менеджера пакетов. Менеджеры пакетов устанавливают, удаляют или обновляют приложения и зависимости библиотек для операционной системы, такой как Debian Linux, или для языка или фреймворка разработки, такого как .NET или nodejs. Примеры источников пакетов: dpkg, yum, Chocolatey, Composer, Bower. DevAudit проверяет имена и версии установленных пакетов на наличие уязвимостей, сообщенных для конкретных версий этих пакетов.
    • Приложение. Приложение, такое как Drupal, или пользовательское приложение, созданное с использованием фреймворка, такого как ASP.NET. DevAudit проверяет приложения, модули и плагины приложений на наличие уязвимостей, сообщенных для конкретных версий бинарных файлов приложений, модулей и плагинов. DevAudit также может проверять конфигурации приложений на наличие известных уязвимостей и выполнять статический анализ кода приложений на наличие известных слабых мест.
    • Сервер приложений. Серверы приложений предоставляют непрерывно работающие службы или демоны, такие как веб-сервер или сервер базы данных, для использования другими приложениями или для доступа пользователей к таким службам, как аутентификация. Примеры серверов приложений: серверы OpenSSH sshd и Apache httpd. DevAudit может проверять бинарные файлы серверов приложений, модули и плагины на наличие уязвимостей, сообщенных для конкретных версий, а также проверять конфигурации серверов на наличие известных уязвимостей и слабых мест в конфигурации сервера.

    Среда аудита

    Представляет логическую среду, в которой выполняются аудиты целей аудита. Среды аудита абстрагируют операции ввода-вывода и выполнения команд, необходимые для аудита, и позволяют выполнять одинаковые функции для целей аудита независимо от физического или сетевого расположения файлов и исполняемых файлов цели. В настоящее время поддерживаются следующие среды:

    • Локальная. Это среда аудита по умолчанию, в которой аудиты выполняются на локальной машине.
    • SSH. Аудиты выполняются на удаленном хосте, подключенном через SSH. Устанавливать DevAudit на удаленном хосте не требуется.
    • WinRM. Аудиты выполняются на удаленном хосте Windows, подключенном через WinRM. Устанавливать DevAudit на удаленном хосте не требуется.
    • Docker. Аудиты выполняются на работающем контейнере Docker. Устанавливать DevAudit на образе контейнера не требуется.
    • GitHub. Аудиты выполняются непосредственно в файловой системе репозитория проекта на GitHub. Для выполнения аудита не требуется извлекать или загружать проект локально.

    Параметры аудита

    Это различные параметры, которые можно включить для аудита. Вы можете указать параметры, применимые к программе DevAudit, например, для работы в неинтерактивном режиме, а также параметры, применимые к цели, например, если вы установите для параметра AppDevMode при аудите приложений ASP.NET значение true, то некоторые правила аудита не будут включены.

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

    CLI является основным интерфейсом программы DevAudit и подходит как для интерактивного использования, так и для неинтерактивного использования в запланированных задачах, скриптах оболочки, конвейерах сборки CI и задачах после сборки в средах разработки IDE. Основной синтаксис CLI DevAudit:

    root@kitploit:~
    devaudit ЦЕЛЬ [СРЕДА] | [ПАРАМЕТРЫ]
    

    где ЦЕЛЬ указывает цель аудита, СРЕДА указывает среду аудита, а ПАРАМЕТРЫ указывают параметры для цели и среды аудита. Есть 2 способа указать параметры: программные параметры и общие параметры аудита, применимые к нескольким целям, можно указать непосредственно в командной строке в качестве параметров. Параметры, специфичные для цели, можно указать с помощью параметра -o в формате: -o ПАРАМЕТР1=ЗНАЧЕНИЕ1,ПАРАМЕТР2=ЗНАЧЕНИЕ2,.... где запятые разделяют каждую пару ключ-значение.

    Если вы перенаправляете вывод программы в файл или используете конвейер, всегда следует использовать параметр -n --non-interactive, чтобы отключить любые интерактивные функции пользовательского интерфейса и анимации.

    При указании путей к файлам префикс @ перед путем указывает DevAudit, что этот путь относителен к корневому каталогу цели аудита. Например, если вы укажете: -r c:\myproject -b @bin\Debug\app2.exe DevAudit считает путь к бинарному файлу как c:\myproject\bin\Debug\app2.exe.

    Цели аудита

    Источники пакетов

    • msi Выполнить аудит пакетов источника пакетов Windows Installer MSI на машинах Windows.

    • npm Выполнить аудит пакетов NPM package.json.

    • choco Выполнить аудит пакетов, установленных менеджером пакетов Choco.

    • oneget Выполнить аудит пакетов системного источника OneGet на Windows.

    • nuget Выполнить аудит пакетов источника NuGet v2. Необходимо указать расположение файла packages.config NuGet, который вы хотите проверить, с помощью параметра -f или --file, иначе будет выполнен поиск этого файла в текущем каталоге.

    • bower Выполнить аудит пакетов источника Bower. Необходимо указать расположение файла packages.json Bower, который вы хотите проверить, с помощью параметра -f или --file, иначе будет выполнен поиск этого файла в текущем каталоге.- composer Выполнить аудит пакетов источника пакетов Composer. Вы должны указать расположение файла composer.json Composer, который вы хотите проверить, с помощью опции -f или --file, иначе будет выполнен поиск этого файла в текущей директории.

    • dpkg Выполнить аудит пакетов системного источника пакетов dpkg на Debian Linux и производных.

    • rpm Выполнить аудит пакетов системного источника пакетов RPM на RedHat Linux и производных.

    • yum Выполнить аудит пакетов системного источника пакетов Yum на RedHat Linux и производных.

    Для каждого источника пакетов можно использовать следующие общие опции аудита:

    • -f --file Указать расположение файла конфигурации менеджера пакетов, если необходимо. Источники пакетов NuGet, Bower и Composer требуют этой опции.
    • --list-packages Только вывести список пакетов в источнике пакетов, просканированном DevAudit.
    • --list-artifacts Только вывести список артефактов, найденных на OSS Index для пакетов, просканированных DevAudit.

    Источники пакетов, помеченные как [Experimental], доступны только в ветке master исходного кода и могут иметь ограниченную поддержку серверной части OSS Index. Однако вы всегда можете вывести список просканированных пакетов и доступных артефактов на OSS Index с помощью опций list-packages и list-artifacts.

    Applications

    • aspnet Выполнить аудит приложения для приложения ASP.NET. Соответствующие опции:

      • -r --root-directory Указать корневую директорию приложения. Это просто корневая директория приложения верхнего уровня, содержащая такие файлы, как Global.asax и Web.config.
      • -b --application-binary Указать двоичный файл приложения. Это сборка .NET, содержащая байт-код .NET приложения. Этот файл обычно имеет расширение .DLL и находится в подпапке bin корневой директории приложения ASP.NET.
      • --config-file или -o AppConfig=configuration-file Указывает файл конфигурации приложения ASP.NET. Этот файл обычно называется Web.config и находится в корневой директории приложения. Вы можете переопределить значение по умолчанию @Web.config с помощью этой опции.
      • -o AppDevMode=enabled Указывает, что для аудита должен быть включен режим разработки приложения. Этот режим можно использовать при аудите приложения, находящегося в разработке. Некоторые правила конфигурации, помеченные как отключенные для AppDevMode (например, запуск приложения в режиме отладки ASP.NET), не будут включены во время аудита.
    • netfx Выполнить аудит приложения для приложения .NET. Соответствующие опции:

      • -r --root-directory Указать корневую директорию приложения. Это просто корневая директория приложения верхнего уровня, содержащая такие файлы, как App.config.
      • -b --application-binary Указать двоичный файл приложения. Это сборка .NET, содержащая байт-код .NET приложения. Этот файл обычно имеет расширение .DLL и находится в подпапке bin корневой директории приложения ASP.NET.
      • --config-file или -o AppConfig=configuration-file Указывает файл конфигурации приложения .NET. Этот файл обычно называется App.config и находится в корневой директории приложения. Вы можете переопределить значение по умолчанию @App.config с помощью этой опции.
      • -o GendarmeRules=RuleLibrary Указывает, что для аудита должен быть включен статический анализатор Gendarme с использованием правил из указанной библиотеки правил. Например: devaudit netfx -r /home/allisterb/vbot-debian/vbot.core -b @bin/Debug/vbot.core.dll --skip-packages-audit -o GendarmeRules=Gendarme.Rules.Naming запустит статический анализатор Gendarme на сборке vbot.core.dll с использованием правил из библиотеки Gendarme.Rules.Naming. Полный список библиотек правил (взято из вики Gendarme):
      • Gendarme.Rules.BadPractice
      • Gendarme.Rules.Concurrency
      • Gendarme.Rules.Correctness
      • Gendarme.Rules.Design
      • Gendarme.Rules.Design.Generic
      • Gendarme.Rules.Design.Linq
      • Gendarme.Rules.Exceptions
      • Gendarme.Rules.Gendarme
      • Gendarme.Rules.Globalization
      • Gendarme.Rules.Interoperability
      • Gendarme.Rules.Interoperability.Com
      • Gendarme.Rules.Maintainability
      • Gendarme.Rules.NUnit
      • Gendarme.Rules.Naming
      • Gendarme.Rules.Performance
      • Gendarme.Rules.Portability
      • Gendarme.Rules.Security
      • Gendarme.Rules.Security.Cas
    • drupal7 Выполнить аудит приложения для приложения Drupal 7.

      • -r --root-directory Указать корневую директорию приложения. Это просто корневая директория верхнего уровня вашей установки Drupal 7.
    • drupal8 Выполнить аудит приложения для приложения Drupal 8.

      • -r --root-directory Указать корневую директорию приложения. Это просто корневая директория верхнего уровня вашей установки Drupal 8.

    Все приложения также поддерживают следующие общие опции для аудита модулей или плагинов приложения:

    • --list-packages Только вывести список плагинов или модулей приложения, просканированных DevAudit.

    • --list-artifacts Только вывести список артефактов, найденных на OSS Index для плагинов и модулей приложения, просканированных DevAudit.

    • --skip-packages-audit Выполнить только аудит конфигурации или анализ кода приложения, пропустив аудит пакетов.

    Application Servers

    • sshd Выполнить аудит сервера приложений для сервера, совместимого с OpenSSH sshd.

    • httpd Выполнить аудит сервера приложений для сервера, совместимого с Apache httpd.

    • mysql Выполнить аудит сервера приложений для сервера, совместимого с MySQL (например, MariaDB или Oracle MySQL).

    • nginx Выполнить аудит сервера приложений для сервера Nginx.

    • pgsql Выполнить аудит сервера приложений для сервера PostgreSQL.

    Это пример командной строки для аудита сервера приложений: ./devaudit httpd -i httpd-2.2 -r /usr/local/apache2/ --config-file @conf/httpd.conf -b @bin/httpd который выполняет аудит сервера Apache Httpd, работающего в контейнере Docker с именем httpd-2.2.

    Следующие опции аудита являются общими для всех серверов приложений:

    • -r --root-directory Указывает корневую директорию сервера. Это просто верхний уровень файловой системы вашего сервера, по умолчанию — /, если вы не хотите другую корневую директорию сервера.
    • --config-file Указывает файл конфигурации сервера. Например, в приведенном выше аудите файл конфигурации Apache находится по пути /usr/local/apache2/conf/httpd.conf. Если вы не укажете файл конфигурации, DevAudit попытается автоматически определить его для выбранного сервера.
    • -b --application-binary Указывает двоичный файл сервера. Например, в приведенном выше аудите двоичный файл Apache находится по пути /usr/local/apache2/bin/httpd. Если вы не укажете путь к двоичному файлу, DevAudit попытается автоматически определить его для выбранного сервера.

    Серверы приложений также поддерживают следующие общие опции для аудита модулей или плагинов сервера:

    • --list-packages Только вывести список плагинов или модулей приложения, просканированных DevAudit.

    • --list-artifacts Только вывести список артефактов, найденных на OSS Index для плагинов и модулей приложения, просканированных DevAudit.

    • --skip-packages-audit Выполнить только аудит конфигурации сервера, пропустив аудит пакетов.

    Environments

    В настоящее время поддерживается 5 сред аудита: локальная, удаленные хосты через SSH, удаленные хосты через WinRM, контейнеры Docker и GitHub. Локальные среды используются по умолчанию, если не указаны другие опции среды.

    SSH

    Среда SSH позволяет выполнять аудит на любых удаленных хостах, доступных через SSH, без необходимости установки DevAudit на удаленном хосте. Среды SSH кроссплатформенны: вы можете подключиться к удаленному хосту Linux с машины Windows, на которой запущен DevAudit. Среда SSH создается следующими опциями: -s SERVER [--ssh-port PORT] -u USER [-k KEYFILE] [-p | --password-text PASSWORD]

    -s SERVER Указывает удаленный хост или IP для подключения через SSH.

    -u USER Указывает пользователя для входа на сервер.

    --ssh-port PORT Указывает порт на удаленном хосте для подключения. По умолчанию — 22.

    -k KEYFILE Указывает файл закрытого ключа, совместимого с OpenSSH, для подключения к удаленному серверу. В настоящее время поддерживаются только ключи RSA или DSA в файлах формата PEM.

    -p Вывести подсказку с отключенным локальным эхом для интерактивного ввода пароля сервера или ключевой фразы файла ключа.

    --password-text PASSWORD Указать пароль пользователя или ключевую фразу файла ключа в виде открытого текста в командной строке. Обратите внимание, что в Linux, если ваш пароль содержит специальные символы, следует заключать текст в командной строке в одинарные кавычки, например 'MyPa<ss', чтобы оболочка не интерпретировала специальные символы.

    WinRM

    Среда WinRM позволяет выполнять аудит на любых удаленных хостах Windows, доступных через WinRM, без необходимости установки DevAudit на удаленном хосте. Среды WinRM в настоящее время доступны только на машинах Windows, на которых запущен DevAudit. Среда WinRM создается следующими опциями: -w IP -u USER [-p | --password-text PASSWORD]

    -w IP Указывает удаленный IP для подключения через WinRM.

    -u USER Указывает пользователя для входа на сервер.

    -p Вывести подсказку с отключенным локальным эхом для интерактивного ввода пароля сервера или ключевой фразы файла ключа.

    --password-text PASSWORD Указать пароль сервера или ключевую фразу файла ключа в виде открытого текста в командной строке.

    Docker

    В этом разделе рассматривается, как аудировать образы Docker с помощью DevAudit, установленного на локальной машине. Информацию о запуске DevAudit как контейнеризованного приложения Docker см. в разделе ниже об использовании Docker.

    Среда аудита Docker задается следующей опцией: -i CONTAINER_NAME | -i CONTAINER_ID

    Screenshot of DevAudit auditing a Docker container CONTAINER_(NAME|ID) Указывает имя или идентификатор запущенного контейнера Docker для подключения. Контейнер должен быть уже запущен, так как DevAudit не умеет запускать контейнер с требуемым вами именем или состоянием.

    GitHub

    Среда аудита GitHub позволяет выполнять аудит непосредственно в репозитории проекта на GitHub. Среда GitHub создается опцией -g: -g "Owner=OWNER,Name=NAME,Branch=BRANCH"

    OWNER Указывает владельца проекта

    NAME Указывает имя проекта

    PATH Указывает ветку проекта для подключения

    Вы можете использовать опции -r, --config-file и -f как обычно, чтобы указать пути к файлам и директориям файловой системы, необходимым для аудита. Например, следующая команда: devaudit aspnet -g "Owner=Dnnsoftware,Name=Dnn.Platforn,Branch=Release/9.0.2" -r /Website --config-file @web.config выполнит аудит ASP.NET для этого репозитория https://github.com/dnnsoftware/Dnn.Platform/ с использованием исходной папки /Website в качестве корневой директории и файла web.config в качестве файла конфигурации ASP.NET. Обратите внимание, что в большинстве сред имена файлов чувствительны к регистру.

    Screenshot of a GitHub project audit

    Program Options

    -n --non-interactive Запустить DevAudit в неинтерактивном режиме со всеми отключенными интерактивными функциями и анимациями CLI. Этот режим необходим, например, для запуска DevAudit в shell-скриптах, иначе возникнут ошибки при попытке DevAudit использовать интерактивные возможности консоли.

    -d --debug Запустить DevAudit в режиме отладки. Будут выведены различные информационные и диагностические сообщения. Этот режим используется для устранения ошибок и неполадок DevAudit.

    Docker Usage

    DevAudit также поставляется как контейнеризованное приложение Docker, что позволяет пользователям в Linux запускать DevAudit без необходимости установки Mono и сборки из исходного кода. Чтобы загрузить образ Docker DevAudit из Docker Hub:

    docker pull ossindex/devaudit[:label]

    Текущие образы имеют размер около 131 МБ в сжатом виде. По умолчанию загружается образ с меткой latest, который является последней версией программы. Также доступен образ unstable, который отслеживает ветку master исходного кода. Чтобы запустить DevAudit как контейнеризованное приложение:

    root@kitploit:~
    docker run -i -t ossindex/devaudit TARGET [ENVIRONMENT] | [OPTIONS]
    

    Опции Docker -i и -t необходимы для интерактивного запуска DevAudit. Если вы не укажете эти опции, то должны запустить DevAudit в неинтерактивном режиме, используя опцию DevAudit -n.

    Вы должны смонтировать любые директории на хост-машине Docker, к которым DevAudit нуждается в доступе, в контейнере Docker DevAudit с помощью опции Docker -v. Если вы смонтируете свою локальную корневую директорию в точке монтирования с именем /hostroot на образе Docker, то DevAudit сможет получать доступ к файлам и директориям на вашей локальной машине, используя те же локальные пути. Например:

    docker run -i -t -v /:/hostroot:ro ossindex/devaudit netfx -r /home/allisterb/vbot-debian/vbot.core

    позволит контейнеру Docker DevAudit выполнить аудит локальной директории /home/allisterb/vbot-debian/vbot.core. Вы должны смонтировать свою локальную корневую директорию таким образом, чтобы выполнять аудит других контейнеров Docker из контейнера DevAudit, например:

    docker run -i -t -v /:/hostroot:ro ossindex/devaudit mysql -i myapp1 -r / --config-file /etc/my.cnf --skip-packages-audit

    выполнит аудит MySQL на контейнере Docker с именем myapp1 из контейнера ossindex/devaudit.

    Если вам не нужно монтировать всю корневую директорию, вы можете смонтировать только директорию, необходимую для аудита. Например:

    docker run -i -t -v /home/allisterb/vbot-debian/vbot.core:/vbot:ro ossindex/devaudit netfx -r /vbot -b @bin/Debug/vbot.core.dll

    смонтирует в режиме только для чтения директорию /home/allisterb/vbot-debian/vbot.core как /vbot в контейнере DevAudit, что позволит DevAudit получить к ней доступ как к корневой директории аудита для аудита приложения netfx в /vbot.

    Если вы хотите использовать файлы закрытых ключей на локальном хосте Docker для аудита через SSH, вы можете смонтировать директорию, содержащую необходимый файл ключа, а затем указать DevAudit использовать этот путь к файлу, например:

    docker -i -t -v /home/allisterb/.ssh:/ssh:ro run ossindex/devaudit dpkg -s localhost -u allisterb -p -k /ssh/mykey.key

    смонтирует директорию, содержащую файлы ключей, в /ssh и позволит контейнеру DevAudit использовать их.

    Обратите внимание, что в настоящее время контейнер Docker не может выполнять аудит источников пакетов операционной системы, таких как dpkg или rpm, или серверов приложений, таких как OpenSSH sshd, на локальном хосте Docker без монтирования вашей локальной корневой директории в /hostroot, как описано выше. DevAudit должен выполнить chroot в вашу локальную корневую директорию из контейнера Docker при запуске исполняемых файлов, таких как dpkg, или двоичных файлов сервера, таких как sshd и httpd. Вы также должны смонтировать свою локальную корневую директорию, как описано выше, для аудита других контейнеров Docker из контейнера DevAudit, поскольку DevAudit также необходимо выполнить chroot в вашу локальную корневую директорию для выполнения локальных команд Docker для связи с вашими другими контейнерами.

    Для выполнения аудита через SSH из контейнера DevAudit не требуется монтировать локальную корневую директорию в /hostroot.

    Troubleshooting

    Если вы столкнулись с ошибкой или другой проблемой в DevAudit, вы можете включить несколько вещей, чтобы помочь нам её решить:

    • Используйте опцию -d для включения отладочного вывода. Диагностическая информация будет выводиться во время аудита.
    • В Linux используйте переменную DEVAUDIT_TRACE для включения трассировки выполнения программы. Значение этой переменной должно быть в формате трассировки Mono. Например, вы можете установить DEVAUDIT_TRACE=N:DevAudit.AuditLibrary для трассировки всех вызовов, сделанных к библиотеке аудита во время аудита.

    Known Issues

    • В Windows вы должны использовать опцию программы -n --non-interactive при перенаправлении вывода программы в файл, иначе произойдет сбой. В будущем это поведение может быть изменено, чтобы неинтерактивный режим стал режимом по умолчанию.
    • Похоже, существует проблема при использовании консольного приложения Windows ConEmu и сборок Cygwin клиента OpenSSH при подключении по SSH к удаленным хостам Linux для запуска приложений Mono. Если вы запускаете DevAudit таким образом, вы можете заметить странные последовательности, появляющиеся иногда в конце вывода консоли. Также могут возникнуть проблемы во время интерактивного ввода с клавиатуры, например при вводе паролей для аудита SSH, когда отправляется неправильный пароль. Если у вас возникли проблемы с вводом паролей для аудита SSH с помощью ConEmu при удаленной работе, попробуйте удерживать клавишу Backspace в течение секунды или двух, чтобы очистить буфер ввода перед вводом пароля.
    Скачать инструмент
  • Gendarme.Rules.Serialization
  • Gendarme.Rules.Smells
  • Gendarme.Rules.Ui