無料で診断
ナレッジ開発供給網

ソフトウェアサプライチェーン攻撃とは?開発依存関係の危険性と対策方法を徹底解説

ソフトウェアサプライチェーン攻撃を検索している人の多くは、「OSS や依存関係のどこが危険なのか」「SaaS ベンダーリスクと何が違うのか」「自社は何から点検すべきか」を短時間で整理したいはずです。ソフトウェアサプライチェーン攻撃は、開発や配布の過程にあるパッケージ、レジストリ、CI/CD、成果物、署名、更新経路などを介して、最終利用者へ影響を広げる攻撃です。CISA のサプライヤー向けガイダンスや最近の研究でも、依存関係とビルド環境を別々に守るのではなく、一つの供給網として扱う重要性が示されています。この記事では、この総論記事として全体像を整理し、下位手口へどう分けて考えるかを日本語でまとめます。

公開日 2026年3月24日最終更新 2026年3月24日
1

ソフトウェアサプライチェーン攻撃は、OSS パッケージだけでなく CI/CD、成果物、署名、配布経路まで含む広い問題です。

2

危険なのは、パッケージ、パイプライン、秘密情報を別チームで分断し、誰も全体を見ていないことです。

3

ASM診断 PRO はビルドを守る製品ではありませんが、公開された開発関連導線や不要な外部接点の棚卸しに役立ちます。

無料でASM診断を開始

この記事のポイント

  1. ソフトウェアサプライチェーン攻撃は、OSS パッケージだけでなく CI/CD、成果物、署名、配布経路まで含む広い問題です。
  2. 危険なのは、パッケージ、パイプライン、秘密情報を別チームで分断し、誰も全体を見ていないことです。
  3. ASM診断 PRO はビルドを守る製品ではありませんが、公開された開発関連導線や不要な外部接点の棚卸しに役立ちます。

まず無料で確認する

無料でASM診断を開始

ソフトウェアサプライチェーン攻撃で触れている論点は、自社ドメインを実際に診断すると優先順位が掴みやすくなります。まずは外部公開資産を無料で可視化してください。

ソフトウェアサプライチェーン攻撃とは何か

複数の開発工程の節点が連なり、そのうち一部の節点から下流へ濃い波紋が広がる抽象図

開発・配布の連鎖に入り込み、下流へ影響を広げる攻撃です

ソフトウェアサプライチェーン攻撃は、OSS パッケージ、社内レジストリ、ビルド実行基盤、成果物保管先、署名、配布更新経路など、ソフトウェアが作られ届くまでの連鎖のどこかへ入り込み、下流の利用者や顧客へ影響を広げる攻撃です。

CISA のSecuring the Software Supply Chain: Recommended Practices for Suppliersも、供給者側がパッケージ単位ではなく、開発、ビルド、配布を通した統制を持つ必要があると整理しています。

SaaS ベンダー事故や委託先事故とは、主役が違います

サプライチェーン攻撃 SaaSSaaSベンダーリスクは、委託先や外部サービスの運用依存が主役です。ソフトウェアサプライチェーン攻撃は、コード、依存関係、ビルド、公開の流れが主役です。

そのため、「ベンダー審査をしたから十分」という話では終わりません。自社開発、委託開発、OSS 利用、配布経路のどこが弱いかまで含めて見る必要があります。

下位手口に分けて考えると、実務で整理しやすくなります

総論記事として重要なのは、全体像を見たうえで、依存関係混乱悪意ある npm / PyPI パッケージCI/CDパイプライン攻撃のような下位手口へ分けることです。

典型的な被害パターンと、どこが危険になるのか

被害パターン危険が大きい理由見落としやすい点
依存関係の取り違えビルド時点で悪性パッケージが自動取得されやすいからです。名前空間とレジストリ優先順
悪意あるパッケージ混入開発者が通常の導入手順で引き込んでしまうからです。審査と監視の不足
CI/CD 侵害一度パイプラインが汚染されると成果物や配布物へ波及するからです。実行基盤、秘密情報、トークンの管理
署名・配布経路の不備正当な更新に見える形で下流へ届くからです。provenance の不足
供給者側の統制不足自社では見えない上流変更が下流へ流れるからです。責任分界の曖昧さ

広い問題なので、何が主役かを分けて見る必要があります

ソフトウェア供給網という言葉が広すぎるため、現場では「全部危険」で止まりがちです。しかし対策は、依存関係、レジストリ、CI/CD、署名、配布で担当者が違います。

総論記事である本記事では、まず全体像を見たうえで、どこが自社の中心リスクかを切り分けることが重要です。全部を一度に守ろうとすると、結局どこも中途半端になります。

実務で迷いやすいのは、「どこまでを supply chain と呼ぶのか」が広すぎることです。パッケージ混入だけを見れば registry 対策で済みそうに見えますが、実際には build runner、成果物保管先、署名鍵、公開用 token、委託先が持つ release 権限までつながっています。つまり supply chain の総論記事で重要なのは、個別脅威の一覧ではなく、どこが自社の信頼境界なのかを説明できることです。

たとえば社内開発中心の企業でも、Git hosting、package registry、artifact storage、CI/CD、配布 CDN のどれかは外部サービスに依存していることが多く、そこへ委託先や自動化 bot の権限が重なります。逆に受託開発中心の企業では、自社コードよりも顧客環境向けの配布権限や鍵管理が弱点になることがあります。総論では、この違いを踏まえて「自社の supply chain のどこが太い依存か」を先に見る必要があります。

研究でも、開発環境と供給経路の一体管理が重要だと示されています

近年の研究は、依存関係事故だけでなく、ビルド、公開、配布まで含めた供給網全体を一体で守る考え方が必要だと示しています。パッケージの審査だけ強くても、パイプライン用トークンや署名鍵が弱ければ下流影響は防げません。

逆にパイプラインだけ守っても、レジストリから悪意あるパッケージを引けば意味がありません。だから実務でも、手口ごとの記事へ分けつつ、全体像を総論記事から戻る設計が必要です。

最近の検索意図でも、「SBOM を作れば足りるのか」「署名や provenance はどこまで必要か」「委託先開発や OSS 利用をどう同じルールで扱うべきか」が混ざっています。これらは全部正しい問いですが、答えは一つではありません。だから本記事では、供給網全体を一枚で見たうえで、次にどの下位論点へ進むべきかを決められるようにすることを重視します。

今すぐ確認すべき設定・運用・棚卸しポイント

依存関係、実行基盤、成果物、署名鍵の担当が分断している

連鎖全体の変化を誰も追えなくなるためです。

関連: SaaSベンダーリスク

社内レジストリと公開レジストリの優先順位を統制していない

取り違えや意図しないパッケージ取得が起きやすくなるためです。

関連: 依存関係混乱

パッケージ審査と導入後の監視が弱い

悪意あるパッケージが通常業務に紛れやすくなるためです。

関連: 悪意あるnpm/PyPIパッケージ

CI/CD の秘密情報と公開用トークンが長期化している

パイプライン侵害が成果物汚染へ直結しやすいためです。

関連: CI/CDパイプライン攻撃

最初にやるべきは、下位手口ごとの担当を決めることです

広い供給網記事で最も重要なのは、「この話を誰が担当するのか」を明確にすることです。パッケージ管理、パイプライン管理、成果物管理、秘密情報管理が別組織だと、事故後の対応も分断します。

公開面の棚卸しは、開発供給網と無関係ではありません

ASM診断 PRO はビルドやパッケージを守る製品ではありませんが、公開されたログイン画面、古いポータル、公開管理画面が残ると、開発供給網事故の後の横移動や認証情報悪用と結びつきやすくなります。だから外部露出面の棚卸しは補助線として意味があります。

特に開発系の事故では、配布ポータル、artifact 参照用 URL、package mirror 管理面、古い CI 管理画面、委託先向け VPN など、普段は見落としやすい運用導線が問題になりやすいです。供給網全体の事故対応では、内部の code review や package policy だけでなく、外から見える周辺管理面まで含めて棚卸しする方が現実的です。

どこで trust が崩れるのかを工程別に見る

工程典型的な崩れ方実務で見逃しやすい理由
依存関係取得同名 package の取り違え、悪意ある package 導入、古い mirror 設定の残置が起こります。package 名や lockfile だけを見て、取得元の registry や優先順まで確認しないためです。
ビルド実行基盤shared runner、長期 token、過剰権限 secret を起点に、汚れた build が正規 artifact として出ます。pipeline は自動化が進んでいるほど、人の review を通らずに publish まで流れやすいためです。
成果物保管と署名artifact storage や signing key が同じ権限体系で管理され、改ざんや不正署名が連鎖します。build 成功と署名成功が同じ成功通知に見え、どの信頼境界を越えたかが曖昧になりやすいためです。
配布・更新download portal、update endpoint、配布 CDN、release note 管理面が compromise 後の波及先になります。配布工程は「完成品の話」と見なされ、開発統制の外に置かれやすいためです。
委託先・外部サービス外部 build 支援、運用代行、SaaS registry、bot account の権限から、社内ルール外の変更が入ります。契約や運用窓口は整っていても、誰が最終 publish 権限を持つかが曖昧なことが多いためです。

工程ごとに owner が違うこと自体が、総論の難しさです

ソフトウェアサプライチェーン攻撃が扱いにくいのは、依存関係は開発チーム、build は DevOps、署名鍵はプラットフォーム、配布はプロダクト運用、委託先管理は調達や PMO と、工程ごとに owner が違うからです。つまり脅威が広いというより、責任分界が分かれていることが統制の難しさを生みます。

そのため、総論記事で最初にやるべきことは、controls の一覧化ではありません。まず「うちでは誰が依存関係、runner、署名、配布、委託先の最終判断を持っているか」を説明できる状態にすることです。ここが曖昧だと、どんな技術対策を積み上げても、本番事故で決定が遅れます。

『同じ CI だから同じリスク』ではありません

同じ Git platform や CI を使っていても、公開 OSS を出している会社、社内向け配布が中心の会社、顧客向け agent を配布する会社では、優先して守る工程が違います。公開 OSS なら package name と release integrity、社内向けなら artifact 配布経路、agent 配布なら signing と update path が主役になります。

この差を無視して「supply chain 対策」を一括で導入すると、重い統制だけ増えて肝心の工程が抜けます。だから総論では、一般論を語りつつも、どの工程が自社の事業モデルに直結するかまで落とし込む必要があります。

調達・委託・incident review まで含めて運用する

ベンダー評価と開発統制を切り離さないことが重要です

供給網事故を総論で扱う時に抜けやすいのが、調達や委託先評価の話です。契約時の質問票だけで終えると、実際の publish 権限、bot account、外部 build 実行基盤、委託先が管理する registry まで追えません。逆に開発チームだけで rules を決めても、委託先や運用代行が外側で同じ controls を守っているかは別問題です。

そのため、SaaS ベンダーリスク業務委託先アカウント管理と同じく、供給網事故でも「誰にどの権限を渡し、誰がレビューし、事故時に何を戻せるか」を契約と運用の両方で見る必要があります。

incident が起きた後に戻す先は、コードだけではありません

供給網事故の review では、混入した package や汚れた artifact を消すだけでなく、誰が publish したのか、どの token が生きているのか、どの署名鍵がまだ信頼されているのか、どの download path を一時停止するのかまで戻す必要があります。つまり incident review の対象は code repository より広く、供給網そのものの運用台帳です。

ここを整えるためにも、平時から package、CI/CD、artifact、配布、公開管理面を別々の話として閉じず、一つの supply chain 台帳へ戻す設計が有効です。本記事はその入口として、各論記事へ分岐する前に全体像を揃える役割を持たせています。

検索意図上も『何から着手するか』が最終的な知りたいことです

ソフトウェアサプライチェーン攻撃を調べる読者は、脅威名の定義だけでは満足しません。どこが危険なのか、どこから直すのか、どの記事を次に読むべきかまで知りたいはずです。だから本記事では、総論としての広さを持たせながらも、依存関係混乱悪意ある packageCI/CDパイプライン攻撃へ進む判断軸を明確にします。

自社で優先順位をつけるための見方

まず『何を配布している組織か』から逆算します

ソフトウェアサプライチェーン攻撃の対策が難しいのは、どの組織にも同じ controls を入れればよいわけではないからです。公開 OSS を出している組織、顧客向け agent を配布する組織、社内ツールが中心の組織では、優先して守るべき工程が違います。たとえば公開 OSS では package 名や署名、顧客向け配布では release と update path、社内ツール中心なら委託先の build 導線や artifact portal が主役になりやすいです。

そのため実務では、最初に「自社は何を、誰へ、どんな経路で届けているか」を一枚で説明できるようにします。ここが曖昧だと、流行の対策を寄せ集めても、本当に重要な工程が後回しになります。逆に配布責任の所在が見えていると、package、build、署名、配布、委託先のどこに予算と review を厚くすべきかが決めやすくなります。

『脆弱性管理』だけでは足りず、権限管理と変更管理が必要です

supply chain を調べ始めると、SBOM や脆弱性スキャンの話へ寄りがちです。もちろん重要ですが、それだけでは十分ではありません。なぜなら供給網事故は、脆弱 package の混入だけでなく、publish 権限、署名鍵、artifact 置き場、委託先の bot account、download portal の変更のような権限と変更の事故として起きることが多いからです。

だから優先順位をつけるときは、「脆弱性を減らす施策」と「信頼境界を固定する施策」を分けて考える方が整理しやすくなります。前者は version 管理や審査の話、後者は registry 優先順、runner 分離、署名権限、配布経路、委託先権限の話です。両方を同じ台帳へ戻すと、総論記事としての supply chain 対策が現場の change 管理へ落ちやすくなります。

各論記事へ進む前に、どこが一番太い依存かを決めます

本記事から各論へ進む時は、どの工程が自社の最大依存かを先に決めると迷いにくくなります。内部 package が多いなら依存関係混乱、外部 package 審査が薄いなら悪意ある package、release automation が複雑ならCI/CDパイプライン攻撃を優先して読む、という順番です。

つまり総論記事の役割は、全てを少しずつ語ることではありません。自社の supply chain で一番太い依存と、一番事故時に止めにくい工程を決めるための座標軸を与えることです。この整理があると、個別手口の記事を読んだ後も、対策を全体運用へ戻しやすくなります。

平時にどこまで台帳化すると incident 時に効くのか

事故後に探したくない情報を、先に持っておきます

supply chain 事故では、事故後に初めて「どの package を使っていたか」「どの runner がどの権限を持っていたか」「どの artifact が顧客へ配られたか」を探し始めると、判断が遅れます。だから平時の台帳は、監査のためだけでなく、incident review で最初に見るべき情報を先に持つために作ります。package 一覧、build 実行基盤、署名鍵、公開用 token、artifact 保管先、download 導線、委託先権限の七つがつながって見えるだけでも、初動は大きく変わります。

重要なのは、完璧な管理表を目指すことではありません。どの変更がどこへ波及するかを追える粒度で持つことです。たとえば release 権限を持つ bot account、署名処理に触れる job、顧客配布物へ入る成果物の経路が分かるだけでも、事故時に止めるべき場所をすぐ絞れます。

委託先や外部 build 支援も同じ台帳へ戻します

実務では、社内の package・build・署名は把握していても、委託先の build 支援、運用代行、外部 registry、shared bot account の扱いが別資料になりがちです。しかし supply chain 事故では、そこが抜けていると「自社の controls は守っていたのに、外側で崩れた」ことに後から気づきます。だから委託先や外部サービスも、例外扱いではなく supply chain 台帳の一部として戻す必要があります。

ここはSaaSベンダーリスク業務委託先セキュリティともつながります。契約上の確認と、実際に何の権限を渡しているかを同じ運用へ戻すと、事故後に責任分界を説明しやすくなります。

台帳があると、止める判断と戻す判断が速くなります

supply chain 事故では、「どれを止めるか」と「どこから戻すか」の判断が最も難しい場面です。公開 package を止めるのか、artifact を差し替えるのか、署名鍵を rotate するのか、委託先の publish 権限を剥奪するのかを、短時間で決める必要があります。平時から台帳があると、影響範囲を根拠付きで説明できるため、過剰停止と過少停止の両方を減らせます。

したがって本記事でいう供給網対策は、単なる開発セキュリティの総論ではありません。事故時の意思決定を速くするために、依存関係、ビルド、署名、配布、委託先を同じ面で説明できるようにすることです。ここまで整理できて初めて、個別の supply chain 手口を防御策へ落とし込めます。

開発関連の公開導線や管理面の棚卸しなら ASM診断 PRO

ASM診断 PRO 公式サイトのトップ画面

ASM診断 PRO はソフトウェア供給網を直接守る製品ではありませんが、外から見えるログイン画面、古いポータル、公開管理面、委託先導線を洗い出し、周辺の外部露出面を整理する入口として使えます。

供給網事故の後は、ビルドやパッケージだけでなく、外部公開された開発関連導線や管理経路まで含めて確認する必要があります。公開面の棚卸しを先に進めると、波及先の整理がしやすくなります。

実務では、supply chain 事故そのものは内部の build や package で起きていても、その後に確認すべきのは artifact portal、release 管理画面、download 配布面、委託先向け login、古い開発用 subdomain など、外から見える周辺導線です。これらが整理されていないと、incident review のたびに「どこまで公開されていたか」を手作業で洗うことになります。

ASM診断 PRO は package integrity や署名そのものを保証する製品ではありませんが、公開された管理面や残置された外部接点を減らし、供給網事故の後に確認すべき対象を絞る補助線として使えます。特に委託先の導線、古い portal、停止済みだが DNS だけ残る開発面の棚卸しは、平時にやっておくほど incident 時の確認が速くなります。

つまりここでの役割は「供給網そのものを守る」ではなく、「供給網事故が起きた時に外部から触れられる周辺管理面を減らしておく」ことです。内部の build controls と外部露出整理を分けて考えず、同じ運用 review の中に戻すと、総論記事で整理した内容を現場に落とし込みやすくなります。

次のアクション

開発関連の外部導線を棚卸しする

公開されたログイン画面、古い管理ポータル、委託先導線を整理し、供給網事故後の波及経路を減らしましょう。

よくある質問

ソフトウェアサプライチェーン攻撃とは、OSS パッケージの話だけですか?

違います。依存関係、レジストリ、CI/CD、成果物、署名、更新経路まで含む広い問題です。OSS パッケージはその一部です。

SaaS ベンダーリスクと何が違いますか?

SaaS ベンダーリスクは外部サービス運用依存が主役です。ソフトウェアサプライチェーン攻撃は、コードやビルド、配布の連鎖が主役です。

最初に深掘りすべき下位手口は何ですか?

自社の依存関係管理、レジストリ運用、CI/CD、秘密情報管理のどこが弱いかで変わります。一般には依存関係混乱、悪意あるパッケージ、CI/CD 侵害の3つに分けると整理しやすいです。

SBOM を作れば十分ですか?

十分ではありません。SBOM は可視化に役立ちますが、取得元の信頼、ビルド権限、署名、配布、監視まで揃えないと供給網防御は完成しません。

ASM診断 PRO はソフトウェア供給網を直接守る製品ですか?

いいえ。ASM診断 PRO はパッケージやビルドを直接守る製品ではなく、外から見える管理導線や公開面の棚卸しを補助する位置づけです。

まとめ

中央の供給網コアを検証と統制のリングが囲み、外周の不安定なノードが内側で整えられる抽象図

ソフトウェアサプライチェーン攻撃は、OSS パッケージだけでなく、レジストリ、CI/CD、成果物、署名、配布まで含む広い連鎖の問題です。だから「どの手口が主役か」を分けて見る設計が必要です。

守る側は、下位手口ごとの担当者を決め、依存関係取得、ビルド、公開の信頼境界を整理し、パッケージ、パイプライン、秘密情報を一つの連鎖として扱う必要があります。

次のアクション

読み終えたら、無料でASM診断を開始

外部公開資産の現状を無料で確認し、管理漏れや優先して見るべきリスクを洗い出してください。記事で読んだ内容を、そのまま自社の判断へつなげやすくなります。

参考にした一次ソース

重要論点の根拠として参照した一次ソースだけを掲載しています。