Skip to main content

Snyk CLIを使ったコンテナアプリケーションのセキュリティ確保

著者
Headshot of Hadar Mutai

Hadar Mutai

blog hero test in terraform

2022年8月30日

4 分で読めます

イメージをスキャンする際は、イメージに含まれるセキュリティ上の問題をすべて把握できるよう、オペレーティングシステムの脆弱性と、npm、pom.xml、package.jsonなどのアプリケーション依存関係の脆弱性の両方をスキャンしたいはずです。

これまで、Snyk Containerのtest/monitorコマンドでイメージをスキャンする際に、アプリケーションの脆弱性をスキャンするには--app-vulnsフラグを指定する必要がありました。

このたび、snyk container test/monitor コマンドで、アプリケーションの脆弱性もデフォルトでスキャンされるようになりました。この変更は近いうちに適用される予定です。適用後にこのブログを更新しますので、新機能を利用するにはSnyk CLIを忘れずにアップデートしてください。記事の最後に記載した手順に沿って、今すぐこの動作を有効にすることもできます。

このアップデートに伴い、--jsonフラグを使用した場合も、アプリケーションの脆弱性が含まれるようになりました。JSON出力に新しいapplicationsキーを追加し、すべてのアプリケーションスキャン結果を配列として含めています。新しいJSON形式は次のようになります。

{
  "vulnerabilities": [],
  "ok": true,
  "dependencyCount": 13,
  ...
  "packageManager": "apk",
  "summary": "No known operating system vulnerabilities",
  "uniqueCount": 0,
  "projectName": "docker-image|snykgoof/os-app",
  "platform": "linux/amd64",
  "path": "snykgoof/os-app:node-snykin/os-app",
  "applications": [
    {
      "vulnerabilities": [
        {
          A bunch of vulns
        },
        ...
      ],
      "ok": false,
      "dependencyCount": 116,
      "packageManager": "yarn",
      "summary": "14 vulnerable dependency paths",
      "uniqueCount": 9,
      "targetFile": "/app2/package.json",
      "projectName": "snykin",
      "displayTargetFile": "/app2/package.json",
      "path": "snykgoof/os-app:node-snykin"
    }
  ]

新しいJSON出力は、CLIバージョン1.962.0で利用できます。

CI/CDパイプラインでのSnyk CLIの使用

継続的インテグレーション/継続的デリバリー(CI/CD)パイプラインにセキュリティスキャンを追加することは、イメージをスキャンしてコンテナを保護する一般的な方法です。また、CI/CDパイプラインとの連携には最終的にSnyk CLIを使用するため、結果に加わるあらゆる変更を把握しておくことが重要です。

この変更はビルドにどのような影響がありますか?

既存のCI/CDワークフローにSnyk Containerのテストを組み込んでいる場合、このアップデートによりスキャンで検出される脆弱性が増える可能性があります。アプリケーションの脆弱性も含まれるようになるためです。

すでに--app-vulnsフラグを使用している場合、スキャンの動作や結果に変更はありません。一方、snyk container testコマンドで--app-vulnsフラグを指定していない場合は、スキャンの動作が変わり、検出される脆弱性が増える可能性があります。以前の動作を維持したい場合は、--exclude-app-vulnsフラグを指定してアプリケーションの脆弱性スキャンを「オプトアウト」できます。このフラグを指定すると、結果からアプリケーションの脆弱性に関するセクションが除外され、以前と同じ動作になります。

CLIの最新バージョンをダウンロードし、できるだけ早く現在の設定でアップデートをテストすることをおすすめします。

続きを読む

blog feature ai pink
Blog

PHP2Shellが最後ではない。次の脆弱性が最初に現れる場所

PHP2Shellは、エンジンレベルの欠陥がインターネットに公開されたアプリケーションをいかに速く危険にさらすかを示しました。次の脆弱性が公表される前に、外部からの資産把握、迅速なテスト、繰り返しの確認がなぜ重要なのかをご紹介します。