
Обнаруживайте нарушения соответствия и безопасности в Инфраструктуре как код, чтобы снизить риски перед предоставлением облачной нативной инфраструктуры.
- Этот проект больше не поддерживается. Репозиторий заархивирован, и дальнейшие обновления, проблемы или запросы на слияние приниматься не будут.
- Вы можете форкнуть его, если хотите продолжить разработку.

Terrascan — это статический анализатор кода для инфраструктуры как код (Infrastructure as Code). Terrascan позволяет:
Чтобы попробовать Terrascan в браузере, посетите песочницу Terrascan: https://www.tenable.com/terrascan
Чтобы узнать больше о функциях и возможностях Terrascan, посетите портал документации: https://runterrascan.io
Присоединяйтесь к сообществу Tenable 👇
Terrascan поддерживает несколько способов установки, также доступен в виде Docker-образа. Смотрите страницу релизов Terrascan для последней версии сборок для всех поддерживаемых платформ. Выберите подходящий бинарный файл для вашей платформы.
curl -L "$(curl -s https://api.github.com/repos/tenable/terrascan/releases/latest | grep -o -E "https://.+?_Linux_x86_64.tar.gz")" > terrascan.tar.gz
tar -xf terrascan.tar.gz terrascan && rm terrascan.tar.gz
sudo install terrascan /usr/local/bin && rm terrascan
terrascan
AURПользователи ArchLinux и Manjaro могут установить командой:
yay -S terrascan
brewПользователи Homebrew могут установить командой:
$ brew install terrascan
Terrascan также доступен в виде Docker-образа и может использоваться следующим образом:
$ docker run tenable/terrascan
Обратитесь к документации для получения информации.
Чтобы просканировать ваш код на наличие проблем безопасности, выполните следующую команду (по умолчанию сканируется Terraform).
$ terrascan scan
Примечание: Terrascan завершится с кодом ошибки, если во время сканирования будут обнаружены ошибки или нарушения.
| Сценарий | Код завершения |
|---|---|
| сводка сканирования содержит ошибки и нарушения | 5 |
| сводка сканирования содержит ошибки, но без нарушений | 4 |
| сводка сканирования содержит нарушения, но без ошибок | 3 |
| сводка сканирования не содержит ни нарушений, ни ошибок | 0 |
| ошибка команды сканирования из-за неверных входных данных | 1 |
Terrascan может быть интегрирован в конвейеры CI/CD для обеспечения соблюдения лучших практик безопасности. Пожалуйста, обратитесь к нашей документации по интеграции с вашим конвейером.
Вы можете использовать команду terrascan со следующими опциями:
$ terrascan
Terrascan
Использование:
terrascan [команда]
Доступные команды:
help Справка по любой команде
init Инициализация Terrascan
scan Обнаружение нарушений соответствия и безопасности в инфраструктуре как код.
server Запуск Terrascan в качестве API-сервера
version Версия Terrascan
Флаги:
-c, --config-path string путь к файлу конфигурации
-h, --help справка для terrascan
-l, --log-level string уровень логирования (debug, info, warn, error, panic, fatal) (по умолчанию "info")
-x, --log-type string тип вывода логов (console, json) (по умолчанию "console")
-o, --output string тип вывода (human, json, yaml, xml) (по умолчанию "human")
Используйте "terrascan [команда] --help" для получения дополнительной информации о команде.
Политики Terrascan написаны с использованием языка политик Rego. Каждый rego включает JSON-файл "rule", который определяет метаданные для политики. По умолчанию Terrascan загружает политики из репозиториев Terrascan при первом сканировании. Однако, если вы хотите загрузить последние политики, вам необходимо запустить процесс инициализации. Смотрите Использование для получения информации о процессе инициализации.
Примечание: Команда scan неявно запустит процесс инициализации, если политики не найдены.