Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
terrascan — Infrastructure as Code全体でコンプライアンスとセキュリティ違反を検出し、クラウドネイティブインフラストラクチャをプロビジョニングする前にリスクを軽減します。 | Kitploit
ツール/GitHubGitHub/tenable/terrascan
脆弱性スキャナーコンテナセキュリティ静的コード分析 (SAST)クラウドセキュリティDevSecOps設定ミスArchived
GitHubtenable/terrascan

terrascan

Infrastructure as Code全体でコンプライアンスとセキュリティ違反を検出し、クラウドネイティブインフラストラクチャをプロビジョニングする前にリスクを軽減します。

リポジトリを見る
5.2k5569ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

⚠️ アーカイブ済み

  • このプロジェクトはメンテナンスされなくなりました。リポジトリはアーカイブされており、今後のアップデート、Issue、プルリクエストは受け付けられません。
  • 開発を継続したい場合は、自由にフォークしてください。

Terrascan

GitHub release License: Apache 2.0 PRs Welcome CI Quality Gate Status AUR package codecov Documentation Status Contributor Covenant GitHub all releases

はじめに

Terrascan は Infrastructure as Code(IaC)向けの静的コード解析ツールです。Terrascan を使用すると、以下のことが可能です。

  • Infrastructure as Code をシームレスにスキャンし、設定ミスを検出。
  • プロビジョニング済みのクラウドインフラストラクチャを監視し、設定変更によるポスチャードリフトを検出。安全な状態へのロールバックを可能にします。
  • セキュリティ脆弱性やコンプライアンス違反を検出。
  • クラウドネイティブインフラストラクチャをプロビジョニングする前にリスクを軽減。
  • ローカルで実行するか、CI/CD と統合するかの柔軟性を提供。

リソース

  • Terrascan をブラウザで試すには、Terrascan サンドボックス https://www.tenable.com/terrascan をご覧ください。

  • Terrascan の機能と能力の詳細については、ドキュメントポータル https://runterrascan.io をご覧ください。

Tenable コミュニティに参加👇

主な機能

  • 500 以上のセキュリティベストプラクティスに関するポリシー
  • Terraform(HCL2)のスキャン
  • AWS CloudFormation テンプレート(CFT)のスキャン
  • Azure Resource Manager(ARM)のスキャン
  • Kubernetes(JSON/YAML)、Helm v3、Kustomize のスキャン
  • Dockerfile のスキャン
  • AWS、Azure、GCP、Kubernetes、Dockerfile、GitHub のサポート
  • AWS、Azure、GCP、Harbor コンテナレジストリ向けの Docker イメージ脆弱性スキャンとの統合

クイックスタート

  1. インストール
  2. スキャン
  3. 統合

ステップ 1: インストール

Terrascan は複数のインストール方法をサポートしており、Docker イメージとしても利用可能です。 サポートされているすべてのプラットフォームにおける最新ビルドバージョンについては、Terrascan の リリースページ を参照してください。ご自身のプラットフォームに適したバイナリを選択してください。

ネイティブ実行可能ファイルとしてインストール

root@kitploit:~
  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

ArchLinux / Manjaro に AUR 経由でインストール

ArchLinux および Manjaro ユーザーは以下でインストールできます。

root@kitploit:~
yay -S terrascan

brew 経由でインストール

Homebrew ユーザーは以下でインストールできます。

root@kitploit:~
$ brew install terrascan

Docker イメージ

Terrascan は Docker イメージとしても利用可能で、以下のように使用できます。

root@kitploit:~
$ docker run tenable/terrascan

詳細についてはドキュメントを参照してください。

ステップ 2: スキャン

コードのセキュリティ問題をスキャンするには、次のコマンドを実行します(デフォルトでは Terraform をスキャンします)。

root@kitploit:~
$ terrascan scan

注: スキャン中にエラーや違反が見つかった場合、Terrascan はエラーコードで終了します。

終了コードの一覧

シナリオ終了コード
スキャンサマリーにエラーと違反がある5
スキャンサマリーにエラーはあるが違反はない4
スキャンサマリーに違反はあるがエラーはない3
スキャンサマリーに違反もエラーもない0

ステップ 3: CI/CD と統合

Terrascan は CI/CD パイプラインに統合してセキュリティベストプラクティスを強制できます。 パイプラインへの統合については、ドキュメントを参照してください。

Terrascan コマンド

terrascan コマンドは以下のオプションで使用できます。

root@kitploit:~
$ terrascan
Terrascan

Usage:
  terrascan [command]

Available Commands:
  help        Help about any command
  init        Initialize Terrascan
  scan        Detect compliance and security violations across Infrastructure as Code.
  server      Run Terrascan as an API server
  version     Terrascan version

Flags:
  -c, --config-path string   config file path
  -h, --help                 help for terrascan
  -l, --log-level string     log level (debug, info, warn, error, panic, fatal) (default "info")
  -x, --log-type string      log output type (console, json) (default "console")
  -o, --output string        output type (human, json, yaml, xml) (default "human")

Use "terrascan [command] --help" for more information about a command.

ポリシー

Terrascan のポリシーは Rego ポリシー言語 を使用して記述されています。各 Rego には、ポリシーのメタデータを定義する JSON の "rule" ファイルが含まれています。 デフォルトでは、Terrascan は初回スキャン時に Terrascan リポジトリからポリシーをダウンロードします。ただし、最新のポリシーをダウンロードしたい場合は、初期化プロセスを実行する必要があります。初期化プロセスの詳細については使用方法を参照してください。

注: スキャンコマンドは、ポリシーが見つからない場合に暗黙的に初期化プロセスを実行します。

Docker イメージの脆弱性

--find-vuln フラグを使用して、コンテナレジストリで報告された脆弱性を Terrascan の出力の一部として収集できます。現在、Terrascan は Elastic Container Registry(ECR)、Azure Container Registry、Google Container Registry、Google Artifact Registry をサポートしています。

--find-vuln フラグは、IaC ファイルのスキャン時に次のように使用できます。

root@kitploit:~
$ terrascan scan -i <IaC provider> --find-vuln

レジストリの API で認証するための環境設定方法の詳細については、使用方法のドキュメントを参照してください。

スキャンのカスタマイズ

デフォルトでは、Terrascan はすべてのポリシーに対して構成全体をスキャンします。ただし、Terrascan はポリシーとリソースの詳細な設定をサポートしています。

ファイル内計測 と設定ファイルの詳細については、ドキュメントサイトでお読みください。

ここでは、いくつかのクイックヒントを紹介します。

  • 特定のリソースに対して特定のポリシーを除外する
  • スキャン全体または特定のリソースのみに対して、抑制または適用するポリシーを手動で設定する

リソーススキャン時にポリシーを除外する方法

リソースのスキャン時に特定のポリシー(ルール)をスキップするように Terrascan を設定できます。プラットフォームに応じて以下の手順に従ってください。

Terraform

Terraform スクリプトを使用して、リソース内に "ts:skip=<RULENAME><SKIP_REASON>" というフレーズのコメントを挿入することで、Terrascan にルールをスキップするよう設定します。以下の例のように、コメントをリソース内に含める必要があります。

tf

Kubernetes

Kubernetes YAML では、以下のスニペットのようにアノテーションを追加することで、Terrascan にポリシーをスキップするよう設定できます。

k8s

スキャン対象から特定のポリシーやリソースを含める、または除外する方法

Terrascan 設定ファイルを使用して、スキャン全体に含める、または除外するポリシーを手動で選択します。これはエッジケースに適しています。 "in-file" 抑制オプションを使用して、特定のポリシーに対してテストされるリソースを指定します。これにより、ポリシーはすべてのリソースではなく、特定のリソースに対してのみスキップされます。

config

スキャン出力サンプル

Terrascan のデフォルト出力は、スキャンされた IaC に存在する違反のリストです。サンプル出力:

Screenshot 2021-01-19 at 10 52 47 PM

Terrascan のビルド

Terrascan はローカルでビルドできます。これは、最新バージョンを使用したい場合や、Terrascan の開発を行う場合に便利です。gcc と Go 1.19 以上が必要です。

root@kitploit:~
$ git clone [email protected]:tenable/terrascan.git
$ cd terrascan
$ make build
$ ./bin/terrascan

独自の Docker イメージをビルドするには、次の例(Alpine Linux)を参照してください。

root@kitploit:~
FROM golang:alpine AS build-env

RUN apk add --update git

RUN git clone https://github.com/tenable/terrascan && cd terrascan \
  && CGO_ENABLED=0 GO111MODULE=on go build -o /go/bin/terrascan cmd/terrascan/main.go

Terrascan の開発

Terrascan の開発とコントリビューションについて詳しくは、コントリビューションガイドを参照してください。

行動規範

私たちは、オープンでインクルーシブなコミュニティがすべての人にとって有益であると考えています。このプロジェクトはコントリビューター行動規範のもとで公開されています。このプロジェクトに参加することで、その条項に同意したものとみなされます。

ライセンス

Terrascan は Apache 2.0 ライセンス のもとで提供されています。

Stargazers

Stargazers @tenable/terrascan

Forkers

Forkers @tenable/terrascan

ツールをダウンロード
スキャンコマンドが無効な入力でエラーになる1