Skip to main content

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

著者
Headshot of Hadar Mutai

Hadar Mutai

blog hero test in terraform

2022年8月30日

0 分で読めます

イメージをスキャンする際は、イメージに含まれるセキュリティ上の問題をすべて把握できるよう、オペレーティングシステムの脆弱性と、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 lilac
Blog

エージェント型修正で脆弱性バックログをプルリクエストに変える

Evo Remediation Agentがオープンプレビューで利用可能になり、Evo Agentic AppSecに依存関係の自動解決機能が加わりました。AppSecチームは継続的な修正キャンペーンを実施できるようになりました

AI Background min crop
Blog

AIが、あなたが受け入れてきたあらゆるリスクを一気に顕在化させる:AI Security Panel: Unfilteredから得た7つの洞察

AIによって攻撃はより安価かつ高速になり、組織がすでに抱えているリスクが露呈しています。4人のセキュリティリーダーが、機械の速度に対応する防御と迅速な修復が今不可欠である理由を語ります。

blog feature ai violet
Blog

VulnBump:AIエージェントはビルドを壊さずに脆弱な依存関係を修正できるか?

VulnBumpでは、実際の依存関係のアップグレード307件をAIエージェントで検証します。脆弱性が解消され、ビルドとテストが正常に通った場合にのみ、修正成功と判定します。