マッキンゼーの社内AI「Lilli」がSQLインジェクションで完全突破された件

セキュリティスタートアップ CodeWall の AI エージェントが、マッキンゼーの社内 AI プラットフォーム「Lilli」をわずか2時間で完全突破した。4,650万件のチャット履歴からシステムプロンプトまで、認証なしで読み書き可能だったという。攻撃手法は SQL インジェクション——教科書の1章目に載る古典的な脆弱性だ。 Lilli とは Lilli はマッキンゼーが社内向けに構築した生成 AI プラットフォームで、数万人のコンサルタントが日常的に利用している。戦略立案、M&A 分析、クライアント対応など、機密性の高い業務に活用されていた。 Lilli のアーキテクチャ マッキンゼーは Lilli の技術構成をある程度公開しており、その設計思想と今回の事件のギャップが際立つ。 RAG パイプライン + オーケストレーション層 Lilli のコアは RAG(Retrieval-Augmented Generation)パイプラインだ。40以上のキュレーション済みナレッジソースに10万件超のドキュメント、インタビュー記録、セクター別プレイブックが格納されている。ユーザーのクエリはベクトル埋め込みでマッチングされ、5〜7件の関連文書が引用付きで提示される。四半期あたり約200万クエリを処理する規模だ。 技術スタック LLM: Cohere、OpenAI(Azure 経由)など複数モデルを併用。Microsoft、Google、Nvidia、Anthropic との戦略的パートナーシップ フレームワーク: QuantumBlack の Horizon ツールキット、LangChain、FAISS インフラ: Microsoft Azure(データストレージ・スケーラビリティ) 独自ツール: PowerPoint を85%以上読み取り可能にする独自ドキュメントパーサー 「ゼロトラスト」設計——のはずだった マッキンゼーは Lilli のセキュリティについて、ゼロトラストセキュリティスタック、オンプレミスデータストア、ロールベースアクセス制御(RBAC)、完全な監査ログを備えていると説明していた。しかし実際には、22個の API エンドポイントが認証なしで外部に公開されていた。設計上のセキュリティと実装上のセキュリティの乖離が、今回の事件の根本原因だ。 攻撃の経緯 CodeWall の自律型セキュリティエージェントは、以下の手順で Lilli を攻撃した: 公開 API ドキュメントの発見 — Lilli の API ドキュメントが外部から閲覧可能な状態だった 認証不要エンドポイントの特定 — 22個のエンドポイントが認証なしでアクセス可能だった SQL インジェクションの検出 — ユーザー検索クエリを書き込むエンドポイントで、JSON のキー名が SQL 文に直接連結されていた 本番データベースへのフルアクセス — 読み取りと書き込みの両方が可能な状態に到達 人間の介入は一切なし。AI エージェントが自律的に脆弱性を発見し、エクスプロイトまで完了した。 ...

2026年3月11日 · 1 分

脆弱性管理の次の時代 ── Exposure Management とは何か

企業のセキュリティチームは深刻な課題に直面しています。NVD(National Vulnerability Database)に登録される CVE は年間 25,000 件以上。多くの企業では数万〜数十万の脆弱性がスキャンで検出されます。しかし現実は明確で、「すべてを修正することは不可能」です。 この状況を背景に、ガートナーは新しいセキュリティの考え方として Exposure Management(エクスポージャー管理) を提示しました。 CVSS とは何か Exposure Management を理解する前に、従来の脆弱性管理の中核にある CVSS(Common Vulnerability Scoring System) について押さえておきましょう。 CVSS は、脆弱性の深刻度を 0.0〜10.0 のスコアで数値化する国際的な評価基準です。FIRST(Forum of Incident Response and Security Teams)が管理しており、現在は v3.1 と v4.0 が使われています。 スコア 深刻度 9.0〜10.0 Critical(緊急) 7.0〜8.9 High(重要) 4.0〜6.9 Medium(警告) 0.1〜3.9 Low(注意) スコアは以下の観点から算出されます。 攻撃元区分 — ネットワーク経由か、物理アクセスが必要か 攻撃条件の複雑さ — 特殊な条件が必要か 必要な特権レベル — 認証が必要か ユーザ関与 — ユーザの操作(リンクのクリック等)が必要か 影響範囲 — 機密性・完全性・可用性への影響度 CVSS は脆弱性の技術的な深刻度を標準化された方法で伝える点で非常に有用です。しかし、このスコアだけに頼る運用には限界があります。 従来の脆弱性管理の限界 従来のアプローチは「脆弱性スキャン → CVSS スコアで優先順位付け → パッチ適用」というものでした。しかし現代の IT 環境では以下の課題があります。 ...

2026年3月11日 · 2 分

中国政府が OpenClaw に緊急セキュリティ警告:AI エージェントの安全な運用とは

オープンソースの AI エージェントフレームワーク「OpenClaw」の利用が中国国内で急拡大する中、中国の国家コンピュータネットワーク緊急対応技術チーム(CNCERT)が緊急のセキュリティ警告を発しました。政府機関や国有銀行での使用禁止にまで発展したこの問題について、技術的な背景と対策をまとめます。 何が起きたのか 2026年3月、中国の CNCERT は OpenClaw について「極めて弱いデフォルトセキュリティ設定」を持つと警告を発しました。OpenClaw はローカルファイルシステムや環境変数へのアクセス、拡張機能のインストールなど高いシステム権限を付与されますが、デフォルトのセキュリティ設定が不十分であり、攻撃者がシステム全体の制御を容易に奪取できる状態であると指摘されています。 この警告を受けて、中国当局は政府機関と国有企業(主要銀行を含む)に対し、業務用コンピュータへの OpenClaw のインストールを禁止する通知を出しました。既にインストール済みの職員には、上司への報告・セキュリティチェック・必要に応じた削除が指示されています。 CNCERT が指摘した主なリスク 1. アーキテクチャ設計上の問題 OpenClaw はローカルファイルシステム、環境変数、シェルへの広範なアクセス権限を持ちます。これ自体は AI エージェントの機能として必要ですが、適切な制限なしに運用すると重大なリスクとなります。 2. デフォルト設定の脆弱性 管理 UI のデフォルトポートがインターネットに公開可能な状態 環境変数に認証情報を平文で保存する設定がデフォルト スキルの自動更新が有効な状態がデフォルト 3. プラグインエコシステムの危険性 不正なプラグイン(ポイズンドプラグイン)を通じて、ユーザーのシステムに悪意あるコードが侵入するリスクがあります。プラグインのアクセス権限が十分に制限されていないことが問題視されています。 4. Web ベースの攻撃 悪意ある指示を Web ページに埋め込むことで、OpenClaw に不正な操作を実行させる攻撃(プロンプトインジェクション)が可能です。 5. 重要データの誤削除 AI エージェントの判断ミスにより、ユーザーが意図しない重要データの削除が発生するリスクも指摘されています。 CNCERT の推奨対策 CNCERT は以下の対策を推奨しています。 コンテナで隔離実行する — OpenClaw をホストシステムから隔離された環境で動作させる 管理ポートをインターネットに公開しない — 管理 UI へのアクセスをローカルネットワークに限定する 認証情報を平文で環境変数に保存しない — シークレット管理ツールを使用する スキルの自動更新を無効にする — 更新は手動で検証してから適用する 厳密な認証とアクセス制御を実装する — 不要な権限を排除する セキュリティアップデートへの追従を徹底する — 既知の脆弱性に速やかに対応する AI エージェント全般への教訓 この問題は OpenClaw に限った話ではありません。AI エージェントは本質的に高いシステム権限を必要とするため、以下の原則はどのエージェントツールにも当てはまります。 ...

2026年3月11日 · 1 分

Claude Code Review — エージェントチームが PR のバグを狩る新機能

Anthropic が Claude Code の新機能「Code Review」を発表した。PR が開かれると、複数のエージェントがチームとして並列にコードレビューを実行し、人間が見落としがちなバグを検出する。開発者の Boris Cherny 氏(@bcherny)は「数週間使って、自分では気づかなかった本物のバグを何度も見つけてくれた」と報告している。 仕組み PR がオープンされると、Code Review は以下のステップを実行する: エージェントチームの派遣 — 複数のエージェントが並列に動き、それぞれ異なるクラスの問題(ロジックエラー、セキュリティ脆弱性、コード品質など)を探す 検証フェーズ — 候補として検出された問題を実際のコード挙動と照合し、偽陽性をフィルタリングする 深刻度ランキング — 検出された問題を重要度順に並べる レビューコメント投稿 — PR に対してサマリーコメント 1 件と、具体的な問題箇所へのインラインコメントを投稿する レビューの深さは PR の規模と複雑さに応じてスケールする。大きく複雑な変更にはより多くのエージェントが投入される。 検出精度 Anthropic 社内でのテスト結果: PR サイズ 指摘ありの割合 平均指摘数 大規模(1,000行以上) 84% 7.5件 小規模(50行未満) 31% 0.5件 特筆すべきは誤検出率が 1% 未満という点だ。エンジニアが「この指摘は間違い」と判定したケースがほとんどなく、検証フェーズによる偽陽性フィルタリングが効果的に機能していることを示している。 なぜ必要なのか Cherny 氏によれば、Anthropic のエンジニア一人あたりのコード出力は 2026 年に入って 200% 増加した。AI コーディングエージェントによってコード生成が加速する一方で、レビューがボトルネックになっていた。人間のレビュアーが処理できる量には限界があり、AI が書いたコードも人間が書いたコードも、同じ品質基準でレビューする必要がある。 Code Review はこの問題に対する Anthropic 自身の解答だ。まず社内で使い、効果を確認した上で外部に公開している。 利用条件 対象プラン: Team / Enterprise(Research Preview) 料金: トークン使用量に基づく従量課金。PR サイズと複雑さに応じて平均 $15〜25 レビュー時間: 約 20 分 セットアップ: 管理者が GitHub App をインストールし、対象リポジトリを選択。開発者側の追加設定は不要 組織レベルでの月間支出上限、リポジトリ単位の有効化制御、レビュー受け入れ率の分析ダッシュボードも用意されている。 ...

2026年3月10日 · 1 分

Claude Code Review — エージェントチームが PR のバグを狩る新機能

Anthropic が Claude Code の新機能「Code Review」を発表した。PR が開かれると、複数のエージェントがチームとして並列にコードレビューを実行し、人間が見落としがちなバグを検出する。開発者の Boris Cherny 氏(@bcherny)は「数週間使って、自分では気づかなかった本物のバグを何度も見つけてくれた」と報告している。 仕組み PR がオープンされると、Code Review は以下のステップを実行する: エージェントチームの派遣 — 複数のエージェントが並列に動き、それぞれ異なるクラスの問題(ロジックエラー、セキュリティ脆弱性、コード品質など)を探す 検証フェーズ — 候補として検出された問題を実際のコード挙動と照合し、偽陽性をフィルタリングする 深刻度ランキング — 検出された問題を重要度順に並べる レビューコメント投稿 — PR に対してサマリーコメント 1 件と、具体的な問題箇所へのインラインコメントを投稿する レビューの深さは PR の規模と複雑さに応じてスケールする。大きく複雑な変更にはより多くのエージェントが投入される。 検出精度 Anthropic 社内でのテスト結果: PR サイズ 指摘ありの割合 平均指摘数 大規模(1,000行以上) 84% 7.5件 小規模(50行未満) 31% 0.5件 特筆すべきは誤検出率が 1% 未満という点だ。エンジニアが「この指摘は間違い」と判定したケースがほとんどなく、検証フェーズによる偽陽性フィルタリングが効果的に機能していることを示している。 なぜ必要なのか Cherny 氏によれば、Anthropic のエンジニア一人あたりのコード出力は 2026 年に入って 200% 増加した。AI コーディングエージェントによってコード生成が加速する一方で、レビューがボトルネックになっていた。人間のレビュアーが処理できる量には限界があり、AI が書いたコードも人間が書いたコードも、同じ品質基準でレビューする必要がある。 Code Review はこの問題に対する Anthropic 自身の解答だ。まず社内で使い、効果を確認した上で外部に公開している。 利用条件 対象プラン: Team / Enterprise(Research Preview) 料金: トークン使用量に基づく従量課金。PR サイズと複雑さに応じて平均 $15〜25 レビュー時間: 約 20 分 セットアップ: 管理者が GitHub App をインストールし、対象リポジトリを選択。開発者側の追加設定は不要 組織レベルでの月間支出上限、リポジトリ単位の有効化制御、レビュー受け入れ率の分析ダッシュボードも用意されている。 ...

2026年3月10日 · 1 分

Claude Code Skills 構築完全ガイド — Anthropic 公式 33 ページの要点まとめ

Anthropic が公開した「The Complete Guide to Building Skills for Claude」は、Claude Code のスキル機能を本格的に活用するための 33 ページにわたる公式ガイドです。この記事では、ガイドの要点を日本語でまとめます。 Skills とは何か Skills は、Claude に特定のタスクやワークフローを教えるための 再利用可能な指示セット です。フォルダにパッケージ化され、一度作れば Claude.ai、Claude Code、API のすべてで動作します。 従来のように毎回プロンプトで細かく指示する代わりに、Skills を使えば「一度教えて、何度でも使える」ようになります。 Skills のファイル構造 my-skill/ ├── SKILL.md # メインの指示ファイル(必須) ├── scripts/ # 補助スクリプト ├── references/ # 参考資料 └── assets/ # アセットファイル 重要なルール: メインファイルは必ず SKILL.md(大文字小文字を区別) フォルダ名は kebab-case(例: notion-project-setup) README.md は含めない YAML フロントマターの設計 SKILL.md の冒頭に YAML フロントマターを記述します。ここがスキルの「顔」になります。 1 2 3 4 --- name: deploy-checker description: "本番デプロイ前のチェックリストを実行する。デプロイや本番リリースの話題が出たときに使用する" --- description には 何をするか と いつ使うか の 2 つを含めることが重要です。Claude はこのメタデータだけでスキルの使用タイミングを判断します。 ...

2026年3月10日 · 1 分

Claude Codeの「セキュリティ%表示」は対策ではなく"お気持ち表示"? 本当にやるべきセキュリティ設定

Claude Codeでツール実行のたびに「パスワード漏洩リスク: 0%」「悪意あるコード実行リスク: 0%」のようなセキュリティリスクのパーセンテージを表示させるCLAUDE.mdの設定がSNSで話題になった。これに対し、セキュリティエンジニアから「それは対策ではなくお気持ち表示」という指摘が上がり、議論を呼んでいる。 話題になった「パーセンテージ表示」 @wan_line_(ワン@AIのお兄さん)氏が2026年3月9日に投稿したポストでは、CLAUDE.mdに以下のようなルールを記述することが提案されていた: ツール実行のたびに パスワードが外に漏れる可能性: ○% 外部サーバーにデータが送られる可能性: ○% 悪意あるコードが動く可能性: ○% PCの設定が書き換わる可能性: ○% Claude Codeで「yes連打」してしまうユーザー向けに、実行前にリスクを可視化してくれるという趣旨だ。 セキュリティ専門家の反論:「お気持ち表示」 この投稿に対し、@sudachikawaii(シンジ☁Shinji)氏が反論した: セキュリティ屋から言うと、これは「対策」ではなく「お気持ち表示」です。LLMはコードの安全性を静的解析していないので、表示されるパーセンテージに技術的根拠がありません。 「0%」を見てyes押すのは、yes連打と同じです。 指摘のポイントは明快だ: LLMは静的解析エンジンではない — LLMが出すパーセンテージは、コードを構文解析して脆弱性を検出した結果ではなく、「それっぽい数値」を生成しているだけ 偽の安心感を与える — 「0%」という表示を見てユーザーが安心してyesを押すなら、結局yes連打と変わらない 技術的根拠がない — 実際のセキュリティリスク分析には、静的解析ツール(SAST)、依存関係チェック、ネットワーク通信の監視などが必要 Claude Codeに本当に効くセキュリティ対策 Claude Codeには、CLAUDE.mdの「お気持ちルール」よりもはるかに実効性のあるセキュリティ機能が組み込まれている。公式ドキュメントに基づき、本当にやるべき対策を整理する。 1. サンドボックスを有効にする 最も重要な対策。Bashコマンドの実行をOSレベルで隔離し、ファイルシステムやネットワークへのアクセスを制限する。 macOSではSeatbelt、LinuxではBubble Wrapが使用される /sandbox コマンドで有効化 2. denyルールで危険なコマンドをブロック permissions.deny に実行禁止コマンドを明示的に設定する。評価順は deny → ask → allow で、denyが最優先。 1 2 3 4 5 6 7 8 9 { "permissions": { "deny": [ "Bash(command:rm -rf *)", "Bash(command:curl *)", "Bash(command:wget *)" ] } } 3. 機密ファイルへのアクセスを遮断 .env やシークレットファイルへのアクセスをブロックする。 ...

2026年3月10日 · 1 分

Claude Code時代の仕様書の役割 — ゼロトピック #337 から考える仕様駆動開発

ゼロトピック(Zero Topic)の #337「Claude Code時代の仕様書の役割」 が話題になっている。10X の矢本氏が、生成 AI が開発プロセスに与える影響と、仕様書の役割がどう変わるかを整理した回だ。 バイブコーディングの限界と仕様駆動開発 Claude Code のようなAIコーディングエージェントの登場で、コード生成速度は飛躍的に向上した。しかし「バイブコーディング」— AI に任せて探索的にコードを生成するアプローチ — には問題がある。 検証負債の蓄積: AI の生成速度が人間の理解・検証速度を上回る 意図不明なコード増殖: 内部構造を精査せず先に進み、誰も理解していない領域が広がる デバッグ困難化: コードの意図が不明では根本原因の特定が難しい こうした課題に対する解が 仕様駆動開発(Spec-Driven Development: SDD) だ。Thoughtworks Technology Radar Vol.32(2025年4月)で Trial に採用されたこの手法は、「仕様を先に定義し、その仕様に基づいて AI にコードを生成させる」という原則に立つ。 仕様書の役割の変化 従来の設計書は人間同士のコミュニケーションツールだった。AI との協働では「AI への指示書」としての側面が加わる。 SDD における仕様書の構成は、Kiro が提唱する3層モデルが分かりやすい: ファイル 役割 requirements.md ユーザーストーリーと受け入れ基準 design.md アーキテクチャ、シーケンス、設計上の注意 tasks.md 実装計画とタスク分解 重要なポイントは、仕様は 「唯一の情報源(Single Source of Truth)」 として機能し、プロセス駆動はルールブック(プロセスルール)が別途担当するという区別だ。 Claude Code での実践 基礎レベル: CLAUDE.md + ステアリングファイル CLAUDE.md に制約・規約・コンテキストを定義 .steering/ 配下に作業バッチフォルダを作成 要件定義書・設計書・タスクリストを生成・保存 タスクに沿ってコード生成・テスト実施 応用レベル: カスタムコマンドの活用 2026年1月に plansDirectory 設定が追加され、/plan モードで作成した計画書を Git 管理できるようになった。さらにカスタムコマンドを使えば、ドメイン知識を埋め込んだ独自のワークフローを構築できる。 ...

2026年3月10日 · 1 分

freee MCP × Claude Code で確定申告の仕訳1,428件を20分で終わらせた話

minicoohei 氏(@minicoohei)が、freee の公式 MCP サーバーと Claude Code を組み合わせて確定申告の仕訳1,428件をわずか20分で完了させた事例を公開した。手作業なら4〜5時間かかる Amex のクレジットカード明細の仕訳登録を、AI が自動化した。 ワークフローの概要 Amex の取引明細(1,428件)を入力データとして用意 — 通常の手作業では1件ずつ勘定科目を判断して登録する必要がある AI が70以上の分類ルールを自動生成 — 取引内容のパターンを分析し、勘定科目の振り分けルールを構築する 対話的なルール調整 — 人間との会話を通じてルールを精緻化する。税務リスクのある取引を事前に特定し、適切な処理方法を提案する 並列バッチ処理で一括登録 — freee API 経由で全件をエラーゼロで登録する freee MCP とは freee は公式の MCP サーバー(freee-mcp)を OSS として公開している。会計・人事労務・請求書・勤怠・販売の5領域にわたる API を、AI エージェントから操作可能にするインターフェースだ。 Claude Code や Claude Desktop から接続すると、「この請求書を発行して」「今月の経費を集計して」といった自然言語の指示で freee の業務を実行できる。 なぜ効果的なのか 従来の会計ソフトの自動仕訳機能は、事前に設定したルールに基づく単純なパターンマッチングだった。Claude Code を使うアプローチには以下の利点がある: 文脈理解による分類精度 — 取引先名や摘要の自然言語を理解して勘定科目を判断する。「AWS」なら通信費、「タクシー」なら旅費交通費、といった判断を人間と同等の精度で行える 対話による例外処理 — 判断に迷うケースを人間に確認し、その回答を以降のルールに反映する バッチ処理の効率 — MCP 経由で freee API を直接操作するため、GUI での手作業が不要 実務での注意点 freee MCP を Claude Code と組み合わせる場合、いくつかの実務的な考慮点がある: ...

2026年3月10日 · 1 分

Karpathy の autoresearch — 寝ている間にAIが100回実験して朝にはモデルが賢くなっている世界

Andrej Karpathy が公開した autoresearch は、AI エージェントが自律的に ML 実験を繰り返すツールだ。寝ている間に AI が 100 回実験し、朝起きたらモデルが賢くなっている——そんな研究スタイルを 630 行の Python コードで実現する。 autoresearch とは nanochat(軽量 LLM 学習コア)をシングル GPU・1 ファイルに凝縮し、AI エージェントが自律ループで学習コードを改善していく仕組み。 基本構造はシンプル: 人間が .md ファイル(プロンプト)を設計する AI エージェントが .py(学習コード)を自律的に改善する 各実験は ちょうど 5 分間 のトレーニングで構成され、1 時間あたり約 12 回、一晩で約 100 回の実験が自動で回る。 人間: program.md を設計(研究の方針・制約を定義) ↓ AI エージェント: 学習コードを修正 ↓ 5分間のトレーニング実行 ↓ 結果を評価(validation loss) ↓ 改善されていれば git commit → 次のイテレーションへ 技術的な特徴 630 行のミニマル設計 autoresearch の核心は「小さく始めて、エージェントに任せる」という哲学にある。 シングル GPU で完結(マルチ GPU 不要) ニューラルネットワークのアーキテクチャ、オプティマイザ、ハイパーパラメータすべてを AI が調整 git feature ブランチ上で動作し、改善があれば自動コミット MIT ライセンスで公開 「コードを書く」のではなく「プログラムをプログラムする」 Karpathy が強調するのは、研究者が Python ファイルを直接触るのではなく、Markdown でエージェントへの指示を設計するというパラダイムシフトだ。 ...

2026年3月10日 · 1 分