Claude Code流出問題の全体像 ―事件からわかるAI開発リスクとサプライチェーンリスク―

Share
「Claude Code流出問題の全体像 ―事件からわかるAI開発リスクとサプライチェーンリスク―」アイキャッチ画像

はじめに

「Claude Code」で起きたソースコード流出問題の経緯、なぜnpm公開物から内部ソースへ到達できたのか、何が漏れ、何が漏れていないのかを整理します。またソースコード流出によって浮き彫りになるAI開発リスクとソフトウェア供給網のリスクについても解説します。

Claude Codeソースコード流出の概要

「Claude Code」はAnthropic社が提供する公式のコーディング支援ツールです。Anthropicが公開している「Claude Code Doc」の中でも、Claude Codeはコードベース理解、ファイル編集、コマンド実行、各種開発ツール連携を行う製品として説明されています。

Claude Code流出は、単なる「話題のAIニュース」では終わりません。今回、ターミナルやIDE(統合開発環境)からコード編集、コマンド実行、検索、Git操作まで担う実運用の開発基盤の中核にあたる実装の一部が、npm配布物に含まれたソースマップ(source map)を起点に外部から参照可能な状態になっていたことがわかりました。本事件はAIエージェント時代のソフトウェアサプライチェーン問題として捉える必要があります。

流出の発端と技術的な経路(source map問題)

本事件で最初に押さえるべきなのは、「Claude本体のモデル重みが漏れた」のではなく、「Claude Codeという周辺プロダクトのソースコードが到達可能になった」という点です。事件の発端となったのは、Chaofan Shou氏(@Fried_rice)によるXの投稿です。2026年3月31日、Chaofan Shou氏は「Claude code source code has been leaked via a map file in their npm registry」(訳:Claude Codeのソースコードが、npmレジストリ内のmapファイルを通じて流出した)と投稿しており、少なくとも現時点で公開されている初動情報の起点は、この発見報告にあると考えられます。

その後に作成されたいくつかの公開GitHubリポジトリでは、漏洩経路について「npmパッケージに含まれたソースマップが、難読化前のTypeScriptソースを指しており、その参照先からsrc一式を取得できた」と説明しています。GitHubリポジトリ自体はAnthropicの公開情報ではないため、そこに書かれた全内容を鵜呑みにするべきではありませんが、少なくとも複数の公開Claude Artifacts(アーティファクト)が同じ経路を示していること、そして後述するAnthropic公式のGitHub上のIssueでも「流出またはデコンパイルされたClaude Codeのソースコード」を前提に議論が進んでいることから、ソースマップ起点として内部実装が可視化されたという大筋は相当に確度の高い情報だと言えます。さらに公開リポジトリのREADMEでは、「約1,900ファイル、51万行超のTypeScriptコードが露出した」と説明しています。

流出した内容と影響範囲

本事件が注目を集めた理由は、Claude Codeが単なるCLIラッパーではなく、幅広い機能群を内包したAI開発支援基盤であるためです。Anthropicの公開リポジトリと公式リリースノートを見るだけでも、Claude CodeにはIDE連携、MCP、プラグイン、履歴再開、権限管理、Web検索、各種設定や運用補助機能が継続的に追加されていることがわかります。また公開GitHubスナップショットREADMEでも、ツールシステム、コマンド群、IDEブリッジ、マルチエージェント協調、スキル、プラグイン、メモリやタスク管理など、多層的な構造が記述されています。

つまり今回のClaude Code流出問題は、AIコーディング支援の表面だけでなく、その実装思想や運用機能の一端まで外から読める状態になったという意味を持ちます。

何が漏れ、何が漏れていないのか

Anthropic公式情報でも、Claude Codeの内部実装に関するソースコード断片や構成が公開状態になったことは裏づけられています。Anthropic公式GitHubのIssueでも、流出コードを前提とした解析が行われていました。

Anthropicの公式GitHubリポジトリに2026年3月31日付で立てられたIssueでは、「source code isn’t publicly available, so this analysis is based on the leaked/decompiled Claude Code source」(訳:ソースコードは公開されていないため、本分析は流出またはデコンパイルされたClaude Codeのソースコードに基づく)と投稿され、Xでの発見報告とGitHub上の流出スナップショットを参照していたということがわかります。つまり、少なくともコミュニティ側では流出コードを参照した解析が現実に行われ、それがAnthropicの管理下のIssue空間にも持ち込まれていたということです。

一方で、複数の報道機関によれば、「Anthropicが今回の件を「人為的ミス」によるものと認め、顧客データや認証情報、Claudeモデルそのものの重みは流出していない」と説明したとしていますが、この点は一次ソースではなく報道ベースの情報として慎重に扱う必要があります。

なぜ深刻なのか:AIエージェント時代のリスク

それでも、このClaude Codeソースコード流出が深刻なのは、顧客データ漏洩の有無だけでは影響範囲が測れないからです。AIエージェント製品では、モデル重みそのものに価値があるのはもちろんですが、実際の使い勝手や競争力は、その周囲にあるハーネス、権限管理、ツール呼び出し、コンテキスト処理、UI、IDE統合、再開機能、運用設計によって大きく左右されます。公開スナップショットにあるディレクトリ構成やコマンド一覧、サービス層の説明を見ると、Claude Codeがかなり成熟した「製品化されたAIエージェント」であることが読み取れます。競合や研究者にとって、こうした実装知見が外から見える状態になることの意味は小さくありません。

特に重要なのは、Claude Codeが単にコードを生成するAIだけではなく、ローカル環境や周辺ツールに触れながら作業を進めるAIエージェントとして設計されている点です。漏洩したとされる公開スナップショットにも、Bash実行、ファイル読み書き、Web取得、Web検索、MCP、LSP、タスク作成、スケジュール実行などの機能が列挙されています。これは、今後のAIセキュリティを考える際に、モデル単体の安全性だけでは足りず、エージェントの実行基盤や配布パッケージの安全性まで視野に入れなければならないことを示しています。

AIエージェント時代の新課題、Non Human Identity(NHI)のセキュリティ課題と今後のAIコーディングに求められる実践的な視点を解説した記事はこちら。ぜひあわせてご覧ください。
AIコーディング入門 第5回:NHI(Non‑Human Identity)とAIエージェントのセキュリティ課題

ビルド・配布プロセスにおける問題の本質

さらに今回の一件は、ソースコード流出そのものだけでなく、公開物のビルド管理や配布管理の問題としても重要です。ソースマップ(source map)は本来、デバッグや解析のためには有用ですが、公開パッケージに不用意に含めれば、難読化やバンドルの前提を崩し、実装内部への入口になります。もしREADME記載どおり、ソースマップが外部ストレージ上の元ソース一式を指していたのであれば、問題は単なる「mapファイル混入」で終わりません。公開パッケージ、参照先URL、ストレージ公開設定、リリース工程のチェック体制まで含めた、供給網全体の設計ミスになります。ここにClaude Codeソースコード流出問題の本質があります。

「影響は限定的」という見方の限界

本事件をめぐる議論では、「どうせAIのコードはすぐ変わるから被害は限定的だ」という見方もあります。これは半分正しいです。たしかにプロダクトコードは日々更新されます。それでも、ある時点の設計方針、抽象化の仕方、権限制御、内部機能のつながり、未公開機能の痕跡は、競争戦略や攻撃面の理解に十分な価値を持ちます。現に公開スナップショットには、マルチエージェント協調、チーム作成、スキル実行、メモリ同期、リモートトリガーといった、単純なCLI以上の発想が読み取れる記述が含まれています。AI開発企業にとって、こうしたプロダクト実装の漏えいは、顧客情報漏えいとは別種の経営リスクです。

企業が取るべき対応と実務上の教訓

企業の情報セキュリティ担当者や開発責任者にとって、本事件から学ぶべき教訓は明確です。第一に、公開パッケージの中身を「本番ビルド成果物」だけでなく、「付随ファイル」まで含めて検査する必要があります。第二に、ソースマップやデバッグアーティファクトの扱いを、開発者の善意や慣習に任せてはいけません。第三に、クラウドストレージの参照先や署名URL、生成物の格納ルールを、CI/CDと一体で見直すべきです。第四に、AIエージェント製品では、モデルAPIの保護だけでなく、CLI、IDE拡張、SDK、プラグイン、MCP連携のような周辺面を含めてセキュリティレビューをかける必要があります。Claude Codeの公式リリースノートを見るだけでも、製品は短い周期で多機能化しており、変化の速さ自体がリスク管理を難しくしています。

もう一つ重要なのは、事故後の透明性です。現時点で確認できるAnthropic公式情報は、Claude Codeの製品説明やリリースノートが中心で、今回のソースコード流出事件についての障害報告書は見当たりません。そのため、実務的には「発生原因」「影響範囲」「再発防止策」を公式にどこまで明文化するかが、今後の信頼回復を左右します。AI安全性を強く掲げる企業であればなおさら、モデル安全だけではなく、配布と運用の安全性でも説明責任が問われます。今回のClaude Codeのソースコード流出は、その現実を突きつけた出来事となります。

まとめ

Claude Codeソースコード流出事件はAI本体が破られた事件ではありませんが、AI製品はモデルだけ守ればよい、という幻想は崩されました。AIコーディング支援、AIエージェント、開発者向けCLI、IDE統合、MCP、プラグイン基盤といった要素が一体化した時代において、情報漏洩リスクはモデル重みだけでなく、配布物、周辺コード、実行制御、設定、公開ストレージにもまたがります。Claude Code流出事件を単なる興味本位の話題で終わらせるのではなく、現代のソフトウェアサプライチェーンの課題とAIプロダクト運用の脆さを示す事例として読むべきでしょう。

参考文献


サイバーインシデント緊急対応

セキュリティインシデントの再発防止や体制強化を確実に行うには、専門家の支援を受けることも有効です。BBSecでは緊急対応支援サービスをご提供しています。突然の大規模攻撃や情報漏洩の懸念等、緊急事態もしくはその可能性が発生した場合は、BBSecにご相談ください。セキュリティのスペシャリストが、御社システムの状況把握、防御、そして事後対策をトータルにサポートさせていただきます。

サイバーセキュリティ緊急対応電話受付ボタン
SQAT緊急対応バナー

ウェビナー開催のお知らせ

  • 2026年4月10日(水)14:00~15:00
    ランサムウェア時代のIT-BCP入門~サイバー攻撃によるシステム停止に備える実践的な策定ステップ~
  • 2026年4月15日(水)14:00~15:00
    AI時代のサイバー脅威最前線 ― IPA『情報セキュリティ10大脅威2026』から学ぶ防御戦略 ―
  • 2026年4月22日(水)14:00~15:00
    Swift CSCF v2026変更点解説セミナー ― Control 2.4 (Back Office Data Flow Security)の必須化とCustomer client connectorへの要件適用拡大 ―
  • 最新情報はこちら

    編集責任:木下

    Security NEWS TOPに戻る
    バックナンバー TOPに戻る


    資料ダウンロードボタン
    年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
    お問い合わせボタン
    サービスに関する疑問や質問はこちらからお気軽にお問合せください。

    Security Serviceへのリンクバナー画像
    BBsecコーポレートサイトへのリンクバナー画像
    セキュリティ緊急対応のバナー画像

    AIコーディング入門
    第2回:プロンプト以外で効率化!開発体験の改善手法

    Share

    Security NEWS TOPに戻る
    バックナンバー TOPに戻る

    AIコーディング2アイキャッチ(AIコーディングの効率化の手法と課題)

    生成AIを使ったコーディングでは、プロンプトエンジニアリングが効率化の王道として知られています。しかし実際には、RAG(検索拡張生成)やファインチューニングといった手法を組み合わせることで、さらに精度や体験を向上させることが可能です。本記事では、これらの技術の概要とAIコーディングにおける活用例、そして共通して立ちはだかる品質・性能・セキュリティの課題とその解決の方向性を解説します。

    ※本稿は2025年7月上旬に執筆しているものです。ご覧いただく時期によっては古い情報となっている場合もありますので、ご承知おきください。

    プロンプトエンジニアリング以外の効率化手法

    プロンプトエンジニアリングは、手軽に(安価に)試せる生成AIの体験の改善や効率化の手法として位置づけられています。そして、プロンプトエンジニアリング以外でも生成AIの効率化や体験の改善、特定の目的のための調整などができる手法としてファインチューニングRAG(Retrieval-Augmented Generation)があります。以下の図はそれぞれの手法を簡単にまとめたものです。

    図 1 プロンプトエンジニアリング、RAG、ファインチューニングの概要

    AIを使ったコーディング(以下AIコーディング)でもこの3つの手法は生成コードの改善や生成プロセスの効率化のために用いられます。また、企業や組織でのコーディングに際しては、個人レベルでの作業でのプロンプトエンジニアリング、内部レポジトリやAPIドキュメントとの結合による効率化を行うRAG、コーディング規約やスタイルなどの品質管理などを目的としたファインチューニングというように、目的別に同時並行で使うことができます。

    AIコーディング全般に共通する課題

    AIコーディング自体は一般的といえる領域に入りつつあります注 1) が、一方でAIコーディング全般に共通する課題として、大きく分けて以下の3つの課題が挙げられます注 2)

    ロジックの不整合

    • 小さなコードであれば問題にならないことも多いですが、大きなコードになればなるほど、コード内のロジックで不整合が発生することが増えます
    • プロンプトで与えられているビジネス上の目的を正しく解釈できない場合、期待されない出力をする可能性もあります

    メモリなどのボトルネックに対する配慮の欠如

    実行環境に関する配慮がないため、メモリを予想以上に使用するコードや、処理パフォーマンスに配慮しない出力が出てくることが往々にしてあります

    セキュリティへの配慮の欠如

    • セキュリティに対して前出のような配慮事項を指示しない限りは配慮が欠如していることが多くあります
    • 仮に配慮事項の指示を行っても不正確・セキュアでない出力が出される確率も一定程度残存します

    品質とセキュリティを守るプロセス設計

    AIコーディングが進化してもなお、人の手にゆだねられているものがあります。それは「何のためにコーディングするのか」「コードを使ってどんな業務をして、その結果として何を得るのか」といったビジネス上の目的を設定することと、コードが正確に動作することやセキュリティ上問題がないことを確認するプロセスを設けることです。コードの品質やセキュリティに関するプロセスは通常、ソースコード診断でセキュリティの確認を行うことが一般的です。

    最近ではDevSecOpsの一環として、コード開発中にSAST(Static Application Security Testing)ツールをCI/CDパイプラインに統合するケースも増えてきています。また、完成品に対するテストとしてDAST(Dynamic Application Security Testing)を実行することも必要でしょう。これはWebサイトであればWebアプリケーション診断が該当します。


    ―第3回「AIエージェント時代のコーディング:MCPとA2Aとは」へ続く―

    注:
    1)2024年5月に実施されたプログラマー・エンジニアを中心としたコミュニティであるStackOverflowによる調査では開発にAIを利用すると回答したプロフェッショナルの開発者は63.2%でした。
    2)CSET “Cybersecurity Risks of AI Generated Code” (Jessica Ji, Jenny Jun, Maggie Wu, Rebecca Gelles, November 2024)

    【参考情報】

    【連載一覧】

    ―第1回「Vibeコーディングとプロンプトエンジニアリングの基礎」―
    ―第2回「プロンプト以外で効率化!開発体験の改善手法」―
    ―第3回「AIエージェント時代のコーディング:MCPとA2Aとは」 ―
    ―第4回「MCPの脆弱性とA2A脅威分析から学ぶセキュリティ実装」―
    第5回「AIとセキュリティ:Non‑Human Identity とAIエージェントの課題
    第6回「AIエージェントのセキュリティ対策と今後の展望


    Security NEWS TOPに戻る
    バックナンバー TOPに戻る

    ウェビナー開催のお知らせ

  • 2025年9月3日(水)13:00~14:00
    止まらないサイバー被害、その“対応の遅れ”はなぜ起こる?~サイバー防衛の未来を拓く次世代XDR:大規模組織のセキュリティ運用を最適化する戦略的アプローチ~
  • 2025年9月10日(水)14:00~15:00
    フィッシング攻撃の最新脅威と被害事例〜企業を守る多層防御策〜
  • 2025年9月17日(水)14:00~15:00
    サイバーリスクから企業を守る ─脆弱性診断サービスの比較ポイントとサイバー保険の活用法─
  • 最新情報はこちら


    資料ダウンロードボタン
    年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
    お問い合わせボタン
    サービスに関する疑問や質問はこちらからお気軽にお問合せください。

    Security Serviceへのリンクバナー画像
    BBsecコーポレートサイトへのリンクバナー画像
    セキュリティ緊急対応のバナー画像

    【第3回】Non-Human Identities Top 10とは?自動化時代に求められる新しいセキュリティ視点

    Share

    Security NEWS TOPに戻る
    バックナンバー TOPに戻る

    近年、クラウドやSaaSの普及で、人の手を介さずに動作する「Non-Human Identity(NHI)」が存在感を増しています。このNHIに対するOWASPのTop10シリーズが2025年から公開されています。「OWASP Top 10」を中心に、基本的なセキュリティ知識を深め、企業での対策に活かすことを目的としたシリーズ第3回の今回は、NHIとは何か、悪用事例や企業が今取るべきセキュリティ対策の方向性を解説します。

    Non-Human Identity(NHI)とは

    NHIとは、マシン間のアクセスと認証に使用されるデジタル的なIdentity(ID注 1))の総称です。IDは機械的な処理や自動化の場面で使われます。NHIはクラウドサービスの普及やAPI化の進展とともに爆発的にその数を増やしています。その最大のメリットはAPIやマイクロサービス、アプリケーションごとに設定・運用が可能な点にあります。そして最大のデメリットがセキュリティ関連の問題です。

    NHIが用いられる代表例としてCI/CD注 2)環境があります。CI/CD環境では日常的にコードのコミットやレビュー、テスト、ビルド、バージョン管理、デプロイといったことがCI/CDパイプラインやクラウドサービスプロバイダとの統合を通じて行われています。ここでのNHIの利用状況を考えてみましょう。

    CI/CD環境とNHIのイメージ

    ユーザがIDEからプラグイン経由でワークフローにコードのプッシュ/プルなどの操作を行うことでCI/CDパイプラインのワークフローが動作し、ワークフローから様々なコンポーネントや外部APIへの通信にNHI(凡例①~③)が利用されます。

    CI/CDに限らず、私たちの周りにはNHIを必要とするサービス間・システム間の連携が多数存在しています。次の図は顧客管理システム(CRM)と営業支援システム(SFA)を中心とした、NHIを用いた典型的なサービス間の連携のイメージです。

    CI/CD環境も、この図に挙げた例でも、1人のユーザが1つのアプリケーションから複数の機能を動かすことができます。このため、組織内では人の10~50倍のNHIが存在するともいわれています注 3)。さらに、すべてのNHIが適切に管理されているとは限らず、サービス間・開発者間でのNHIの共有や認証情報のローテーションのないNHIの存在など、多くの問題があります。これらのセキュリティ上の問題をまとめたものが「OWASP NHI Top10」です。

    事例から見るNHIのセキュリティ課題

    tj-actionsサプライチェーン攻撃(2025年発生)

    GitHub Actions(GitHubによるCI/CDプラットフォーム)向けのサードパーティー製のアクション集であるtj-actionsが依存するライブラリへの侵害が原因となったサプライチェーン攻撃です。GitHub Actionsにはワークフローやその中の一部アクションの再利用という機能がありますが、tj-actionsはGitHub Actionsでは提供していないアクションを多数提供することでGitHub Actionsの補完目的で使用できるツールの一つです。図は時間的経過を含む本事案の推移をあらわしたものです。

    tj-actions侵害・サプライチェーン攻撃の概要

    GitHub独自のセキュリティに関連する補足説明

    PAT: ここでのPATはGitHubが提供するPersonal Access Tokenを指します。APIやCLIからのアクセス(たとえばgit cloneやpush, pullなど)を行う際の認証に用いられるものです。発行が人(GitHubユーザ)に対して行われるので属人性がありますが、実際にはNHIとして使用します。Settings>Developer SettingsからToken(Classic)またはFine Grained Tokenが選択できます。Fine Grained Tokenを選択した場合はトークンに関するパーミッションの詳細が設定できるようになっていますが、セキュリティの観点では非推奨の設定項目(例えば有効期限を設定しないなど)が有効になっている点や、設定項目が詳細かつ多岐にわたるためセキュリティ上の配慮のない設定をしているケースもありうる点に注意が必要です。
    pull_request_target: GitHub Actionsにはpull_requestとpull_request_targetの2つのpull requestトリガーがあります。pull_request_targetは使い方を理解していないと今回のようなケースで悪用されることがあります。参考資料を以下に記載しますので、ぜひご一読ください。
    https://blog.gitguardian.com/github-actions-security-cheat-sheet/
    https://blog.gitguardian.com/github-actions-security-cheat-sheet/https://runs-on.com/github-actions/pull-request-vs-pull-request-target/

    本件でOWASP NHI Top 10のうち該当する可能性がある項目は以下の通りです。

    No.名称今回何が該当するか
    NHI2Secret Leakage(シークレット漏洩)本件ではtj-actions経由でログにダンプされた秘密情報があった点、各PATの漏洩があった点の2点が該当
    NHI3Vulnerable Third-Party NHI(脆弱なサードパーティーNHI)spotbugsおよびreviewdog への侵害がtj-actionsへの侵害へ繋がった点が該当
    NHI7Long-Lived Secrets(長期間有効なシークレット)攻撃期間からspotbugsのメンテナーのPATの有効期限が長かった可能性がある

    OWASP NHI Top 10

    OWASP NHI Top 10 2025をここで簡単にご紹介します。

    NHI番号名称概要対策
    NHI1:2025Improper Offboarding(不適切なオフボーディング)サービスアカウントやアクセスキーなどの非人間的アイデンティティが不要になった際に、適切に無効化・削除されない問題。放置された認証情報が攻撃者に悪用され、機密システムへの不正アクセスに利用される可能性がある。NHIのライフサイクル管理を自動化し、使用されていないアイデンティティを定期的に検出・無効化する。継続的なスキャンとモニタリングでゾンビNHIを特定し、ガバナンス、ツール、ワークフローの観点から廃止プロセスを体系化する。
    NHI2:2025Secret Leakage(シークレット漏洩)APIキー、トークン、暗号化キー、証明書などの機密情報が、ソースコードへのハードコーディング、平文設定ファイル、公開チャットアプリケーションなど、認可されていないデータストアに漏洩する問題。ハードコードされた認証情報を排除し、適切なシークレット管理プラットフォーム(CyberArk Conjur、HashiCorp Vault等)を導入する。CI/CDパイプラインにシークレットスキャンを組み込み、リアルタイムで漏洩を検出・検証する。
    NHI3:2025Vulnerable Third-Party NHI(脆弱なサードパーティーNHI)開発ワークフローに統合されたサードパーティーの非人間的アイデンティティが、セキュリティ脆弱性や悪意のあるアップデートにより侵害され、認証情報の窃取や権限の悪用に利用される問題。サードパーティーサービスのセキュリティ実践を定期的に監査し、統合されたサービスの更新状況を追跡する。最小権限の原則に従い、サードパーティーに与える権限を最小限に制限し、定期的にアクセス権を見直す。
    NHI4:2025Insecure Authentication(安全でない認証)開発者が内部・外部サービスを統合する際に、非推奨で脆弱性のある認証方式や、古いセキュリティ慣行による弱い認証メカニズムを使用することで組織が重大なリスクにさらされる問題。非推奨の認証方式(SHA1等)を特定し、最新のセキュリティ標準に準拠した認証方式に移行する。すべての暗号化・認証方式を定期的に見直し、技術の進歩に合わせて更新する。長期間有効なAPIキーを短期間トークンに置き換える。
    NHI5:2025Overprivileged NHI(過度な権限を持つNHI)アプリケーション開発・保守時に、開発者や管理者が非人間的アイデンティティに必要以上の権限を付与し、侵害時に攻撃者がその過剰な権限を悪用して重大な被害を与える可能性がある問題。最小権限の原則を厳格に適用し、NHIの権限を定期的に見直す。権限のスコープを適切に設定し、シークレットローテーション時に権限の再評価を実施する。人間のアイデンティティと同様の自動化されたアクセス権見の直しプロセスを導入する。
    NHI6:2025Insecure Cloud Deployment Configurations(安全でないクラウドデプロイ設定)CI/CDアプリケーションがクラウドサービス認証で静的認証情報やOIDCを使用する際、設定ミスや検証不備により、攻撃者が本番環境への永続的で特権的なアクセスを獲得する可能性がある問題。静的認証情報の代わりにOIDCトークンベース認証を使用し、アイデンティティトークンの適切な検証を実装する。設定ファイルへのハードコード化を避け、適切なシークレット管理システムを使用する。CI/CDパイプラインでのシークレット露出を防ぐ。
    NHI7:2025Long-Lived Secrets(長期間有効なシークレット)APIキー、トークン、暗号化キー、証明書の有効期限が遠い将来に設定されているか無期限の場合、侵害されたシークレットが時間制約なく攻撃者に機密サービスへのアクセスを提供する問題。短期間で自動ローテーションされるシークレットを実装し、可能な限り実行時に生成される一時的なトークンを使用する。シークレットのライフサイクルを可視化し、作成・使用・ローテーション状況を追跡する。有効期限のないシークレットを特定し排除する。
    NHI8:2025Environment Isolation(環境分離)開発、テスト、ステージング、本番環境で同じ非人間的アイデンティティを再利用することで、特にテスト環境と本番環境間での使い回しが重大なセキュリティ脆弱性を引き起こす問題。開発、ステージング、本番環境で異なるNHIを使用し、環境間でのNHI共有を禁止する。各環境専用のNHIを設定し、環境固有のアクセス権限を適用する。NHIの使用状況を可視化し、環境分離ポリシーの遵守状況を監視する。
    NHI9:2025NHI Reuse(NHI再利用)異なるアプリケーション、サービス、コンポーネント間で同じ非人間的アイデンティティを再利用することで、一箇所での侵害が他の部分への不正アクセスに利用される重大なセキュリティリスクを生む問題。異なるアプリケーション間でのNHI共有を禁止し、1対1のNHI-アプリケーション使用ポリシーを確立する。NHIの使用コンテキストを詳細に把握し、複数システム間での再利用を防ぐ。侵害時の影響範囲を限定するため、専用NHIを各アプリケーションに割り当てる。
    NHI10:2025Human Use of NHI(人間によるNHIの使用)アプリケーション開発・保守時に、開発者や管理者が個人の人間的 アイデンティティで行うべき手動タスクに非人間的アイデンティティを悪用し、監査やアカウンタビリティの欠如などのリスクを引き起こす問題。手動タスクには適切な権限を持つ個人のアイデンティティを使用し、NHIの人間による使用を禁止する。NHIの異常使用を検出するモニタリングを実装し、承認されたアクセスパターンから逸脱した使用を特定する。監査とアカウンタビリティを確保するため、人間とNHIの活動を明確に区別する。
    出典:OWASP Non-Human Identities Top 10より弊社編集・和訳

    企業がとるべき対策

    NHI固有の対策(NHI10:2025人間によるNHIの使用)もありますが、例えば人の認証に関する対策と似たようなもの(オフボーディング対策、認証情報のハードコードの排除、最小権限の原則の徹底、認証方法のアップデート、環境分離やシステム間での再利用禁止)も多く含まれます。企業のIT環境は今後、AI統合やレガシーシステムの置き換え、人手不足を背景とした業務の自動化を中心に大きく変動していくことが予想されます。

    NHIはアプリケーション間、システム間といったマシン間の認証に用いられることから、AI統合や業務のデジタル化・自動化において利用される機会が増えていきます。新しい概念であり、新しいセキュリティ上のリスクでもあり、なかなか理解するのが難しい分野ではありますが、少なくとも、以下の点においてセキュリティ上重要であることをご理解いただければと思います。

    • NHIは企業のデジタル資産やシステム間の接続のために多数用いられており、攻撃者から見たときに非常に広い攻撃面となりうること
    • 特権が付与されるNHIも存在することから、攻撃者から見たときに有用な攻撃面であるが、最小権限の原則が適用されていない場合、防御側にとっては保護が難しいこと
    • 人間の認証と同じく、認証方法がセキュリティリスクの高いもの(単純なAPIキー)からセキュリティリスクが低いもの(OAuthと証明書の同時活用)まで非常に多様であり、選択を間違うと攻撃された際の被害が甚大であること

    セキュリティは「開発初期から」「全社横断で」

    3つのTop 10に共通しているのは、「問題の多くは設計段階・開発段階で防げる」という事実です。脆弱性や権限ミスは、開発中の選択や運用ポリシーによって生まれるため、セキュリティは“あとから付け足す”ものではなく、最初から組み込むべき設計要件であるという考え方がますます重要になっています。また、情報システム部門だけでなく、開発チーム・運用チーム・経営層を巻き込んだ全社的なセキュリティ体制の確立が求められます。

    OWASP Top 10を「読むだけ」で終わらせないために

    OWASPのTop10シリーズは、ただの知識リストではありません。それぞれのリスクが「なぜ問題なのか」「どう防げるのか」を考えることで、企業ごとのセキュリティ成熟度を高めることができます。自社システムに照らして「どこが該当するか」「どのリスクが潜在しているか」をチームで共有し、日々の開発・運用の判断にOWASPの知見を活用することが、最も効果的なセキュリティ強化への第一歩です。3回にわたる本シリーズが、皆さまのセキュリティ戦略の一助となれば幸いです。

    【参考情報】

    【連載一覧】

    ―第1回「OWASP Top 10とは?アプリケーションセキュリティの基本を押さえよう」―
    ―第2回「OWASP API Security Top 10とは?APIの脅威と対策を知ろう」―

    注:
    1)ここでは読者の皆さんに理解しやすいようにIDとしていますが、実態としてはデジタル的な構成要素(digital construct)であり、デジタル的な主体(digital entity)となります。
    2)Continuous Integration/ Continuous Delivery(継続的インテグレーション/継続的デリバリー)の略語
    3)https://cloudsecurityalliance.org/blog/2024/03/08/what-are-non-human-identities

    Security NEWS TOPに戻る
    バックナンバー TOPに戻る


    資料ダウンロードボタン
    年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
    お問い合わせボタン
    サービスに関する疑問や質問はこちらからお気軽にお問合せください。

    Security Serviceへのリンクバナー画像
    BBsecコーポレートサイトへのリンクバナー画像
    セキュリティ緊急対応のバナー画像