cc-audit 3.6.0

Security auditor for Claude Code skills, hooks, and MCP servers
Documentation
# CVEデータベース自動更新

[English](./CVE-UPDATE.md)

このドキュメントでは、GitHub Actionsを使用したcc-auditのCVEデータベース自動更新について説明します。

## 概要

cc-auditは、AIコーディングツールとMCP関連製品に影響する既知のCVEのデータベースを管理しています。このデータベースは、[NVD(National Vulnerability Database)API](https://nvd.nist.gov/developers/vulnerabilities)から新しい脆弱性を取得することで毎日自動更新されます。

## 仕組み

### 日次Cronジョブ

GitHub Actionsワークフローは毎日**09:00 UTC(18:00 JST)**に実行されます:

```yaml
on:
  schedule:
    - cron: '0 9 * * *'
```

### 更新プロセス

1. **CVEの取得**: スクリプトは以下に関連するCVEをNVD APIにクエリします:
   - MCP(Model Context Protocol)
   - Claude Code
   - Cursor IDE
   - GitHub Copilot
   - Codeium、Tabnine、その他のAIコーディングツール

2. **関連CVEのフィルタリング**: 既知のAIコーディングツールベンダー/製品に影響するCVEのみが含まれます

3. **既存データとのマージ**: 新しいCVEは既存のデータベースとマージされ、重複を回避します

4. **プルリクエストの作成**: 新しいCVEが見つかった場合、レビュー用のPRが自動的に作成されます

### 手動トリガー

GitHub Actionsからワークフローを手動でトリガーすることもできます:

1. **Actions****CVE Database Update**に移動
2. **Run workflow**をクリック
3. オプションで遡る日数を指定(デフォルト:90日)

## 設定

### NVD APIキー(推奨)

NVD APIキーを設定すると、レート制限が5リクエスト/30秒から50リクエスト/30秒に増加します。

1. [NVD APIキーリクエスト]https://nvd.nist.gov/developers/request-an-api-keyでAPIキーを申請
2. GitHub Secretとしてキーを追加:
   - **Settings****Secrets and variables****Actions**に移動
   - `NVD_API_KEY`という名前で新しいシークレットを作成

### ワークフロー権限

ワークフローには以下が必要です:
- `contents: write` - データベース更新をコミットするため
- `pull-requests: write` - PRを作成するため

## データベース構造

CVEデータベースは`data/cve-database.json`に保存されます:

```json
{
  "version": "1.0.0",
  "updated_at": "2025-01-26T00:00:00Z",
  "entries": [
    {
      "id": "CVE-2025-XXXXX",
      "title": "脆弱性のタイトル",
      "description": "詳細な説明...",
      "severity": "critical",
      "cvss_score": 9.8,
      "affected_products": [
        {
          "vendor": "anthropic",
          "product": "claude-code",
          "version_affected": "< 1.5.0",
          "version_fixed": "1.5.0"
        }
      ],
      "cwe_ids": ["CWE-78"],
      "references": ["https://nvd.nist.gov/vuln/detail/CVE-2025-XXXXX"],
      "published_at": "2025-01-15T00:00:00Z"
    }
  ]
}
```

## プルリクエストレビュー

PRが作成されたら、レビュアーは以下を確認する必要があります:

- [ ] 新しいCVEエントリがAIコーディングツールに関連している
- [ ] 深刻度の評価が正確である
- [ ] 影響を受けるバージョン範囲が正しい
- [ ] 修正バージョンが適切に指定されている

## CVEの手動追加

CVEを手動で追加するには:

1. `data/cve-database.json`を編集
2. 上記の構造に従って新しいエントリを追加
3. `version`のパッチ番号をインクリメント
4. `updated_at`タイムスタンプを更新
5. PRを提出

## トラブルシューティング

### レート制限

レート制限エラーが表示される場合:
- NVD APIキーを追加(上記の設定を参照)
- 待機して後で再試行

### 新しいCVEが見つからない

以下の場合は正常です:
- 新しいAIコーディングツールのCVEが公開されていない
- 見つかったCVEが既知のベンダー/製品名と一致しない

### スクリプトエラー

詳細はGitHub Actionsのログを確認してください。一般的な問題:
- ネットワーク接続の問題
- NVD APIの一時的な停止
- JSONパースエラー(不正なCVEデータ)

## 関連ドキュメント

- [FEATURES.ja.md]./FEATURES.ja.md - CVEデータベース機能の概要
- [NVD APIドキュメント]https://nvd.nist.gov/developers/vulnerabilities