
Официальный инструмент командной строки VulnCheck
vulncheck — это доступ к VulnCheck API из командной строки. Он приносит в терминал просмотр индексов, управление резервными копиями и сканирование уязвимостей.
Вы можете легко установить vulncheck с помощью скрипта установки. Выберите скрипт и метод, соответствующие вашей операционной системе:
Откройте терминал и выполните:
curl -sSL https://raw.githubusercontent.com/vulncheck-oss/cli/main/install.sh | bash
Скрипт предложит выбрать между общесистемной установкой (требуется sudo) и установкой для локального пользователя.
[!NOTE] Скрипт установки также поддерживает неинтерактивные параметры установки:
--sudoдля общесистемной установки без запросов--non-sudoдля установки локальному пользователю без запросов--helpили-hдля просмотра всех доступных параметровcurl -sSL https://raw.githubusercontent.com/vulncheck-oss/cli/main/install.sh | bash -s -- --help
Откройте PowerShell и выполните:
iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/vulncheck-oss/cli/main/install.ps1'))
Чтобы включить автодополнение по Tab, подключите поставляемый скрипт из вашего профиля PowerShell:
Add-Content -Path $PROFILE -Value ". '$env:LOCALAPPDATA\Programs\vulncheck\share\powershell\vulncheck.ps1'"
Бинарные файлы vulncheck также доступны для MacOS, Linux и Windows. Вы можете скачать скомпилированные бинарные файлы со страницы релизов
После установки убедитесь, что бинарный файл выводит нужную версию:
vulncheck version
Вы должны увидеть версию, дату сборки и URL списка изменений. Если вы получили "command not found", переоткройте оболочку, чтобы новый PATH был подхвачен, и попробуйте снова.
vulncheck auth login, чтобы аутентифицироваться с вашей учётной записью VulnCheck.vulncheck учитывает переменную окружения VULNCHECK_API_TOKEN — то же имя, которое используется в VulnCheck SDK и MCP-сервере. Устаревшая VC_TOKEN также по-прежнему работает и имеет приоритет, когда заданы обе.vulncheck auth сам по себе покажет другие опции, такие как проверка вашего статуса и выход из системы.Любая из переменных окружения имеет приоритет над сохранённым файлом конфигурации. Из-за этого auth login и auth logout отказываются работать, пока одна из них задана — иначе они сообщали бы об успехе, не изменив ничего, что вступает в силу. Выполните vulncheck auth status, чтобы увидеть, из какого источника и из какой переменной взят активный токен.
CLI спроектирован так, чтобы его было безопасно использовать из скриптов и ИИ-агентов. Этот раздел — контракт: перечисленные ниже поверхности должны оставаться стабильными между релизами (добавления не являются ломающими изменениями; переименования / удаления — являются).
| Флаг | Действие |
|---|---|
--json | Выводить JSON в stdout; направлять информационные строки/строки прогресса в stderr; ошибки выводятся в виде структурированного конверта. |
--quiet | Подавлять информационный вывод. Ошибки и полезная нагрузка всё равно отображаются. |
--no-color | Отключить ANSI-стилизацию. Также учитывает переменную окружения NO_COLOR. |
--no-interactive | Отказаться блокироваться на TUI-запросах; команды, которым нужен запрос, вместо этого возвращают ошибку. Подразумевается --json, не-TTY stdin/stdout и любой из переменных окружения CI / BUILD_NUMBER / RUN_ID. |
| Переменная | Действие |
|---|---|
VULNCHECK_API_TOKEN | API-токен, и рекомендуемое имя — общее с VulnCheck SDK и MCP-сервером. Имеет приоритет над ~/.config/vulncheck/vulncheck.yaml; пока задана, auth login и auth logout отказываются работать, вместо того чтобы записать файл, который был бы проигнорирован. |
VC_TOKEN | Устаревший псевдоним, по-прежнему полностью поддерживается и имеет приоритет над VULNCHECK_API_TOKEN, когда заданы обе, так что ни одна существующая конфигурация не меняет учётные данные. Очистите обе, чтобы вернуться к файлу конфигурации. auth status сообщает, какая используется. |
NO_COLOR | Любое непустое значение отключает ANSI-стилизацию. |
CI / BUILD_NUMBER / RUN_ID | Любая из этих заданных переменных подразумевает неинтерактивный режим (без запросов). |
| Код | Значение |
|---|---|
| 0 | Успех. |
| 1 | Общая / внутренняя ошибка. |
| 2 | Ошибка валидации (неверные аргументы, отсутствует обязательный флаг, некорректный запрос). |
| 3 | Ошибка аутентификации (нет токена или сервер отклонил токен). |
| 4 | Ресурс не найден (HTTP 404, нет такого индекса). |
| 5 | Превышен лимит запросов (HTTP 429). |
| 6 | Сетевая ошибка (DNS, отказ в соединении, тайм-аут). |
| 130 | Отменено по SIGINT (POSIX 128 + 2). |
В режиме --json ошибки выводятся в stdout в виде:
{
"schema_version": 1,
"error": {
"code": "auth_required",
"message": "...",
"http_status": 401,
"hint": "..."
}
}
code — одно из: internal, validation, auth_required, auth_invalid, not_found, rate_limited, network, bad_request, cancelled. http_status опускается для не-HTTP ошибок. hint — необязательный контекст по устранению проблемы, присутствует только когда одного сообщения недостаточно для действий (например, указание переменной, из которой взят отклонённый токен). Вне режима --json отображается в stderr как hint: ....
Используйте их для проверки самого CLI перед отправкой работы:
vulncheck version --json
# {"schema_version": 1, "version": "...", "build_date": "...", "changelog_url": "..."}