# /audit-outdated

`/audit-outdated` スキルは、クラスターのすべてのレイヤー（コントロールプレーン、Node、コンテナイメージ、Helmチャート、CRD、オペレーター、マニフェストがターゲットとするAPIサーフェス）にわたるバージョンドリフトを検索します。各レイヤーには独自の「最新」という概念と独自のドリフト許容値があります。

引数なしで実行するとフルスイープ、ワークフロー名を指定するとレポートのスコープを絞り込めます。

```text
/audit-outdated            # full sweep
/audit-outdated images     # single workflow
/audit-outdated cves in kube-system
```

自然言語スコープ（Namespace、ラベルセレクター、重大度しきい値）はすべてのワークフローでサポートされています（[概要](/ja/reference/skills/overview/)を参照）。

---

## ワークフロー

### 1. Kubernetesバージョンスキュー

:::note[チェック項目]
- コントロールプレーンのマイナーバージョンとそのマイナーの最新パッチ
- 各Nodeの `kubelet` バージョンとコントロールプレーンのマイナーバージョンの比較
- アップストリームのKubernetesサポートマトリックスに基づくEOLまでの距離
:::

ソース：公開されている[Kubernetesリリーススケジュール](https://kubernetes.io/releases/)。

### 2. 非推奨および削除されたAPIバージョン

:::note[チェック項目]
- 現在のマイナーで非推奨、または次のマイナーで削除されるAPIバージョンを使用するライブオブジェクト
- 非推奨の `apiextensions.k8s.io` バージョンに対して登録されたアドミッションWebhookおよびCRD
:::

ソース：利用可能な場合は [`pluto`](https://github.com/FairwindsOps/pluto) および [`kubent`](https://github.com/doitintl/kube-no-trouble)、フォールバックとして公開されている[Kubernetes API非推奨スケジュール](https://kubernetes.io/docs/reference/using-api/deprecation-guide/)。

### 3. コンテナイメージの鮮度

:::note[チェック項目]
- ソースレジストリで利用可能な最高semverより古いバージョンに固定されたタグ
- フローティングタグ（`:latest`、バージョン管理なし）—「古い」の定義が不明なため個別に報告
- ダイジェストドリフト — 同じタグ、アップストリームのより新しいダイジェスト
- イメージにSBOMが添付されている場合のベースイメージの経過時間
:::

ソース：Docker Hub、GHCR、quay.io、gcr.io。現在、プライベートレジストリはサポートされていません。

### 4. HelmチャートとRelease

:::note[チェック項目]
- インストールされているチャートバージョンと設定されたリポジトリの最新バージョン
- `Chart.yaml` で宣言されたサブチャートの依存関係とアップストリームバージョンの比較
- アップストリームで `deprecated: true` とマークされたチャート
:::

ソース：設定されたHelmリポジトリインデックス。OCIホストのチャートはOCIレジストリから直接読み取られます。

### 5. オペレーター、CRD、それらのコントローラー

:::note[チェック項目]
- オペレーターバージョンとアップストリームリリースの比較
- 古いコントローラーにマッピングされたCRDのフラグ
:::

ソース：ワークフロー3と4のレジストリおよびHelmリポジトリデータを再利用。

### 6. 既知の脆弱性

:::note[チェック項目]
- 実行中のコンテナイメージ内のCVE
- Kubernetesバージョン自体のCVE
:::

ソース：[Trivy](https://github.com/aquasecurity/trivy) および[公式Kubernetes CVEフィード](https://kubernetes.io/docs/reference/issues-security/official-cve-feed/)。

### 7. Node OSとカーネル

:::note[チェック項目]
- Node OSイメージとディストリビューションの現在のリリース（例：Ubuntu、Amazon Linux）の比較
- 公開されているCVEに対するカーネルバージョン
:::

ソース：最新の公開OS・カーネルバージョンのディストリビューションリリースフィード、および積極的に悪用されているカーネルCVEのエスカレーションのための[CISA KEVカタログ](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)。

---

## データ鮮度

すべてのレポートには「データ更新日時のフッター」が含まれています：各インデックス（Trivy DB、Helmリポジトリ、レジストリタグリスト、Kubernetesリリーススケジュール）が最後に更新された日時を示します。

---

## エージェントへの指示

ワークフローに加えて、スキルはエージェントにレポートの方法を指示します。

- 常にデータ更新日時のフッターを含めてください — 古いインデックスは古い検出結果を生み出すため、読者はそれを知る必要があります。
- イメージダイジェストで重複排除するため、多数のPodで共有されている1つの古いイメージがレポートを独占しないようにします。
- 利用可能な場合はCVEエントリの重大度とCISA KEVステータスを含め、既知の悪用なしのCVSS高評価検出結果よりもKEVヒットを上位にランク付けします。
- 「サポート対象ウィンドウ内のドリフト」と「EOL」を明示的に区別します — 前者は日常的なもので、後者は緊急です。
- サポートされているリスト（ワークフロー3）にないレジストリの場合は、黙ってイメージをスキップするのではなくその旨を明記します。
- 単一のワークロードの古いイメージに焦点が当たっている場合は [`/investigate`](/ja/reference/skills/investigate/) に渡します。