比較
CRACIとSocket Securityの比較
Socketは、これから使うパッケージが何をするのか、信頼できるのかを判断します。CRACIは、ビルドが実際に取り込んだものを記録し、接続先を制御します。一方はパッケージを、もう一方はビルドを見ています。
更新日
結論
Socket Securityは、問題のあるオープンソースパッケージを取り込まれる前に検出することで知られています。パッケージの挙動(インストールスクリプト、ネットワークやファイルシステムへのアクセス、難読化コード、既知のマルウェア、タイポスクワッティング)を分析してプルリクエストで知らせ、Socket Firewallを使えばインストール時に悪意あるパッケージをブロックできます。
CRACIはGitHub Actions向けのCIランナーです。ジョブはCRACI上で実行され、その間にジョブが取得するすべての外部依存関係を記録し、ジョブにエグレスポリシーを適用し、出荷したものの脆弱性をトラッキングし続けます。Socketはパッケージを安全に使えるかを問います。CRACIはビルドが何を使い、どこに接続したかを記録し、それをリリースのエビデンスにします。
- Socketを選ぶのは、悪意あるパッケージやリスクのあるパッケージをプルリクエストとインストールの段階で止めたい場合です。
- CRACIを選ぶのは、ビルド時SBOM、来歴データ、ビルドのエグレス制御、そしてCRAの脆弱性通知を含む、出荷したものの脆弱性トラッキングが必要な場合です。
- 両者は補完し合います。Socketは取り込まれるパッケージを審査し、CRACIはビルドがそれらで何をしたかを記録し、制限します。
概要
| 機能 | CRACI | Socket |
|---|---|---|
| ビルドの実行 | ジョブはCRACIのランナーで実行 | CIを実行するのではなく、CIと連携 |
| ビルドから記録される依存関係 | CIキャッシュのパッケージを含め、観測した取得を記録 | マニフェストとロックファイルから検出 |
| ビルドのネットワークエグレスポリシー | デフォルト拒否または許可、フェイルクローズ | Socket Firewallはパッケージのインストールのみをフィルタリング |
| SBOMエクスポート(CycloneDX、SPDX) | すべてのビルドで、ジョブとキャッシュごとの完全性付き | Businessプラン以上。CycloneDXエクスポートAPIはベータ版 |
| パッケージの挙動分析 | インストールスクリプト、マルウェア、タイポスクワッティング、難読化コード | |
| インストール時に悪意あるパッケージをブロック | 組織全体のパッケージブロックリスト | Socket Firewall(無料版あり) |
| 新しい依存関係へのプルリクエストコメント | Socket for GitHubがリスクのある追加を指摘 | |
| 到達可能性分析 | Teamから事前計算型、Enterpriseでアプリケーション全体 | |
| ビルドとリポジトリをまたいだ脆弱性トラッキング | 監視対象のSBOMを継続的に再評価し、トリアージして担当チームへ | 検出した依存関係に関する脆弱性アラート |
| CIシステム | 現在はGitHub Actions。GitLab CIとJenkinsはロードマップに掲載 | CLIはGitHub Actions、GitLab、Bitbucket、Jenkins、Azure DevOpsで動作。GitHub以外のリポジトリ連携はEnterprise |
| 料金 | 1vCPU分あたり$0.002(2 vCPUは$0.004)、秒単位の従量課金。月額料金なし、SBOMごとの課金なし | Free、Teamは1開発者あたり月額$25、Businessは同$50、Enterpriseは個別見積もり(2026年9月時点)。 |
- 対応
- 非対応
- ロードマップに掲載
Socketの強み
Socket for GitHubはプルリクエストを監視します。変更によって依存関係が追加されると、Socketはそのパッケージの挙動を分析し、セキュリティリスクがあればコメントします。チェック対象は、インストールスクリプト、テレメトリ、ネイティブコード、既知のマルウェア、タイポスクワッティング、プロテストウェア、難読化コード、そしてシェル、ネットワーク、ファイルシステムへのアクセスといった特権APIの使用です。これはCVEの照合とは異なる種類のシグナルで、悪意はあるもののまだアドバイザリのないパッケージも指摘できます。
Socket Firewallは、パッケージマネージャーのコマンドのラッパー(sfw npm install)として、またはパッケージマネージャーとレジストリの間のプロキシとして動作します。推移的依存関係を含め、どの階層にある悪意あるパッケージもブロックします。無料版はAPIキー不要で、npm、yarn、pnpm、pip、uv、cargoに対応しています。Enterprise版では、設定可能なポリシー、プライベートレジストリ、そしてGo、Maven、Gradle、RubyGems、NuGetを含む追加のエコシステムに対応します。
Socketは3段階の到達可能性分析も提供しています。依存関係の到達可能性、Teamプランからの事前計算型の到達可能性、そしてEnterpriseでのアプリケーション全体の到達可能性です。Socketによると、アプリケーション全体の到達可能性分析では脆弱性アラートの最大90%を無関係と判定できます。JavaScript、Python、Java、Go、Ruby、Rust、.NET、PHP、Swiftのマニフェストを検出し、CLIはGitHub Actions、GitLab、Bitbucket、Jenkins、Azure DevOpsで動作します。CRACIは現在、パッケージの挙動分析、プルリクエストへのコメント、到達可能性分析、個別パッケージのブロックのいずれも行いません。
Socketの料金(2026年9月時点)
- Free:月1,000回のスキャン、最大3メンバー、マルウェアの検出とブロック。
- Team:1開発者あたり月額$25、最低5開発者。優先度スコアリング、Slackアラート、事前計算型の到達可能性分析が加わります。
- Business:1開発者あたり月額$50、最低20開発者。SBOMのインポートとエクスポート、コンプライアンス連携、SSO、GitHub Actionsのスキャンが加わります。
- Enterprise:個別見積もり。アプリケーション全体の到達可能性分析と、GitLab、Bitbucket、Azure DevOpsのリポジトリ連携が加わります。
年間契約で最大20%割引になり、Socketはオープンソースプロジェクトには今後も常に無料で提供するとしています。Socketの料金は開発者単位です。CRACIはビルド時間に対してのみ課金し、1vCPU分あたり$0.002(デフォルトの2 vCPUランナーでは$0.004)で、月額料金もSBOMごとの課金もありません。詳しくはCRACIの料金をご覧ください。
CRACIの違い
ビルドが信頼できる情報源
Socketはプロジェクトが宣言したマニフェストとロックファイルを読み取ります。CRACIは実行中のビルドを観測します。ランナー上のパッケージを認識するプロキシが、npm、PyPI、RubyGems、Composer、Cargo、Go、Nix、OCI、apt、apk、Gitの各ソースとダウンロードプリセットへのパッケージソース通信を捉えます。エビデンスはCIキャッシュと一緒に引き継がれるため、キャッシュから復元されたパッケージも記録に残ります。各SBOMはジョブごと、キャッシュごとに完全性を明示します。状態はComplete、Complete with connections、Incomplete、Unavailable、Not recordedのいずれかです。
ジョブ全体に対するエグレスポリシー
Socket Firewallは、パッケージのインストールを通すかどうかを判断します。CRACIのエグレスポリシーは、ジョブがそもそもどこに接続できるかを決めます。デフォルト拒否またはデフォルト許可を選べ、24種類の組み込みソフトウェアソースプリセットと、npm、PyPI、apt、apk、Goプロキシ、Nix、Cargo、OCIレジストリ、Git向けの型付きカスタムソースを利用できます。ポリシーはジョブの開始前に検証され、フェイルクローズし、違反時にはCRACIからアラートを受け取れます。外部と通信しようとする悪意あるインストールスクリプトは、パッケージの問題であると同時にネットワークの問題でもあります。2つの制御は、その異なる側面をカバーします。
来歴と脆弱性トラッキング
APIからSBOM、ネットワークトレース、来歴を取得できます。CRACIは来歴に署名しません。CRACIはビルドとリポジトリをまたいで脆弱性を集約し、監視対象のSBOMを継続的に再評価します。セキュリティチームは検出結果をトリアージし、修正を担当するチームに送ることができます。ベンダーのSBOMも自社のビルドと並べて監視され、SBOMはCycloneDXまたはSPDXでエクスポートできます。
どこに何がデプロイされているかのインベントリ
CRACIのインベントリビューは、どのソフトウェアバージョンがどの製品にデプロイされているかを、グローバルに正確に示します。新たな脆弱性が見つかったとき、リリースノートやスプレッドシートをつなぎ合わせなくても、影響を受けるバージョンを実行している製品がわかります。
Socketの無料SBOMコマンドについて
Socket CLIには、アカウント不要の無料ローカルSBOMコマンドsocket manifest cdxgenがあります。Socketのドキュメントによると、このコマンドはデフォルト設定を変更したうえでcdxgenに処理を渡します。依存関係のインストールを省略するプレビルドのライフサイクルと、デフォルトのプロジェクトタイプとしてのJavaScriptです。これらのデフォルト設定が検出できる範囲を決めるため、expressjs/expressのようにロックファイルのないリポジトリでは、解決できるものが何もありません。
これは無料のローカルラッパー1つについての説明であり、Socketの中核製品やサーバー側のSBOMエクスポートについてではありません。
どちらが適しているか
- 悪意あるパッケージを入り口で止めたい場合:プルリクエストのチェックとSocket Firewallを備えたSocketです。
- 到達可能性分析で無関係なCVEアラートを減らしたい場合:TeamまたはEnterpriseのSocketです。CRACIは到達可能性分析を提供していません。
- 各リリースに何が入ったかのエビデンスが必要な場合:CRACIはビルドからそれを記録し、成果物にひも付けます。
- 想定外のホストに接続できないビルドにしたい場合:CRACIのエグレスポリシーです。
- Cyber Resilience Actの対象となる製品を出荷している場合:CRACIは出荷したものの脆弱性をトラッキングし、CRAの脆弱性通知の内容を準備します(提出はお客様が行います)。
- GitLab、Jenkins、Azure DevOpsを使っている場合:Socketは現在これらに対応しています。CRACIは現在GitHub Actionsのみに対応しており、GitLab CIとJenkinsはロードマップに掲載されています。
Cyber Resilience Actへの対応
悪意あるコンポーネントやリスクのあるコンポーネントを製品から排除することは、製造業者がセキュリティ上の義務を果たす助けになり、Socketはそのために作られています。CRACIは、企業がより広範なCRAコンプライアンスプロセスに必要とするソフトウェアサプライチェーンの可視性とエビデンスのかなりの部分を自動化します。完全性を明示したビルド時SBOM、来歴データ、継続的な脆弱性トラッキング、そしてお客様が提出するCRAの脆弱性通知の内容の準備です。どちらのツールも、それだけで製品を準拠させるものではありません。CRAとはとCRAコンプライアンスをご覧ください。
CRACIとSocketの併用
CRACIが置き換えるのはランナーであり、GitHub Actionsではありません。実行結果は引き続きGitHubに表示され、Socketもプルリクエストのチェックを続けます。Socketはパッケージを追加前とインストール時に審査し、CRACIは各ビルドが取得したものを記録し、接続先を制限し、出荷したものの脆弱性をトラッキングし続けます。詳しくはビルド時のSBOM生成と脆弱性トラッキングをご覧ください。
他のパッケージセキュリティツールも検討している場合は、Socketの代替ツールをご覧ください。
Socket SecurityとCRACI:よくあるご質問
料金、SBOM、それぞれのツールが適する場面
Socket Securityとは何ですか?
Socket(socket.dev)は、オープンソースの依存関係を対象としたソフトウェアサプライチェーンセキュリティプラットフォームです。インストールスクリプト、ネットワークやファイルシステムへのアクセス、難読化コード、既知のマルウェア、タイポスクワッティングなど、パッケージが実際に何をするかを分析し、リスクのあるパッケージをプルリクエストやCIで、またSocket Firewallを使えばインストール時に、指摘またはブロックします。
Socket Securityは無料ですか?
Socketには月1,000回のスキャン、最大3メンバーまでの無料プランがあり、オープンソースプロジェクトには今後も常に無料で提供するとしています。Socket FirewallにもAPIキー不要の無料版があり、npm、yarn、pnpm、pip、uv、cargoに対応しています。有料プランでは到達可能性分析、SBOMエクスポート、追加の連携機能が利用できます。
Socketの料金はいくらですか?
2026年9月時点で、Socketの料金ページにはTeamが1開発者あたり月額$25(最低5開発者)、Businessが1開発者あたり月額$50(最低20開発者)、Enterpriseが個別見積もりと記載されており、年間契約で最大20%割引になります。SBOMエクスポートはBusinessから、GitLab、Bitbucket、Azure DevOpsのリポジトリ連携はEnterpriseで利用できます。
SocketはSBOMを生成しますか?
はい。SBOMのインポートとエクスポートはSocketのBusinessプラン以上で利用でき、CycloneDXエクスポートAPIはベータ版とされています。Socketは検出したマニフェストとロックファイルからSBOMを作成します。CRACIはビルドの実行中に、ジョブが実際に取得したパッケージからSBOMを記録し、各ジョブの記録が完全かどうかを明示します。
CRACIはSocketのように悪意あるパッケージを検出しますか?
Socketと同じ方法ではありません。CRACIは、悪意あるリリースにCVEが公開されれば他の脆弱性と同様に指摘しますが、パッケージの挙動分析やスコアリングは行わないため、新しい悪意あるパッケージはアドバイザリが出るまで指摘されません。CRACIはフェイルクローズするランナーレベルのエグレスポリシーでビルドの接続先を制御し、ビルドが取得したすべてのパッケージを記録し、出荷したものを脆弱性データと継続的に照合し直します。組織全体のパッケージブロックリストはロードマップに掲載されています。
CRACIはSocketの代替になりますか?
追加される前のパッケージを審査する用途では代替になりません。それはSocketの中核機能であり、CRACIは行いません。CRACIが適しているのは、各リリースに何が入ったかのエビデンスが必要な場合です。ビルド時SBOM、来歴データ、ビルドのエグレスポリシー、継続的な脆弱性トラッキング、CRAの脆弱性通知を提供します。悪意あるパッケージを懸念するチームは、プルリクエストではSocketを、ビルドではCRACIを使えます。
SocketとCRACIはどのCIシステムに対応していますか?
SocketのCLIはGitHub Actions、GitLab、Bitbucket、Jenkins、Azure DevOpsで動作します。CRACIは現在GitHub Actions向けのランナーで、GitLab CIとJenkinsはロードマップに掲載されています。
ビルドが実際に取り込んだものを確認
デモを予約いただければ、お客様のGitHub ActionsワークフローをCRACIで実行し、ジョブがアクセスしたすべてのパッケージソースをお見せします。
デモを予約