
Tfsec теперь является частью Trivy
В рамках нашей цели предоставить комплексное решение для безопасности с открытым исходным кодом для всех, мы объединили все наши усилия по сканированию в одном месте — Trivy.
За последний год tfsec заложил основы для возможностей Trivy по сканированию IaC и неверных конфигураций, включая сканирование Terraform, которое уже давно нативно поддерживается в Trivy.
Впредь мы хотим поощрять сообщество tfsec к переходу на Trivy. Переход на Trivy даёт вам тот же отличный движок сканирования Terraform с некоторыми дополнительными преимуществами:
Для получения дополнительной информации о том, как Trivy сравнивается с tfsec, и о переходе с tfsec на Trivy, ознакомьтесь с руководством по миграции.
tfsec использует статический анализ вашего кода Terraform для выявления потенциальных неверных конфигураций.
concat()Рейтинг Adopt от Thoughtworks Tech Radar:
В наших проектах, использующих Terraform, tfsec быстро стал стандартным инструментом статического анализа для выявления потенциальных рисков безопасности. Его легко интегрировать в CI-пайплайн, и он имеет растущую библиотеку проверок для всех основных облачных провайдеров и платформ, таких как Kubernetes. Учитывая его простоту использования, мы считаем, что tfsec может стать хорошим дополнением к любому проекту Terraform.

Установка с помощью brew/linuxbrew
brew install tfsec
Установка с помощью Chocolatey
choco install tfsec
Установка с помощью Scoop
scoop install tfsec
Bash-скрипт (Linux):
curl -s https://raw.githubusercontent.com/aquasecurity/tfsec/master/scripts/install_linux.sh | bash
Вы также можете загрузить бинарный файл для вашей системы со страницы релизов.
Кроме того, установка с помощью Go:
go install github.com/aquasecurity/tfsec/cmd/tfsec@latest
Обратите внимание, что при использовании go install установка будет производиться непосредственно из ветки master, и номера версий не будут отображаться в tfsec --version.
Бинарные файлы на странице релизов подписаны ключом подписи tfsec D66B222A3EA4C25D5D1A097FC34ACEFB46EC39CE
Для получения дополнительной информации посмотрите страницу подписи с инструкциями по проверке.
tfsec сканирует указанную директорию. Если директория не указана, используется текущая рабочая директория.
Статус выхода будет ненулевым, если tfsec обнаружит проблемы, в противном случае статус выхода будет нулевым.
tfsec .
В качестве альтернативы установке и запуску tfsec в вашей системе, вы можете запустить tfsec в Docker-контейнере.
Доступно несколько вариантов Docker
| Имя образа | База | Комментарий |
|---|---|---|
| aquasec/tfsec | alpine | Обычный образ tfsec |
| aquasec/tfsec-alpine | alpine | То же самое, что и aquasec/tfsec, но для тех, кто любит явность |
| aquasec/tfsec-ci | alpine | tfsec без точки входа — полезно для CI-сборок, когда нужно переопределить команду |
| aquasec/tfsec-scratch | scratch | Образ на основе scratch — ничего лишнего, просто запускает tfsec |
Для запуска:
docker run --rm -it -v "$(pwd):/src" aquasec/tfsec /src
Разрабатывается расширение для Visual Studio Code для интеграции с результатами tfsec. Дополнительную информацию можно найти на странице tfsec в Marketplace
Если вы хотите запускать tfsec в вашем репозитории в качестве GitHub Action, вы можете использовать https://github.com/aquasecurity/tfsec-pr-commenter-action.
Теперь вы можете установить официальную задачу tfsec. Пожалуйста, сообщайте о любых проблемах/запросах функций в репозиторий задачи.
Вы можете игнорировать некоторые предупреждения. Для этого просто добавьте комментарий, содержащий tfsec:ignore:<правило>, к строке с нарушением в ваших шаблонах. Альтернативно, вы можете добавить комментарий к строке над блоком, содержащим проблему, или к блоку модуля, чтобы игнорировать все вхождения проблемы внутри модуля.
Например, чтобы игнорировать открытое правило группы безопасности: