コンテンツにスキップ

Slackの警告の読み方

警告は、脆弱性の確認や優先度の判定、稼働時の観測で利用できなかった情報を知らせます。 種類ごとの対象と表示場所を次に示します。

種類 何を知らせるか 出る場所
スキャン 脆弱性を確認できなかったイメージや本体 全体レポートの後半、または差分レポートの末尾
脅威情報 優先度の判定に使う情報の不足や古さ 情報源の警告は所見の前、古さの注記は全体レポートの後半
Sensor 稼働時の使用状況を観測する機能の問題 チャンネル通知のヘッダーの直後

スキャンの警告

スキャンの警告は、イメージの脆弱性やNode.js・Python本体の脆弱性を確認できなかったことを知らせます。 スキャンできなかったイメージがある場合は、次のように表示します。

⚠️ スキャンできなかったイメージ 1件(脆弱性は確認できていない)

表示ごとの意味を次に示します。

表示 意味
⚠️ スキャンできなかったイメージ N件(脆弱性は確認できていない) スキャンやイメージの一致確認に失敗
⏳ 今回は未確認、前回の所見を保持 — イメージ名一覧 稼働中のイメージを確認できず、前回の所見を保持
ℹ️ Node.js の脆弱性情報を取得できなかったため、N 件のイメージの本体を照合していません。 脆弱性情報を利用できず、本体の照合を見送り

スキャンできなかったイメージの件数と確認先は、次のとおりです。

前回の所見を保持する注記は、Kubernetesで動いているイメージのdigest(内容を識別する値)を確認できなかった場合に表示します。 イメージ名によるスキャンに成功しても、稼働中のイメージと同じ内容を調べたと確認できないため、前回の所見があれば残します。

この保持の注記には、次の決まりがあります。

  • 前回の所見がなくても、今回は確認できなかったことを示すために表示
  • 同じイメージ名のスキャンがすべて失敗した場合は、この一覧には含めず、スキャン失敗の警告に表示
  • イメージ名によるスキャンかどうかは、Webhookのイメージの要素のidentity_resolvedとscan_target_kindで確認

一覧にないイメージでも、スキャン失敗によって前回の所見を保持している場合があります。 保持する結果の扱いはスキャン失敗時の扱いを参照してください。

本体を照合しなかった注記は、照合を見送った対象を次のように示します。

  • 名前は対象に応じてNode.jsまたはPython runtime、両方ならNode.js・Python runtime
  • Nは照合しなかったイメージ名を重複なく数えた件数

照合を見送る条件と前回の所見の扱いは、言語ランタイムのセキュリティ情報の利用不能時の扱いを参照してください。

スキャンできなかったイメージの表示

スキャンできなかったイメージは、原因の行の下に、そのイメージを使うワークロードとイメージ名を表示します。 次の例は、ワークロードが分からず、イメージ名だけを表示する場合です。

⚠️ スキャンできなかったイメージ 1件(脆弱性は確認できていない)
• 原因を分類できなかった(詳細はログ)
  • broken:1

ワークロードは、そのイメージを使って動くアプリケーションや処理の単位です。 表示は次のようにまとめます。

  • 同じ原因のイメージをまとめ、レジストリに関する原因は取得元ごとに分ける
  • 原因の行の下に、ワークロードとイメージ名を「 — 」で区切って並べる
  • 同じイメージを複数のワークロードが使う場合は、ワークロードごとに1行ずつ表示
  • ワークロードが分からないイメージは、同じ原因・取得元のまとまりの最後にイメージ名だけを表示

ワークロードは、実行環境に応じて次の形式で表示します。

実行環境 ワークロードの表記
Kubernetes 種類 名前空間/名前
Compose Compose プロジェクト/サービス
コンテナ名が分かる場合 コンテナ 名前

原因の表示と、その表示になる場合を次に示します。 表中の「ホスト」は取得元のレジストリを指し、ローカルレジストリはKestreLynxが動く環境から見てlocalhostなどの自分自身を指すアドレスにあるレジストリです。

原因の表示 この表示になる場合
ローカルレジストリ(ホスト)のイメージは KestreLynx から取得できない ローカルレジストリへの接続に失敗した場合
レジストリ(ホスト)のログイン情報が無い、または違うため、イメージを取得できない 認証の要求やアクセス拒否などで取得できない場合
レジストリ(ホスト)にイメージが見つからない 取得先がイメージの不在を示した場合
レジストリ(ホスト)の取得回数の制限にかかり、イメージを取得できなかった 取得先がリクエスト数の上限を理由に拒否した場合
レジストリ(ホスト)に接続できず、イメージを取得できなかった ローカル以外のレジストリに、接続拒否やタイムアウトなどで接続できない場合
脆弱性データベースを取得できなかった 脆弱性データベースの取得や初期化に失敗した場合
スキャンしたイメージが、動いているイメージと一致しなかった digestやOS・CPUの種類が稼働中のイメージと一致しない、または一致を確認できない場合
原因を分類できなかった(詳細はログ) 原因を分類できないか、レジストリのホストが分からない場合

エラーが複数の原因に当てはまる場合は、次の順で優先します。 レジストリに関する原因は、レジストリからイメージを取得するスキャンで判定します。

  1. 脆弱性データベースのエラー
  2. 認証のエラー
  3. イメージの不在
  4. 取得回数の制限
  5. 接続の失敗

エラー文そのものは、ログとWebhookのscan_errorsで確認できます。

脅威情報の警告

脅威情報の警告は、優先度の判定に使うKEVやEPSSの情報が利用できないことや、保存済みの古い情報を使っていることを知らせます。 両方の情報を利用できない場合は、次の警告を表示します。

⚠️ 脅威情報 (KEV/EPSS) が利用できない — 深刻度のみで優先度を判定、低優先度への引き下げなし

表示ごとの意味を次に示します。

表示 意味
⚠️ 脅威情報 (KEV/EPSS) が利用できない — 深刻度のみで優先度を判定、低優先度への引き下げなし KEVとEPSSの両方を利用できない
⚠️ CISA KEVデータが利用できない — 今すぐ対応の検出に漏れの可能性あり KEVを利用できず、EPSSと深刻度で判定
⚠️ EPSSデータが利用できない — KEVと深刻度のみで優先度を判定 EPSSを利用できず、KEVと深刻度で判定
脅威情報はN日前のもの (配信元に接続できない) トリアージ有効時に、使ったデータが1日以上前のもの

古さを知らせる注記については、次のように読みます。

  • 取得に失敗した場合は、取得から7日以内の保存済みデータで優先度を判定
  • Nは、使ったデータのうち最も古いものを取得してからの日数
  • 片方の情報を利用できず、もう片方に古いデータを使う場合は、情報源の警告と古さの注記の両方が出ることがある
  • 両方の情報を利用できない場合は、古さの注記を出さず、両方を利用できない警告を表示

表示位置は全体レポートの並び順、判定への影響は脅威情報を利用できない場合を参照してください。

Sensorの警告

Sensorの警告は、稼働時の使用状況を観測する機能や、その観測結果に問題があることを知らせます。 チャンネル通知では、日時・イメージ件数・レポートの種類を示すヘッダーの直後に表示します。

Sensorから観測結果が届いていない場合は、次のように表示します。

⚠️ 稼働時の証拠が利用できない: Sensorからの報告がまだない

この警告に続く理由の意味を次に示します。 「証拠ファイル」はSensorが観測結果を保存したファイル、「サンドボックス」はSensorによる読み取り以外の操作を制限する仕組みです。

理由の表示 意味
Sensorからの報告がまだない Sensorの観測結果を保存したファイルがまだない
証拠ファイルの検証失敗 KestreLynxが観測結果のファイルを読み取れないか、内容の検証を通らない
Sensorの最終報告が古い Sensorの最後の報告から時間が経ち、観測結果の新しさを確認できない
Sensorの読み取りが拒否されている Sensorがコンテナのプロセス情報などを読み取る権限を利用できない
Sensorのサンドボックス起動失敗 操作の制限を確認できず、Sensorが観測を始めていない
Sensorのサンドボックスが一部制限の効かない状態で稼働中 Sensorによる操作の制限が一部効いていない
Sensorの一部機能が利用できない 処理の停滞などにより、観測や結果の保存に支障がある

Sensorは、定期的な確認に加えて、eBPFというカーネルの機能でプログラムの実行などを観測します。 Sensorの状態が正常でも、このイベント観測を利用できない場合は、次のように表示します。

⚠️ 短命なプログラムは観測できない (eBPFが利用できない: BTFなし); サンプリングのみ使用

サンプリングのみ使用は、定期的な確認だけで観測するため、短い時間だけ動くプログラムを見逃すことがあるという意味です。

eBPFを利用できない理由の意味を次に示します。

理由の表示 意味
カーネルが未対応 カーネルがイベント観測に対応していない
BTFなし イベント観測に必要な、カーネルの型情報を読み取れない
権限不足 eBPFによる観測に必要な権限を利用できない
アタッチ失敗 イベント観測の準備や開始に失敗した
cgroup v1 ホストのコンテナ管理の仕組みが、観測に必要なcgroup v2ではない
不明 イベント観測を利用できない理由を分類できない

警告中も、▶ 使用中は確認できた使用を示します。 使用が確認されない場合や判定できない場合は、未使用とは判断できません。

各パッケージの表示は使用状況のラベル、観測の仕組みと限界は稼働時の使用状況を参照してください。