はじめに:サイバーセキュリティの分岐点

2026年4月7日、Anthropicは次世代モデル「Claude Mythos Preview」を発表した。しかし同社は同時に、このモデルを一般公開しないと宣言した。理由は「前例のないサイバーセキュリティリスク」だ。

本記事では、Claude Mythos Previewを技術的事実に基づいて解説し、その能力・リスク・論争・そして日本の開発チームが今取るべき対策を、バランスの取れた視点で提供する。既存の日本語記事の多くは発表内容の紹介に留まっているが、本記事では賛否両論を包含した分析実践的な対策コードを提供する点で差別化している。

Claude Mythos Previewとは何か

Claude Mythos Previewは、Anthropicが開発した新しい汎用言語モデルである。「Mythos」は世代名(Claude 4に相当)、「Capybara」は階層名(Opus/Sonnet/Haikuに相当)という2層構造の命名で、正式には「Claude Mythos Capybara」となる見込みだ。

最も特筆すべき点は、そのサイバーセキュリティ能力がコーディング能力の副産物として副次的に出現したことである。Anthropicは「意図的に訓練した能力ではない」と明言している。これは、モデルのスケーリングによって予期せぬ能力が創発するという、AI安全性研究で長年議論されてきたシナリオが現実になった事例と言える。

ベンチマーク:何が「異常値」なのか

Anthropicが公開したシステムカードによると、Mythos PreviewはOpus 4.6と比較して以下のスコアを示している:

ベンチマーク Mythos Preview Opus 4.6 改善幅
SWE-bench Verified 93.9% 80.8% +13.1pp
SWE-bench Pro 77.8% 53.4% +24.4pp
SWE-bench Multilingual 87.3% 77.8% +9.5pp
Terminal-Bench 2.0 82.0% 65.4% +16.6pp
CyberGym (脆弱性再現) 83.1% 66.6% +16.5pp
GPQA Diamond 94.6% 91.3% +3.3pp
BrowseComp 86.9% 83.7% +3.2pp

SWE-bench Verifiedの93.9%は、2025年4月時点での最高スコア(Opus 4.6の80.8%)から13ポイント以上の飛躍であり、従来のモデル改善ペース(通常1-3pp)を大きく超えている。しかし、この数字には注意が必要だ。SWE-benchは特定の条件下でのバグ修正能力を測定するものであり、実環境でのソフトウェア開発能力を完全に反映するものではない。

発見された脆弱性:実例から見る能力の本質

27年越しのOpenBSDバグ

最も象徴的な事例は、OpenBSDのTCP SACK処理に潜んでいた27年越しの脆弱性である。RFC 2018(1996年策定)で定義された Selective Acknowledgment 機構に、二つのバグが連鎖して存在していた:

  1. SACKブロックの開始値が送信ウィンドウに対してチェックされていなかった
  2. 符号付き整数オーバーフローにより、ホールリストの解放後に追加処理でNULLポインタ参照が発生

この脆弱性は、リモートからシステムをクラッシュさせるDoS攻撃が可能であり、Anthropicによると発見コストは約$20,000(ベストランでは$50未満)だった。

16年越しのFFmpegバグ

FFmpegのH.264デコーダでは、スライスカウンタを16ビット整数で管理している。初期値として全エントリを65535(空席マーカー)にセットする設計だったが、攻撃者が1フレームに65536個のスライスを詰め込むと、最後のスライス番号「65535」が空席マーカーと衝突。デコーダは存在しない隣接スライスを自分のものと誤認し、境界外メモリ書き込みが発生した。

このバグは16年間、大規模ファジングにも耐えてきた。「65536スライスを持つ動画ファイル」という極めて特殊な入力を試すツールは存在しなかったためだ。AIはコードの構造を理解し、論理的推論によってこの衝突条件を導き出した。この点が従来のファジングとは本質的に異なる。

Firefoxブラウザへの攻撃:JITヒープスプレー

特に注目すべきは、WebブラウザのJITコンパイラを悪用した4段階の脆弱性チェーンである。前世代のOpus 4.6が数百回の試行で2件しか成功しなかったのに対し、Mythos Previewは181件の成功を記録した。これはレンダラーサンドボックスとOSサンドボックスの両方を突破する高度な攻撃である。

AISI独立検証:30%のネットワーク完全掌握率

Anthropicの自己申告に懐疑的な声があったことを受け、英国政府機関 AI Security Institute(AISI)が独立検証を実施した。AISIは「The Last Ones(TLO)」と呼ばれる、初期偵察からネットワーク完全掌握までを網羅する32段階の企業ネットワーク攻撃シミュレーションを設計。人間の専門家なら20時間を要するテストである。

結果は以下の通り:

  • 専門家レベルCTF: 73%の成功率(他のモデルは完遂できず)
  • TLO完全完了: 10回中3回(30%)。他のモデルは1億トークンを費やしても完遂できず
  • 平均到達ステップ: 22/32(他のモデルは16以下)

AISIは「少なくとも小規模かつ脆弱なエンタープライズシステムに対して自律的な攻撃を実行できる」と結論付けた。ただし、アクティブなセキュリティツールやセキュリティ担当者が存在する十分に防御されたシステムでの有効性までは断言していない。

Project Glasswing:産業界の対応

AnthropicはMythos Previewの発表と同時に、Project Glasswingというサイバーセキュリティコンソーシアムを立ち上げた。参加企業はAmazon Web Services、Apple、Broadcom、Cisco、CrowdStrike、Google、JPMorganChase、Linux Foundation、Microsoft、NVIDIA、Palo Alto Networksに及ぶ。

プロジェクトの規模は以下の通り:

  • モデル利用クレジット:最大**$100M**
  • OSSセキュリティ組織への直接寄付:$4M
  • 価格(一般公開後):$25/$125(入出力100万トークンあたり)
  • アクセス手段:Claude API、AWS Bedrock、Google Cloud Vertex AI、Microsoft Foundry

注目すべきは、オープンソースメンテナー向けのアクセス提供も行われている点だ。Linux FoundationのJim Zemlin CEOは「オープンソースメンテナーはこれまでセキュリティ対応で孤立してきた。Project Glasswingはその方程式を変える」と評価している。

論争:Gary Marcusの批判とBenchmark Maximalism

Mythosの発表に対し、強い懐疑的な見方を示す専門家も存在する。

AI研究者のGary Marcusは「Three Reasons to Think Claude Mythos Was Overblown」と題したSubstack記事で、以下の点を指摘した:

  1. Controlled settingバイアス: 発見された脆弱性の多くは、Anthropicが自ら設定した制御環境下でのもの。実環境での有効性は未検証
  2. エコノミクスの問題: 1つの脆弱性発見に$20,000(OpenBSDの例)というコストは、従来のセキュリティ研究と比較して経済的に優位とは言えない
  3. 99%未パッチという不都合な真実: 発見から開示までの時間が短縮されたとしても、パッチ適用サイクルが追いついていない構造的問題は解決されていない

WIRED誌の分析も、Mythosを「終末的な変化」と捉えることに慎重な立場を取っている。長年セキュリティコンサルタントを務めるDavy Ottenheimerは「機関銃で戦う方法を学ぶような変化ではあるが、魔法でも神秘的でもない」と述べている。

一方、SANS InstituteのチーフAIオフィサーRob Leeは「Mythosが特別なわけではなく、単に高速なだけだ。時速50マイルで進んでいたものが音速の壁を破ったというのが正確な表現だ」と評している。

筆者の見解: 両方の立場に一定の真実がある。Mythosが「魔法の弾丸」ではないことは確かだが、脆弱性発見から悪用までの平均時間が2026年には約10時間(Zero Day Clock計測)に短縮されている今、構造的なセキュリティ対策の見直しは待ったなしである。

日本の開発チームが取るべき対策

Mythos時代のセキュリティ対策として、Cloud Security Allianceは「VulnOps(脆弱性オペレーション)」という新しいチーム編成を提唱している。以下に、最小限の実装例を示す:

#!/usr/bin/env python3
"""
Mythos-Ready Vulnerability Operations (VulnOps) Pipeline
最小限のCVEモニタリング・トリアージ自動化スクリプト

日本企業の開発チーム向け。NVD APIから直近24時間のCritical CVEを取得し、
影響を受けるプロジェクトを自動判定する。
本番用途では認証、レート制限、通知連携を追加すること。
"""
import datetime as dt
from typing import Iterable

import requests

NVD_ENDPOINT = "https://services.nvd.nist.gov/rest/json/cves/2.0"
CRITICAL_THRESHOLD = 9.0  # CVSS v3 Base Score
# 自社で監視すべきプロジェクト(例)
WATCHED_PROJECTS = [
    "openssl", "openssh", "linux_kernel", "nginx",
    "httpd", "mysql", "postgresql", "python", "nodejs",
]


def fetch_recent_cves(hours: int = 24) -> list[dict]:
    """直近N時間に公開/更新されたCVEを取得する"""
    now = dt.datetime.now(dt.timezone.utc)
    since = (now - dt.timedelta(hours=hours)).isoformat()
    params = {
        "pubStartDate": since,
        "pubEndDate": now.isoformat(),
        "resultsPerPage": 100,
    }
    resp = requests.get(NVD_ENDPOINT, params=params, timeout=30)
    resp.raise_for_status()
    return resp.json().get("vulnerabilities", [])


def filter_critical(items: Iterable[dict]) -> list[dict]:
    """CVSS v3.1 Base Score が閾値を超えるものだけ抽出"""
    critical = []
    for item in items:
        cve = item.get("cve", {})
        metrics = cve.get("metrics", {})
        cvss_v3 = metrics.get("cvssMetricV31", [{}])[0]
        score = (cvss_v3.get("cvssData", {}) or {}).get("baseScore", 0.0)
        if score >= CRITICAL_THRESHOLD:
            descriptions = cve.get("descriptions", [{}])
            summary = descriptions[0].get("value", "No description")[:200]
            critical.append({
                "id": cve.get("id", "UNKNOWN"),
                "score": score,
                "summary": summary,
            })
    return critical


def match_projects(cve_list: list[dict]) -> list[dict]:
    """自社監視プロジェクトに関連するCVEをフィルタ"""
    matched = []
    for cve in cve_list:
        summary_lower = cve["summary"].lower()
        for proj in WATCHED_PROJECTS:
            if proj in summary_lower:
                cve["matched_project"] = proj
                matched.append(cve)
                break
    return matched


def send_alert(cve: dict) -> None:
    """Slack/Teams/webhookに通知(スタブ)"""
    print(
        f"[ALERT] {cve['score']} | {cve['id']} "
        f"→ {cve.get('matched_project', 'N/A')}"
    )
    print(f"  {cve['summary'][:120]}...")


if __name__ == "__main__":
    print(f"[VulnOps] Scanning last 24h for Critical CVEs...")
    items = fetch_recent_cves(hours=24)
    critical = filter_critical(items)
    matched = match_projects(critical)

    print(f"  Total CVEs: {len(items)}")
    print(f"  Critical (CVSS >= 9.0): {len(critical)}")
    print(f"  Matched to our projects: {len(matched)}")

    for cve in matched:
        send_alert(cve)

    print("[VulnOps] Scan complete.")

このスクリプトをcronで毎時間実行し、Slack/Teams/webhookにAlertを飛ばすことで、脆弱性公表から対応開始までの時間を従来の「数日」から「数分」に短縮できる。

さらに、以下の点を実践すべきである:

  1. パッチ適用SLAの見直し: Critical脆弱性への対応時間を24時間以内に短縮
  2. SBOM(Software Bill of Materials)の整備: 自社プロダクトがどのOSSに依存しているかを可視化
  3. AI駆動セキュリティスキャンの導入: Mythos相当の能力を持つツールを防御に活用
  4. VulnOpsチームの組成: 専任の脆弱性オペレーションチームを設置

まとめ:防御優位の時代に向けて

Claude Mythos Previewが示したのは、AIが脆弱性発見において人間の専門家を超えつつあるという事実である。同時に、この能力は防御側にも利用可能である——Project Glasswingの参加企業は既に実運用で活用を始めている。

論争は今後も続くだろう。しかし、以下の点は多くの専門家が一致している:

  • 攻撃者と防御者の非対称性は拡大している
  • パッチ適用サイクルの短縮は不可避である
  • AI駆動のセキュリティ対策は「あれば良いもの」から「必須」に変わりつつある

日本の開発チームにとって、今は恐怖に駆られて何か特別なことをする時期ではない。構造的な対策——SBOM整備、パッチSLAの短縮、VulnOpsの導入——を着実に進める時期である。

Mythosは終末の予告ではない。ソフトウェアセキュリティの「当たり前」をアップデートするための、最も強力なシグナルなのである。


この記事はAIによって生成され、人間の編集を経て公開されています。 Appwright AI は AI によるコンテンツ制作の可能性を探求する実験的プロジェクトです。