セキュリティ

コミュニティ全体でソフトウェアを保護

開発者、メンテナー、研究者、セキュリティチームは皆、世界のコードのセキュリティを担保するという役割を担っています。GitHubを利用すれば、各地の開発チームが協力して、フォークからデプロイまで、世界のソフトウェアサプライチェーンを保護できます。


GitHub Enterpriseの高度なセキュリティ機能については、以下からお問い合わせください。

お問合せ

特定

他のツールが見逃す脆弱性を検出

CodeQLは、業界トップクラスのセマンティックコード解析エンジンです。コードをデータとして扱うGitHubの革新的なアプローチにより、セキュリティ上の脆弱性をより素早く特定します。

Security vulnerability Security vulnerability alert
Treating code as data

コードをデータとして扱う

従来、脆弱性はセキュリティ研究者が手作業でコードを調べて発見していました。Semmleのセマンティックコード解析エンジンであるCodeQLは、強力なクエリーエンジンを使用し、コードをデータとして扱います。これまでにない規模で非常に複雑なセマンティックパターンを特定するだけでなく、時間と共によりスマートな解析が可能になります。

A revolutionary engine

革命的なエンジン

CodeQLは、コンパイラーの最適化に関する最新の研究とデータベース実装に対する知見を組み合わせた、宣言型オブジェクト指向言語です。そのため、セキュリティチームは他のツールが見逃すような脆弱性の検出を大規模なコードベースに対して実行できます。

Community-led approach

コミュニティ主導型のアプローチ

業界をリードするセキュリティ研究者たちがCodeQLクエリーのパターンを公開し、世界規模でその専門知識を共有しています。CodeQLでは、亜種解析の強化に使われた数千件のクエリーが提供されるため、開発者、メンテナー、セキュリティチームは、既存のクエリーを基にクエリーを構築することも、独自のクエリーを作成することもできます。

開示

オープンソースのセキュリティワークフローを定義

オープンソースは世界のソフトウェアを強化します。GitHubは、セキュリティ研究者やオープンソースメンテナーがセキュリティ上の脆弱性を報告、開示するために必要なインフラを提供します。

Responsible vulnera reporting

信頼できる脆弱性報告

オープンソースメンテナーは、プロジェクトのセキュリティポリシーを定め、責任を持って脆弱性を報告する最善の方法をコミュニティに周知できます。

Organization-wide secuirty policies

Organization全体をカバーするセキュリティポリシー

リポジトリのSECURITY.MDファイルには、研究者やユーザーが潜在的な脆弱性を報告するために必要なものがすべて記述されています。メンテナーは、プロジェクトごとにポリシーを作成することも、1つのセキュリティポリシーをOrganization内のすべてのリポジトリに自動適用することも可能です。

Security policy
Security workspace
Security workspace comment Security workspace comment Security workspace queues changes Security workspace merge

修正

GitHubセキュリティアドバイザリ

オープンソースメンテナーは安全なプライベートスペースを使用して、共同で脆弱性に対処できます。GitHub内に留まったまま、協力してセキュリティを修正し、プロジェクトを利用するユーザーコミュニティにセキュリティアドバイザリを公開できます。修正内容が悪意のあるハッカーに情報が洩れることはありません。

Private collaboration for maintainers

メンテナーのためのプライベートコラボレーション

パブリックアドバイザリを公開する前に、メンテナーはドラフトアドバイザリで脆弱性の影響について、プライベートで話し合うことができます。一時的なプライベートフォークでコラボレーションした後、エコシステム全体に警告および更新するアドバイザリを公開できます。

Securing respositories and their dependents

リポジトリと依存関係を保護

2019年にセキュリティアドバイザリが開始されて以来、オープンソースプロジェクトはGitHubを使ってセキュリティアドバイザリを公開し、すべての依存リポジトリに通知しています。

New CVE records from GitHub

GitHub発行のCVE

GitHubで、任意のパブリックリポジトリ向けのCVEを発行できるようになりました。CVEを使うと、誰でもどこからでも、GitHub Advisory DatabaseやNational Vulnerability Databaseなどの脆弱性と修正を参照できます。

アラート

セキュリティアラート

GitHubはあらゆるセキュリティ上の脆弱性を確認し、影響を受けるリポジトリを特定して警告します。業界のエキスパートから脆弱性情報を入手し、そのリスクを理解して修復する必要があるプロジェクト所有者に詳細情報を提供します。

Research-driven vulnerability data

研究主導の脆弱性データ

GitHubはサポートしているパッケージマネジャーのパッケージに関する脆弱性の情報を、セキュリティ研究者、メンテナー、National Vulnerability Databaseからだけでなく、リリースノートやチェンジログ、コミットの詳細情報からも取得しています。そして、全ての発見された脆弱性情報はGitHub Advisory Databaseで公開しています。

Expert analysis on every alert

全員の安全をサポート

GitHubは常に、主要言語のセキュリティアドバイザリをスキャンしています。影響を受けるリポジトリのメンテナーに、深刻度や関連ファイルへのリンクといった詳細情報を記載したセキュリティアラートを送信します。

更新

脆弱性のある依存関係を自動更新

セキュリティ上の脆弱性を特定することは問題解決の半分でしかありません。GitHubなら、プロジェクト所有者は自動化されたセキュリティ更新を使用することにより、脆弱性のある依存関係をより迅速に更新できます。

セキュリティアップデートの自動Pull Request

自動セキュリティアップデート機能では、依存関係の脆弱性が修正されている最小のバージョンへのアップデートを行うプルリクエストを自動で作成することで、プロジェクトをセキュアに保ちます。互換性スコアはコミュニティにおけるCIの実行結果によって算出されており、メンテナーが自信を持って更新をマージするのに役立ちます。

Dependabot comment Merge pull request
GitHub Security

新たな脆弱性からコードを保護

コードを最新の状態に保つだけでは、すべての人のためにオープンソースを保護するには不十分です。GitHubはセキュリティ研究者、メンテナー、開発者と協力して、新たな脆弱性がソフトウェアプロジェクトに侵入しないよう取り組んでいます。

防止

トークンの自動スキャン

すべての開発者が認証情報を管理する必要があります。GitHubは、パブリックリポジトリで誤って公開されたトークンをスキャンすると、数秒以内にプロバイダーに警告します。これによってプロバイダーは、必要に応じて取り消すことや所有者に通知することができます。

Alert exposed token Patched exposed token Code with exposed token

サービスプロバイダーとのコラボレーション

認証情報を検証したサービスプロバイダーは、トークンの取り消し、トークンの新規発行、ユーザーへの直接連絡のいずれかを行います。

GitHubトークン公開を取り消す

有効なGitHubトークンがパブリックリポジトリにプッシュされた場合、GitHubはそのトークンを取り消し、数秒以内にトークンの所有者に通知します。

主要サービスプロバイダーの多くをサポート

Popular provider logos

トークンのスキャンは、Alibaba Cloud、Atlassian、AWS、Azure、Dropbox、Discord、Google Cloud、Mailgun、npm、Proctorio、Pulumi、Slack、Stripe、Twilioなどのトークンをサポートしています。サポート対象のトークンは常に増え続けています。

問題になる前に脆弱性とその亜種を根絶

社内のセキュリティチームはSemmle LGTMを活用して、DevOpsプロセスにセキュリティを組み込むことが可能です。こうすることで全エンジニアが安全に開発できるようになり、同じ過ちを繰り返さなくなります。

Vulnerability found with LGTM Deserializing user-controlled data may allow attackers to execute arbitrary code

バグや脆弱性の亜種をすべて見つけて排除

複数、かつ大規模なコードベースをスキャンできます。既存のクエリーに基づいて構築し、亜種解析を自動化することにより、大規模のコードベースであってもクリティカルな脆弱性とその亜種をより迅速に検出できます。

新たな変更点を解析し、誤りを運用環境に持ち込まないようにする

LGTMの継続的なコード解析では、すべてのコミットが解析され、脆弱性のあるコードがチェックインされるとすぐに認識されるため、脆弱性が運用環境に持ち込まれるのを回避できます。

あらゆる段階で開発を保護

LGTMは、IDE、問題追跡ツール、CI/CDサービスなどとの統合を通して、開発プロセスのあらゆる段階で一貫した解析を提供します。

Query language for LGTM

プランを比較する

オープンソースプロジェクトに携わる場合でも、企業利用のために新しいツールを選ぶ場合でも、それぞれのセキュリティニーズに対応します。企業における安全な開発についての詳細は、下記からお問い合わせください。

お問合せ

Semmleについて

Semmleは毎年、多数の情報を公開しています。セキュリティ上の発見の詳細とLGTMの無料体験には、こちらからアクセスできます。

最近の公開情報を調べる LGTMを無料で試す

GitHub Enterpriseの高度な脆弱性スキャンについてはこちら

お問合せ