ブログへようこそ

2025年のソフトウェア構成分析(SCA)ツール・トップ10

私たちが使っているコードの85%は、私たち自身のコードからではなく、オープンソースのコンポーネントや依存関係からきています。これは、攻撃者があなたよりもあなたのコードをよく知っていることを意味します! SCAツールは、オープンソースのサプライチェーンを安全に保つための最善の防御策なのです。
ソフトウェア構成分析(SCA)ツールは、オープンソースの依存関係スキャンとしても知られており、オープンソースのサプライチェーンに潜むリスクを理解するのに役立ちます。既知の脆弱性、危険なライセンス、あるいは無害に見えるライブラリに隠されたマルウェアまで。
オープンソースのサプライチェーンの構成を理解することは非常に難しく、SCAツールはアプリケーションのセキュリティプログラムの不可欠な一部となっている。しかし、それらはしばしば誤検知や不必要なノイズにまみれている。そこで我々は、優れたSCAツールに何を求めるべきかを正確に分類し、現在SCAのマーケット・リーダーである10社をレビューしたい。

ソフトウェア構成分析の仕組み
SCA ツールは、通常、依存関係やバージョンを既知の脆弱性と照合することで、 脆弱性を検出するための継続的なプロセスを提供します。しかし、SCA のリーダーはさらに進んで、リスクの高いライセンスを使用しているパッケージを検出したり、マルウェア検査を実施したり、さらにはパッケージがアクティブに保守されなくなったことを検出したりします。さらに、ツールがとるアプローチにも違いがあり、通常SCAツールには6つの段階があります。
- OSS依存スキャン
- アプリケーションのコードベース、ビルドディレクトリ、CI/CDパイプライン、パッケージマネージャのファイルをスキャンし、オープンソース(OS)の依存関係を特定します。
- 直接依存 (明示的に宣言された) と推移的依存 (継承された) の両方を検出します。
- ソフトウェア部品表(SBOM)の作成
- OSの全コンポーネントのインベントリーを作成する:
- コンポーネント名、バージョン、場所、サプライヤー/メンテナンス業者
- 関連するオープンソースライセンス
- 多くの場合、より良い分析と潜在的な脆弱性/競合の識別のために依存関係を視覚化します。
- OSの全コンポーネントのインベントリーを作成する:
- 脆弱性評価
- NVD、CVE、GitHub AdvisoryなどのデータベースとSBOMを比較する。
- オープンソースのコンポーネントをスキャンし、データベースで宣言されていないマルウェアを検出する。
- Common Platform Enumeration(CPE)を使用して、コンポーネントを既知の脆弱性にマッピングする。
- 定期的に更新されるデータベースは、古い依存関係であっても、新しい脆弱性に確実にフラグを立てる。
- OSSライセンスコンプライアンス
- 各依存関係のライセンス条件を特定する。
- 例GPL(制限的、改変の共有を要求)とMIT(寛容)の比較。
- ライセンス紛争や組織内ポリシー違反のフラグを立てる。
- 各依存関係のライセンス条件を特定する。
- 脆弱性の修復と自動トライエイジング
- 実行可能な提言
- パッチを適用したバージョンへのアップデートを提案する(多くの場合、自動的にプルリクエストを作成する)
- セキュリティ勧告へのリンク
- 一時的な回避策を提供。
- 深刻度、悪用可能性、実行時の影響に基づいて脆弱性に優先順位を付ける(自動3段階評価)。
- 実行可能な提言
- 継続的なモニタリングとレポート
- コードベースに新たな脆弱性がないか定期的に再調査し、SBOMを更新する。
- OSコンポーネント、そのバージョン、関連するリスクをリアルタイムで可視化します。
業界で実証済みのSCAツールトップ10
(アルファベット順)
SCAツールを探していて、何から始めたらいいのかわからないという方のために、業界をリードしていると思われる10個のツールのリストと、そのツールの主な特徴および欠点を紹介します。
1.Aikido セキュリティ
Aikido Securityは、9つの異なるスキャナーを1つのプラットフォームに統合し、コードからコードまで保護する、開発者に焦点を当てたナンセンスなセキュリティプラットフォームです。
Aikido 、CVSSスコアのみに依存するのではなく、実際のリスク要因に基づいて脆弱性に優先順位を付け、マルウェア、ライセンスリスク、非アクティブパッケージもスキャンすることで、オープンソースの依存性スキャンに異なるアプローチを取ります。

主な特徴
- リスクベースの脆弱性優先順位付け:データの機密性と脆弱性の到達可能性を考慮し、悪用可能な問題に焦点を当て、無関係なCVEによるノイズを削減します。
- 高度なマルウェア検出:NPM、Python、Go、Rustなどの主要なエコシステムにおいて、隠れた悪意のあるスクリプトやデータ流出の試みを特定します。
- 到達可能性分析:堅牢なエンジンを使用して、対処可能な脆弱性を特定し、優先順位を付け、誤検出や重複を排除します。
- 自動修復ワークフロー:Slack、Jira、GitHub Actionsなどのツールと統合し、発券、通知、セキュリティポリシーを自動化します。
- ローカルCLIスキャナー:センシティブなデータを扱うチームのためのセキュアなセルフホストスキャンを可能にし、プライバシーと規制基準の遵守を保証します。
- 開発者中心の設計:セキュリティをワークフローに直接組み込み、コードベースへの具体的な影響に合わせた明確で実用的なガイダンスを提供します。
- わかりやすい価格設定:予測可能で費用対効果に優れ、競合他社と比較して最大50%のコスト削減が可能です。
2.アピイロ
Apiiroは、深いコード解析とランタイムの動作監視を組み合わせることで、悪用可能な脆弱性とオープンソースリスクを特定し、優先順位を付け、開発者のワークフロー内で直接、包括的な洞察を提供し、修復を合理化します。

主な特徴
- 包括的なリスク分析:未整備のプロジェクト、ライセンシングの競合、安全でないコーディングプラクティスなど、CVE 以外のオープンソースのリスクを評価します。
- ペネトレーションテストのシミュレーション:実行時のコンテキストに基づいて脆弱性の悪用可能性を確認し、重大なリスクに優先順位をつける。
- リスクグラフとコントロールプレーン:OSSのサプライチェーンをマッピングし、効果的にリスクに対処するためのワークフロー、ポリシー、修復プロセスを自動化します。
- 拡張SBOM(XBOM):CI/CDやクラウドリソースを含む依存関係や関連するリスクを、グラフベースでリアルタイムに表示します。
- 開発者中心の修復:コンテキストに応じたアラートと安全なバージョン更新を、既存の開発者ワークフローとツールに組み込みます。
デメリット
- コストが高い:50席で最低35,400ドルの年間契約が必要で、小規模組織には適さないかもしれない。
- 複雑なオンボーディング:リスク・グラフやXBOMのような高度な機能は、新規ユーザーにとって急な学習曲線が必要となる場合がある。
3.アルニカ
Arnica は SCM システムと直接統合し、コードの変更と依存関係をリアルタイムで継続的に監視することで、脆弱性の早期発見、動的なインベントリ管理、実行可能な修正ガイダンスを提供し、セキュリティが開発ライフサイクルに組み込まれていることを保証します。

主な特徴
- パイプラインレスSCA: GitHub、GitLab、Azure DevOpsなどのツールとネイティブに統合し、リアルタイムですべてのコミットをスキャンすることで、複雑なパイプラインのセットアップを排除します。
- 動的依存関係インベントリ: すべての外部パッケージ、ライセンス、関連するリスクの最新インベントリを維持します。
- 悪用可能性の優先順位付け OpenSSFスコアカードとEPSS脅威インテリジェンスを関連付け、各脆弱性の悪用可能性リスクスコアを算出します。
- コンテクスチュアル・アラート: ワンクリックの自動修正を含む、ステップバイステップの修復ガイダンスとともに、詳細で規定されたアラートを関連する利害関係者に配信します。
- シームレスなフィードバックループ: 開発者に即時のセキュリティフィードバックを提供し、早期かつ継続的な脆弱性管理を促進する。
デメリット
- 無料機能は限られています: 高度な機能には有料プランが必要で、1IDあたり月額8ドルから。
- コストの拡大: これは大規模なチームや組織にとっては懸念事項かもしれない。
4.サイコード
Cycodeは、アプリケーションコード、CI/CDパイプライン、インフラストラクチャをスキャンすることで、オープンソースの脆弱性やライセンス違反をエンドツーエンドで可視化し、リアルタイムモニタリング、SBOMの自動生成、開発者のワークフローに直接統合されたスケーラブルな修復を提供します。

主な特徴
- 包括的なスキャン アプリケーションコード、ビルドファイル、CI/CDパイプラインの脆弱性やライセンス違反を分析します。
- リアルタイム・モニタリング: ナレッジグラフを使用して、逸脱や潜在的な攻撃ベクトルを発生時に特定します。
- SBOM管理: すべての依存関係について、SPDXまたはCycloneDX形式で最新のSBOMを生成します。
- 統合された修復: CVEコンテキスト、アップグレードの提案、ワンクリック修正、自動化されたプルリクエストを提供し、パッチ適用を加速します。
- スケーラブルな修正: これにより、 、単一のアクションでリポジトリ全体の脆弱性に対処できる。
デメリット
- 価格の透明性: 価格については直接の問い合わせが必要で、見積もりでは監視対象の開発者1人当たり年間350ドルとされている。
- 大規模チームにとってのコスト: 多くの開発者を抱える組織では、価格が高額になる可能性がある。
5.ディープ・ファクター
DeepFactorは、静的スキャンとライブのランタイム監視を組み合わせることで、包括的なSBOMを生成し、依存関係をマッピングし、実際の実行パターンとランタイムの動作を分析することで悪用可能なリスクを特定します。

主な特徴
- ランタイム到達可能性SCA:実行されたコードパス、制御フロー、スタックトレースを分析することで、脆弱性が悪用可能かどうかを追跡する。
- 動的SBOM生成:静的解析と実行時解析を組み合わせることで、宣言されていない「幻の」コンポーネントを含むすべての依存関係を特定します。
- カスタマイズ可能なセキュリティポリシー:特定のセキュリティニーズに基づいて、独自の条件付きルールとトリガーを定義できます。
- インテリジェントなアラート相関:関連する問題を詳細なコンテキストとともに実用的なアラートに統合し、トリアージのノイズを低減します。
- きめ細かなランタイムの洞察:ファイル操作、メモリ使用量、ネットワークアクティビティなど、アプリケーションの挙動を観察します。
デメリット
- 価格:オールインワン・プランで65ドル/月。
- 限られた言語サポート:ランタイム到達可能性解析は現在、一部の言語(PHP、Kotlin、Go、Ruby、Scala)をサポートしている。
6.エンドール研究所
Endor Labsは、ソースコードを検査して動的なSBOMを構築し、重要な脆弱性を特定し、安全でないコーディングパターン、マルウェア、および非アクティブな依存関係を検出することによってSCAスキャンを強化し、DevSecOpsチームが実用的な洞察と規制コンプライアンスのサポートによって最も悪用可能なリスクに集中できるようにします。

主な特徴
- きめ細かな依存関係分析:マニフェストファイルだけでなく、ソースコードの検査を通じて、宣言された依存関係と「幻の」依存関係をすべてマッピングします。
- 到達可能性分析:アプリケーションのコンテキストにおいて現実的に悪用可能な脆弱性を特定し、ノイズを低減する。
- Endor Score:OSSパッケージのセキュリティ履歴、コミュニティサポート、メンテナンスを考慮した総合的な健全性評価を提供する。
- 自動化されたSBOMおよびVEXレポート:依存関係のインベントリと脆弱性の分類を、詳細な到達可能性のコンテキストとともに継続的に更新します。
- 高度な検出機能:マルウェア、安全でないパターン、依存性スプロール、ライセンス違反にフラグを立てるルールエンジンを含む。
デメリット
- 参入コストが高い:有料プランは年間10,000ドルからとなっており、小規模な組織にとっては利用しにくい。
- 新規ユーザーにとっての複雑さ:包括的な機能と詳細な分析は、新しいチームにとってオンボーディングの時間を必要とするかもしれません。
7.オリゴ・セキュリティ
Oligoは、従来のスキャナーが見逃していた脆弱性を検出するために、テストと実運用の両方で、実行時にライブラリを監視することにより、SCAに独自のアプローチを採用しています。Oligoは、アプリケーションのコンテキストと環境に基づいて、実用的な修正を提供します。ライブラリ動作プロファイルの広範な知識ベースとリアルタイムのモニタリングを活用することで、Oligo は、ゼロデイ脆弱性、不適切なライブラリの使用、ランタイム固有の脅威を特定し、DevSecOps チームが重要な問題に効率的に対処できるようにします。

主な特徴
- ランタイム・モニタリング:テスト時および本番時のライブラリの動作を追跡し、逸脱や脆弱性を検出します。
- eBPFベースのプロファイリング:Linuxカーネルレベルのモニタリングを活用し、実行時の挙動を可視化します。
- 自動化されたポリシーとトリガー:カスタマイズ可能なセキュリティワークフローと、SlackやJiraなどのツールを介したリアルタイムのアラート。
- ゼロデイ脆弱性の検出:公に知られる前に脅威を特定し、ゼロデイ攻撃を防ぎます。
- 状況に応じた脆弱性の優先順位付け:環境とライブラリの実行状態を考慮し、効果的に脅威の優先順位をつける。
デメリット
- 価格の透明性:セルフサービスや標準化された価格情報は利用できない。
- プラットフォームの制限:eBPFテクノロジーに依存しているため、主にLinuxに特化している。
8.セムグレップ
Semgrepは包括的なサプライチェーンセキュリティプラットフォームであり、開発ワークフロー全体をスキャンし、軽量パターンマッチングと到達可能性分析を活用して、コード内で直接悪用可能な脆弱性とアンチパターンを検出します。

主な特徴
- エンドツーエンドのスキャンIDE、リポジトリ、CI/CDパイプライン、依存関係を監視し、セキュリティ上の脅威やアンチパターンを検出する。
- 到達可能性分析:フラグが立てられた脆弱性がアプリケーション内で積極的に悪用可能かどうかを特定し、不要なノイズを削減します。
- 依存関係検索:リアルタイムの脅威への対応とアップグレード計画のために、サードパーティのパッケージとバージョンをライブで照会可能なストリームを提供します。
- Semgrepレジストリ:40,000を超える事前構築済みルールとコミュニティから提供されたルールがあり、カスタムルールを作成するオプションもあります。
- 幅広い言語サポート:Go、Java、Python、JavaScript、C#など、25以上の最新プログラミング言語をサポート。
- シームレスな統合:GitHub、GitLab、その他の一般的なバージョン管理システムとすぐに連携。
デメリット
- 大規模チーム向けの価格設定:中規模および大規模チームの場合、コストは急速に上昇します(10人以上の貢献者の場合、月額110ドル/貢献者)。
- カスタマイズの複雑さ:カスタムルールの作成と管理は、経験の浅いチームにとってさらなる労力を必要とする可能性がある。
9.スニーク
Snyk は、従来の SCA ツールのゴールド スタンダードとなっており、詳細な依存関係ツリーを作成し、ネストした依存関係を特定し、実際のリスク要因や悪用可能性に基づいて優先順位を付けて修正作業を行います。Snyk は、ダッシュボード、CLI / IDE ツールを使用して開発者のワークフローに適合し、実行可能な修正を提供し、オープン ソース ライセンスのコンプライアンスを保証します。

主な特徴
- 依存関係ツリーマッピング:階層的なグラフを構築し、直接および推移的な依存関係の脆弱性を検出し、その影響を追跡します。
- 独自の優先度スコアリング:悪用可能性、状況、潜在的影響に基づいて脆弱性をランク付けし、重要な脅威に確実に焦点を当てる。
- Snyk Advisor:100万を超えるオープンソースパッケージのセキュリティ、品質、保守性を評価し、開発者が最適な依存関係を選択できるようにします。
- 脆弱性データベース:1,000万件以上のオープンソースの脆弱性に関する堅牢なデータベースを維持し、正確性と実用的な洞察のために手作業で検証しています。
- シームレスな統合:一般的なバージョン管理システム、CI/CDパイプライン、IDEと連携し、コードと依存関係をリアルタイムでスキャンします。
- カスタマイズ可能なポリシー:組織は、脆弱性ハンドリングとライセンスコンプライアンスのための特定のルールを強制することができます。
デメリット
- 高度な機能のためのコスト:無料プランは基本的なものですが、より大規模なチーム向けの高度な機能を利用するには、より上位のプランが必要で、それには費用がかかります。
- 手動検証の依存性:脆弱性の手動検証に依存すると、新たに発見された脅威に対するアップデートが遅れる可能性がある。
10.ソケット・セキュリティ
Socketは、ディープパッケージ検査とランタイム動作解析を活用して、サプライチェーンの脅威、ゼロデイ脆弱性、オープンソースの依存関係の異常をプロアクティブに検出し、従来のSBOMベースのスキャンを超える包括的な保護を保証します。

主な特徴
- ディープパッケージ検査:リソースの相互作用やパーミッションリクエストなど、依存関係のランタイム動作を監視し、リスクのある動作を検出します。
- プロアクティブな脅威検出:ゼロデイ脆弱性、タイポスクワッティングリスク、サプライチェーン攻撃を一般公開される前に特定します。
- プルリクエストの統合:プルリクエストごとに依存関係を自動的にスキャンし、実用的な GitHub コメントを提供することで、早期のリスク軽減を実現します。
- 依存関係の概要:重要な詳細やリンクを含む完全な依存関係グラフを提供します。
- メンテナンスリスク評価:メンテナの活動、コードベースの更新、社会的検証を評価し、OSSパッケージの潜在的リスクにフラグを立てる。
デメリット
- 言語サポート:JavaScript、Python、Goの依存関係に限定されているため、他の言語で作業しているチームでは使用が制限される可能性があります。
正しいOSS依存スキャナーの選択
適切な SCA ツールを選択するかどうかは、プロジェクトの具体的なニーズと使用するテクノロジに依存する。SCAは、包括的なアプリケーション・セキュリティ計画の一部に過ぎず、スタンドアローンのSCAツールを使用することは、複数の異なるベンダーと統合する必要があることを意味することに留意することが重要です。Aikido セキュリティのようなオールインワン・ソリューションは、以下の点で魅力的なだけではありません。

Aikido 活躍を見たい? サインアップしてレポをスキャンし、2分以内に最初のSCA結果を手に入れましょう。

コンプライアンスとリスク管理を強化する3つの重要なステップ

強固なセキュリティ戦略は、もはや "あったらいいな "ではありません。市場で競争力を維持し、信頼されるためには不可欠なのだ。セキュリティ・チームは、脆弱性に迅速に対処し、コンプライアンスを維持しながら、ビジネス・オペレーションを拡大しなければならないというプレッシャーに常にさらされている。このブログ記事で ローランド・デルルーと ソナリ・サマンタレイAikido 共同設立者であり、シニア・ソリューション・エンジニアでもある。 スプリントそれぞれ、リスク、成長、およびコンプライアンス要件のバランスを取るセキュリティソリューションの拡張に関する専門知識を共有しています。脆弱性管理とコンプライアンス自動化のリーダーとして、組織が成長軌道を確保するための実用的な洞察を提供します。
1.リスクを常に把握する
組織の規模が拡大するにつれて、リスクプロファイルも増大します。新しいプロセス、顧客、データとの接点が増えるたびに、セキュリティの状況は拡大し、チームが脆弱性を特定、評価、優先順位付けすることは難しくなります。統合されたリアルタイムのアプローチがなければ、リスクは蓄積され、風評被害や金銭的な損害の可能性が増大します。小さな設定ミスや見落とされた脆弱性が1つでもあれば、何百万もの機密データポイントが暴露されたり、業務が中断されたりする可能性がある。
ローランドが言うように、「セキュリティは単なる安全装置ではなく、ビジネスが成長し、信頼を得るための重要な要素です。リスクを管理していなければ、顧客はそれに気づき、他へ移るかもしれません。適切なセキュリティ対策に注力することで、信頼を築き、ビジネスの成長を促進することができます。"
統合されたコンプライアンス管理機能を備えたセキュリティ・ツールを自動化することで、企業はリスクの追跡を合理化し、手作業による修正を減らし、リアルタイムのコンプライアンスを確保できる。自動化ツールは、リアルタイムの可視性を提供し、アラートによる疲労を軽減し、コンプライアンスを簡素化することで、チームを支援し、プロアクティブなリスク管理をサポートする基盤を構築します。
2.効果的な修復の優先順位
増え続ける脆弱性とリスクの管理は、すぐに圧倒されるようになります。何十件、何百件ものセキュリティアラートに直面すると、チームはしばしばアラート疲労のサイクルに陥る。一度に対処すべき問題が多すぎるため、意思決定が難しくなり、進捗が遅くなるのです。ローランドによれば、このような大量の通知は、改善努力の効果を損なう可能性があるという。
「チームを何百もの問題であふれさせると、そのどれかを効果的に解決できる可能性は著しく低下します。最も重要な問題に優先順位をつけることで、チームは本当に重要な問題に集中することができます。この集中的なアプローチにより、アラート疲労が軽減されるだけでなく、対処する問題が最大の効果をもたらすものになります」とローランドは言う。
この落とし穴を避けるには、最も重要なことにセキュリティ対策を集中させることが重要である。単に数が多いだけでなく、最も差し迫った問題を浮き彫りにするツールは、チームが有意義な進展を遂げるのに役立つ。改善策の優先順位が明確であれば、重要な脆弱性が抜け落ちるリスクを低減できる。
適切なフォーカスを当てなければ、チームは常にリアクティブな状態に陥ってしまう。しかし、ターゲットを絞ったアプローチ(リスクの高い問題にすぐに対処できるアプローチ)により、チームはリアクティブなループから抜け出し、プロアクティブなセキュリティ対策に時間を費やすことができる。
「適切なフォーカスを当てなければ、チームは常にリアクティブな状態に陥ってしまいます。しかし、リスクの高い問題にすぐに対処できるような的を絞ったアプローチであれば、チームはリアクティブなループから抜け出し、プロアクティブなセキュリティ対策に時間を費やすことができます。アラートに優先順位を付け、誤検知を減らし、専用のセキュリティ・ツールを導入することで、企業は、優先順位の低い問題に常に対処する一方で、重大な問題を見逃すというモグラ叩きのサイクルを回避できる。影響度の高い脆弱性に対策を集中させることで、セキュリティチームは効果的にリスクを管理し、新機能の開発や製品の改良など、他の価値の高いタスクに集中することができる。
3.セキュリティ態勢の一元化
多くのコンポーネントがあるため、セキュリティ・データがプラットフォームやチーム間でサイロ化しやすい。サイロ化したデータは、セキュリティ態勢に盲点をもたらし、セキュリティ・チームが迅速かつ効率的に行動することを困難にします。このような断絶は、コンプライアンスの失敗、セキュリティ侵害、組織の安全な拡張を妨げる遅延につながる可能性があります。
「ローランドは言う。「すべてを一箇所で管理することは、利便性のためだけではありません。「リスクとコンプライアンスの状況をリアルタイムで完全に把握することです。一元化されたシステムは、点と点を結びつけ、ギャップを特定し、リソースの優先順位を効果的につけることを容易にします。
すべてを一箇所で管理することは、利便性のためだけではありません。リスクとコンプライアンスの状況をリアルタイムで完全に把握することです。一元化されたシステムは、点と点を結びつけ、ギャップを特定し、リソースの優先順位を効果的に決定することを容易にします。
一元化されたセキュリティ態勢は、脆弱性管理、コンプライアンスの追跡、継続的なリスク評価など、これらすべての要素を統一されたビューにもたらします。このアプローチにより、セキュリティ・チームは自社の全体像を一度に把握し、ギャップをリアルタイムで特定して対処し、常に監査に対応できる一貫したシステムを構築することができる。Aikido ような脆弱性に特化したソリューションとSprintoのようなコンプライアンスに特化したプラットフォームを組み合わせることで、企業はセキュリティ対策を合理化し、手作業によるレポーティングを削減し、コンプライアンスとセキュリティを分離することなく連携させることができます。
前進への道
今日の複雑なセキュリティ環境に対応するには、プロアクティブかつ集中的なアプローチが必要です。リスクを常に把握し、効果的な修復を優先し、セキュリティ態勢を一元化することで、組織はセキュリティを向上させるだけでなく、安全かつ自信を持って拡張する能力を高めることができる。ローランドが適切に述べているように、「セキュリティは一過性のプロジェクトではありません。セキュリティは一過性のプロジェクトではなく、顧客と企業の成長に対する継続的なコミットメントなのです。これらのステップに投資することは、単にセキュリティ標準に追いつくことではなく、顧客の信頼を第一に考えながらビジネスの成長を可能にすることなのです。
利用方法 SprintoGRC +Aikidoを併用することで、コンプライアンスをより早く、より安く実現することができます。時間とお金の節約を喜ばない人はいないでしょう。
スプリントの詳細はこちら こちら.SprintoとAikido 連携設定 こちら.

スタートアップ企業によるアプリケーション・セキュリティのオープンソースガイド
セキュリティは、難しく、お金のかかる世界です。そこで私たちは、オープンソースのセキュリティ・ツールの包括的なガイドを作成し、でたらめな情報に切り込み、導入すべき最も重要なツールは何か、保護すべき資産は何か、フリーでオープンソースのツールだけを使って長期的なセキュリティ・プランを構築する方法を示すことにした。

最も重要なツールとは?
利用可能なセキュリティ・ツールは無限にあるように見えるが、最初のステップは常にどこから始めるかを決めることだ。具体的な内容によって異なることもあるが、私たちは常に、攻撃者にとって危険の少ないものから始めることを推奨している。クラウドインフラが安全であること、攻撃者が見つけやすい秘密がないこと、エラーにつながる単純なコーディングミスがないこと、オープンソースのサプライチェーンに致命的な脆弱性がないことを確認してください。そこから、セキュリティを向上させるツールをさらに導入し、ソフトウェア開発ライフサイクル全体を通じて、より多くのベストプラクティスを導入することができる。

どのようなツールがありますか?
素晴らしいオープンソースのツールはたくさんあり、あなたのスタックや正確なニーズにもよるだろうが、以下に我々がゴールドスタンダードと考え、手始めに最適と考えるものをいくつか紹介する。
CSPM (クラウド・セキュリティ・ポスチャー・マネジメント)
Cloudsploit
CSPMはクラウド資産を保護するために不可欠なツールであり、CloudsploitはオープンソースのCSPMである。このプロジェクトは、Amazon Web Services (AWS)、Microsoft Azure、Google Cloud Platform (GCP)、Oracle Cloud Infrastructure (OCI)などのクラウド・インフラ・アカウントのセキュリティ・リスクを検出する。
秘密の検出
Trufflehog|gitleaks.
シークレットは、新しいシステムへの迅速な横の動きを可能にするため、攻撃者にとって価値の高いターゲットです。実際、侵害の83%でシークレットが使用されています。シークレットが存在する場所、特にあなたの git リポジトリでシークレットを検出することが不可欠です。オープンソースのシークレット対策ツールとしては、Trufflehogとgitleaks があります。
SCA(ソフトウェア構成分析)
Trivy|Dependency-Check| Dependency-Track
オープンソースの依存関係は、私たちのアプリケーションのコードの85%を占めています!どのオープンソースコンポーネントに脆弱性が含まれているかを知ることは非常に重要です。SCAツールは、アプリケーションで使用しているオープンソースの依存関係を分析し、それらに対して既知の脆弱性があるものを特定します。Trivy、Dependency-Check、Dependecy-Trackは、オープンソースのリスクを理解するのに役立つ素晴らしいツールです。
SAST(静的アプリケーション・セキュリティ・テスト)
Bandit|Breakeman|GoSec|SemGrep
SASTは、セキュリティ問題につながる可能性のあるミスがないか、ソースコードをレビューします。SASTが発見できる最も一般的なエラーには、インジェクションの脆弱性、暗号化の失敗、バッファオーバーフローがあります。あなたが選択するツールは、あなたの特定の技術スタックに特化する必要があります。Bandit(Python)、Breakeman(Ruby)、GoSec(Go)、SemGrep(Generic)などがあります。
DAST(ダイナミック・アプリケーション・セキュリティ・テスト)
Nuclei|Zap
DASTツールは、悪用可能な脆弱性を発見するために、あなたのドメインに対して攻撃を実行する自動ハッカーのように機能する。2つの素晴らしいオープンソースツールはNucleiと Zapです。
マルウェア検出
Phylum
Classic SCAツールは、公表されている脆弱性に依存しています。マルウェア検出は、報告されていないかもしれないパッケージ内部の悪意のあるコードを発見することです。技術的には完全なオープンソースではありませんが、彼らのCLIスキャンツールと一緒に使える無料版があります。
IaCスキャニング
Checkov
Infrastructure as codeのおかげで、クラウド・インフラストラクチャのプロビジョニングとデプロイがより確実かつ簡単にできるようになった。しかし、これはセキュリティ問題を引き起こす設定ミスにつながる可能性がある。前述したCSPMツールはクラウド・インフラストラクチャのエラーを見つけることができるが、IaCスキャンはデプロイ前にエラーの発生を防ぐことができる。Checkovは、セキュリティ上の問題をスキャンできる優れたツールだ。
アプリ内ファイアウォール
Zen-Node|Zen Python
セキュリティの左遷(ライフサイクルの早い段階でのセキュリティの移行)についての実際のトレンドがあります。これは素晴らしいことですが、この反対側をないがしろにして、実行中のアプリケーションにセキュリティを実装すべきではありません。Zen byAikido オープンソースのアプリ内ファイアウォールで、実行時にインジェクションのような攻撃をブロックし、二次的な保護レベルを追加することができる。Zen-Node|Zen Python
使用済み部品
endoflife.date
オープンソースのサプライチェーンの大きなリスクは、メンテナンスされなくなったコンポーネントである。endoflife.dateは、もはやメンテナンスされておらず、本番で使うべきでないプロジェクトの素晴らしいデータベースである。
ライセンス保護
Trivy
アプリケーションで正しいオープンソースライセンスを使用していることを認識することは重要です。Trivyは、オープンソースライセンスの種類とそれらがどのように使用されているかについての素晴らしい洞察を提供します。
オープンソースのツールは商用版と同等か?
オープンソースのツールは、スキャン能力という点では非常に高品質である。しかし、ノイズ除去、修復、モニタリングに関しては、商用ツールの方が優れている。Aikido ような多くの商用ツールは、オープンソースのスキャナーを使用している。オープンソースのツールを使用することを恐れるべきではありませんが、オープンソースのツールを使用することは、特に成長するにつれて、多くのエンジニアリング時間を必要とすることに注意してください。
オープンソースのセキュリティツールを使う理由
- 参入障壁がない(すぐに無料で始められる)
- オープンソースは、取締役会の賛同を得るための素晴らしいツールである。
- 高品質のスキャナ(多くのオープンソースツールは、スキャニングの能力において一致している)
- 地域支援
なぜオープンソースのセキュリティツールを使わないのか
- セットアップが難しい。オープンソースのツールは、さまざまな言語やフレームワークを使用しているため、それらをうまく使いこなすのは難しい。
- ノイズの多いオープンソースのツールは、発見を重視する傾向があるため、フィルタリングの追加レイヤーを作成しなければ、多くの偽陽性をもたらす可能性がある。
- サポートは限定的、道具が壊れたら自己責任
- RBACなし。最新の開発では、チーム全体が関与することが重要だ。オープンソースのセキュリティは、役割間のフィルタリングを許さないため、セキュリティチームにとって大きな負担となる。
商用ツールよりオープンソースの方が良いという正解はなく、どちらにも適材適所がある。
Aikido 違い
オープンソースのセキュリティ・ツールを調査している場合、商用ツールは高価である一方、オープンソースのツールはダッシュボードに一元化するために多くの作業が必要であることに気づいたか、あるいは気づくことになるでしょう。Aikido 、この課題を理解し、オープンソースプロジェクトをシームレスに統合し、単一のダッシュボードに一元化し、自動トリアージと修復ワークフローですべてのセキュリティ問題にコンテキストをもたらす製品を作成しました。これにより、大規模な商用ツールのパワーをわずかな価格で利用することができます。


カーソルAIのためにAikidoを立ち上げる

Cursor AIは瞬く間に注目のAIコードエディターとなり、より速く効率的にコードを書きたい開発者の間で急速に人気を集めている。しかし、Cursorはコーディングを加速させる一方で、開発者はGen AIコードの安全性をどのように信頼できるのだろうか?
TL;DR:Aikido x Cursorを使えば、開発者は生成されたコードをそのままセキュアにすることができる。
Cursorは、VSCode上に構築された「AIネイティブ」IDEである。Cursorは、Github Co-pilot、Cognition、Poolside、Magic、Augmentなどと競合し、AIコーディングのコパイロット・スタートアップとしてますます混雑している分野で運営されている。
Cursorは2022年に設立されたが、CursorがGen AIコードレースの先頭に躍り出たのは2024年半ばのことで、CursorがデフォルトモデルとしてSonnet 3.5Mを追加したのと同時期だった。以下は、substackのNo.1技術ニュースレターであるGregely Oroszによる先週の「The Pragmatic Engineer」からのスナップショットで、GenAI機能を持つIDEを開発者がどのようにランク付けしているかを取り上げて いる:

回答者のほとんどがアーリーアダプターである可能性が高いとはいえ、新規参入企業であるCursorがこれほど早く人々の心を掴んでいるのは、非常に印象的なことだ。彼らがその後、Andreessen Horowitz、Thrive Capital、OpenAI、Jeff Dean、Noam Brown、そしてStripe、GitHub、Ramp、Perplexity、OpenAIの創業者等からシリーズAで6,000万ドルの資金を調達したのも不思議ではない。
そのため、Aikido SecurityはCursor AIとの新しい統合を開始することに興奮しています。Aikido x CursorはCursor IDEにリアルタイムのセキュリティをもたらし、開発者が歩みを止めることなく、最初からセキュアなコードを書いて生成できるようにします。
統合の仕組み
今日、Aikido Cursor IDEに直接統合することができます。Aikido 、開発中にファイルを開いたり保存したりするたびに、コードベースの秘密、APIキー 、SAST コードの問題をスキャンします。
何らかの問題が検出された場合、Aikido エディター上でそれらをハイライトし、問題パネルに問題を表示します。検出されたSASTの問題にカーソルを合わせると、その問題についての補足説明が表示されます。場合によっては、チャットでのカーソルの提案で問題を修正することもできます(まだ未熟ですが)。
- 脆弱性を即座に検出
Aikidoは、コードが生成される際にスキャンを行い、リアルタイムでセキュリティの脆弱性を特定します。明確で簡潔な説明により、何が問題で、なぜそれが重要なのかを確実に知ることができます。 - ワンクリックで問題を修正
脆弱性にフラグが立てられると、Cursor はワンクリックで修正案を生成できます。Cursorのチャット・インターフェースから直接適用できます。Cursorの提案のすべてが有効ではないことに注意してください。 - 集中し続ける
すべてがCursor IDE内で行われます。ツールを切り替えたり、外部スキャンを実行したり、別々のプラットフォームを使いこなす必要はありません。Aikido IDEにシームレスに統合されているので、コードの安全性を確認しながらビルドに集中できます。
なぜ重要なのか
AIがエンジニアリングに与える影響に疑いの余地はない。AIコードジェネレーターやコ・パイロットは無謬ではない。一方では、Gen AIはセキュリティを向上させるために使用することができる(これについてはすぐに詳しく説明する!)。その一方で、AIは必然的に脆弱性も導入することになる。私たちは皆、AIが細部まで完成させる日を待ち望んでいる。今日、我々は一歩近づいた。
この統合により、開発者は高速レーンにとどまり、AI駆動ツールの長所を活用しながら、安全なアプリケーションを構築することができる。セキュリティを完了させましょう。構築に戻る。
スタート
Cursorユーザー向けにAikido 統合が可能になりました。今のところ、統合するには有料サブスクリプションが必要です。以下の手順に従ってください:
ステップ1. Visual Studio Code Marketplaceに移動し、Cursorに拡張機能をインストールする方法の指示に従います。
ステップ2. Aikido Cursor IDEインテグレーションページに行き、トークンを作成します。
ステップ3. Visual Studio Marketplaceの ドキュメントにあるサンプルをチェックし、 すべてがうまく動作するかテストして ください。
ステップ4.建築に戻る。
生成されたコードの安全性を確保する。

△インテルとの出会い:LLMによるAikidoオープンソース脅威フィード。

インテルは、AIと社内リサーチチームによる オープンソースのセキュリティ脅威フィードです。インテルは 、オープンソースパッケージの脆弱性を監視し、 公開される前に発見します。 その多くは決して公開されることはありません。
サイレントパッチが適用されたソフトウェアの脆弱性の67%は公表されなかった
オープンソースソフトウェアは、文字通り世界を動かしている。しかし、オープンソースのセキュリティは、セキュリティ上の大きな懸念事項でもある。オープンソースのツールは、他のものと同様に、セキュリティの脆弱性をもたらす可能性があります。これらは、攻撃者がアプリケーションを悪用するために利用することができます。ソフトウェア・ベンダーは、自らの過失によらず、攻撃される可能性があるのです。そのため、オープンソースのセキュリティは非常に重要なトピックなのです。
私たちは、オープンソースコミュニティにこれらのツールの構築と保守を依存しているだけでなく、既知のセキュリティ脆弱性を修正することも依存しています。重要なことは、脆弱性が 発見されたときに、その脆弱性を公に報告 することです。コミュニティからの脆弱性の公開は、オープンソースのセキュリティの基礎を形成します。
サイレント・パッチ(シャドウ・パッチ)とは、セキュ リティ修正が適用(パッチ適用)されているにもかかわらず、公表されな いパッチのことである。これは、ベンダーがリスクを認識しないまま脆弱なソフトウェアを運用している可能性があることを 意味するため、大きな問題となる。
私たちは、あなたに影響を与える可能性のあるサイレント・パッチが適用されたソフトウェアを影から救い出すために、Aikido Intelを立ち上げます。Aikido インテルによって、開発者に影響を与える可能性のある脆弱性を発見した場合、可能な限り早い段階で警告を与え、オープンソースのセキュリティを向上させることができます。
Aikido インテルとは?
Aikido Intelは、オープンソースのサプライチェーンにおける脆弱性を可能な限り早い段階で発見することで、オープンソースのセキュリティを向上させるためのAI + 社内研究チームによるイニシアチブです。脆弱性データベースで公開される前であっても。これを達成するために、私たちはカスタムトレーニングされたLLMを使ってパッケージの変更をレビューし、セキュリティ問題が修正されたタイミングを特定します。
すべてのソフトウェアがそうであるように、オープンソースも新しいバージョンごとに調整された内容の変更ログを保持している。インテルは、AIを使ってこれらの公開変更ログとリリースノートをすべて読み、セキュリティ問題が修正された例を見つける。そして、5つの脆弱性データベースと照合し、問題が報告されているかどうかを確認します。もし報告されていなければ、セキュリティ・エンジニアが脆弱性を分析・評価し、Aikido 脆弱性番号と深刻度を付与して公表します。 詳しくは後ほど

数字で見るAikido インテル

1月にAikido立ち上げて以来、 インテルは511件の脆弱性を発見した。の脆弱性を発見し、パッチを当てたが公表しなかった。

脆弱性にパッチを当ててから、その問題にCVE番号が割り当てられるまでに時間がかかることがあります。Aikido 毎週、過去の脆弱性の状況を再評価し、CVEが付与されているものがあるかどうかを確認しています。私たちが発見した脆弱性の67%は、どの脆弱性データベースにも公表されていないものでした!


深刻度が低い脆弱性ほど頻繁にサイレント・パッチが適用されるのは驚くことではないが、深刻度が高く重要な脆弱性の50%以上が公表されないというのは衝撃的である。これは、開発者やソフトウェア・ベンダーにとって大きな盲点となる。
さて、皆さんの中には、おそらくこれらはセキュリティ・ポリシーが限定的な、あまり人気のない、小さなオープンソース・プロジェクトなのだろう、と席を立ってもじもじしている人もいるだろうが、実はそれは間違いだ。私たちは、いくつかの非常に大規模なプロジェクトで、公表されていない脆弱性を発見しました。.
Axiosはブラウザとnode.jsのためのプロミス・ベースのHTTPクライアントで、毎週5,600万ダウンロードされ、146,000以上の依存関係がある。 2024年1月、プロトタイプ汚染に関する脆弱性 を修正した。

この脆弱性に関する面白い事実がある: この脆弱性は、実はAikido インテルが最初に発見した脆弱性だった(2023-10001参照)。この脆弱性は現在も公表されていない!
Axiosだけでなく、他にも特別に賞賛に値する名前がいくつかある。アパッチは、公開されていなかったクロスサイト・スクリプティングの脆弱性をエカルツ・ソフトウェアにサイレント・パッチした。

私たちが発見したもうひとつの興味深い例は、9月にパッチが適用されたものの、その脆弱性が公表されなかったチェーンリットのクリティカル・パス・トラバーサル脆弱性である。

最も一般的な脆弱性
クロスサイト・スクリプティングは、最も一般的な未公開の脆弱性で、14.8%を占め、次に機密情報の漏洩が12.3%でした。全体として90種類の脆弱性が検出され、ロングテールの結果となりました。
発見された最も一般的な脆弱性

キューティクルと高度の脆弱性だけを見てみると、リモート・コード実行がリストの1位を占めており、少し違った様相を呈している。
発見された最も一般的な脆弱性 - クリティカルとハイのみ

開示までの時間
この記事を書いている時点では、67%のパッケージが脆弱性を公表していないが、 31%は公表している。脆弱性を公開したパッケージのうち、パッチがリリースされてから CVE が割り当てられるまでにかかった日数は平均 27 日でした。私たちが観測した最短時間はわずか1日で、最長時間は9ヶ月だった!

インテルの仕組み(詳細)
しかし、IntelはAikidoセキュリティ・リサーチ・チームのイニシアチブであり、AikidoAIチームは、オープンソースのセキュリティを向上させるために公開脅威フィードを提供するために、ループ内の人間とAIを活用している。
インテルは、公開されているすべての変更履歴とリリース・ノートに目を通し、セキュリティ修正が行われたにもかかわらず公開されていないかどうかを把握する。 これを実現するために、2つのLLMモデルが使用されます。1つはデータをフィルタリングし、不要なコンテキストをすべて削除するためのもので、2つ目のLLMは脆弱性分析に集中することができます。そして、人間のセキュリティ・エンジニアが LLM の発見をレビューし、発見を検証し、脆弱性が確認されたときに Intel をリリースする。
これは、脆弱性のためにこれらすべてのシステムをスキャンしようとするよりも著しく少ない計算能力を消費するため、このように効果的な方法である。とはいえ、1年以上かけて多くの真の結果を見つけることが証明されている。
Aikido インテルによる変更履歴の見方
チェンジログとは、オープンソースプロジェクトにおいて更新、バグ修正、機能追加、パッチを記録するために維持されるドキュメントである。例として以下が挙げられる。 CHANGELOG.md
ファイル、コミットメッセージ、GitHubのリリースノート。
インテル® LLM は、セキュリティ関連の変更を示唆するエントリーを特定するために、以下の項目を検索する:
- キーワード「脆弱性」、「セキュリティ」、「修正」、「エクスプロイト」、「入力検証」など。
- 文脈上の合図:「重大なバグを修正した」、「バッファオーバーフローを修正した」、「認証の問題を解決した」。
LLMがフラグを立てたエントリー例:-
- サービス拒否攻撃につながる可能性のあるメモリリークを解決しました。
- ファイルアップロード機能におけるパストラバーサルの脆弱性に対処しました。
オープンソースのセキュリティ、脆弱性の適切な開示方法
先に述べたように、公開はオープンソースのセキュリティの大きな要素である。ソフトウェアに脆弱性があることを公表するために、いくつかの異なるデータベースが使用されている。主なデータベースは 国家脆弱性データベース(NVD)である。このデータベースは、企業が自社のサプライチェーンをチェックするために使われるだけでなく、プロジェクトをこのデータベースや他のデータベースと照合してチェックするセキュリティ・ソフトウェア(SCAソフトウェア)にも使われている。その他にも、Mitreの 共通脆弱性・暴露データベース(CVE)やGitHub Advisory Databaseなど、他にも多くのデータベースがあり、Aikido 合計で5つの異なるデータベースと照合している。しかし、これらのデータベースのほとんどに共通するのは、脆弱性が一般に公開されること、通常は修正がリリースされた後であることです。
なぜ脆弱性が公表されないのか?
これは良い質問であり、脆弱性を開示しない正当な理由はないということから始めたい。おそらく最も一般的なのは、あなたのソフトウェアが安全でないとみなされるかもしれないという風評リスクでしょうが、私は、開示することよりも開示しないことで失うものの方がはるかに大きいと主張します。
シャドーパッチがオープンソースのセキュリティにとって問題である理由
ソフトウェアの脆弱性を公表しないことは、ユーザーにとって大きなリスクとなる。 壊れていないなら直すな 」ということわざがあるように 、これはソフトウェアにもよく当てはまります。
ソフトウェアのコンポーネントをアップデートすると、パフォーマンスやユーザビリティに問題が生じたり、単にアプリケーションが壊れたりすることがよくあります。このようなことを念頭に置いて、新しいバージョンが利用可能になったらすぐにパッケージをアップデートするというのは、必ずしも一般的なやり方ではありません。
しかし、コンポーネントにセキュリティ上の問題がある場合、オープンソースやサードパーティのコンポーネントをアップデートする緊急性が変わるため、それを知ることは重要です。この情報が開示されないということは、ユーザーがアップデートをする可能性が低いということであり、つまり、ユーザーが知らないうちにツールにセキュリティ上の欠陥があるということである。
隠れた脆弱性によってセキュリティが損なわれないようにしましょう。
サプライチェーンを保護し、安心感を得るために、今すぐAikido Securityと提携してください。

AikidoがAWSパートナーネットワークに加盟

夏には、AWSマーケットプレイスで、AWSの新規ユーザー向けに業界最速の「Time-to-Security」を約束する製品を発表しました。
また、AWSパートナーネットワーク(APN)にも正式に加盟しました。
これはAWSのFoundational Technical Review (FTR)を通過したことを意味します。私たちはFTR承認済み*であり、AWSによって実施されたよく練られたベストプラクティスを満たしています。)
追伸: Aikido FTRの承認を得ることが間もなく可能になります。Aikido 機能をFTRのセキュリティ・プロセスにマッピングしていますので、AWSとの共同販売を素早く立ち上げ、実行することができます。興味がありますか?→ こちらからサインアップしてください。
AWSの公式パートナーになることで、AWSコミュニティへのアクセスがさらに広がります。私たちは、クラウドネイティブのお客様により良いサービスを提供し、カスタマージャーニーにおける不必要な複雑さを排除し、そして次のことが可能になります。 AWSクラウドユーザーのための独自のCloud Security Posture Management (CSPM)製品を拡張することができます。.
なぜAikido AWS料金に追加するのか?
Aikido Securityは、コードからクラウドまでを包括的にカバーし、AWSのフルスタック機能とうまく連携している。これは、統一プラットフォーム上でアプリケーションとクラウドの両方のセキュリティを管理するAWSの顧客にとって特に価値がある。
AWS環境との直接的な統合は、Aikido EC2、S3、LambdaなどのAWSサービス全体の脆弱性をスキャンすることを可能にし、AWS内のセキュリティ可視性を強化し、クラウドネイティブアーキテクチャを補完し、デプロイを簡素化します。AikidoAWSポスチャ管理は、AWS Inspector上に構築されています。ハッカーがお客様のクラウドに初回アクセスする原因となる発見を示すことができます。
さらに、Aikidoビルトインのコンプライアンスチェックは、主要な標準(SOC2、ISO 27001、NIS 2、HIPAA)と整合しており、AWSのお客様がAWSのインフラストラクチャ全体のコンプライアンスを維持することを容易にします。
興味がおありですか?AWSマーケットプレイスで私たちを見つけましょう