GitHub は、世界で最も人気のあるソース管理システムの 1 つです。ソフトウェアのソース コードを格納し、IaC (Infrastructure as Code) スクリプトを構築し、ときには機密情報の倉庫にもなります。さらに、SCM(Source Code Managment) は、コード開発環境を公開する可能性があるため、潜在的な攻撃対象となります。
ほぼすべての開発者が GitHub の使用方法を知っていますが、コード リポジトリと環境を適切に保護する方法を知っている開発者はそれほど多くありません。意外とたくさんあることに驚かれるかもしれません。攻撃対象が個人であろうと企業であろうと、最近のニュースで目にする種類の攻撃から、 アカウントを守ることができます。技術文書のページを読むことは万人向けではないため、簡単かつ自由に使用できる GitHub のセキュリティ体制レポート、GitGat を作成しました。
GitGatは Scribe Securityによって構築されたオープンソース プロジェクトです。OPA(Open Policy Agent)を利用したRegoで書かれています。 レポートの実行は、ドッカーやローカルにクローンした環境で行うことができます。必要なものは、PAT(Personal Access Token)のみで、いつでも実行可能です。GitGatは、JSON形式もしくはMD形式のレポートを生成します。その内容は、改善すべき点を含むだけでなく、修正すべき点へのリンクが付いた実践的な勧告を含んでいます。
GitGat の優れた点の 1 つは、State を含めるように設計したことです。これは、GitGat レポートの異なる実行間で情報を渡すことができる編集可能な定義ファイルです。Stateは、特定の状況が許容可能であり、これ以降、レポートに記載する必要がないことを指定するだけでなく、アカウントまたは組織で行うことにした変更を追跡することもできます。 State のもう 1 つの利点は、異なるリポジトリ、または所属する組織の複数の State ファイルを維持できることです。
サイバーセキュリティ月間の期間、私たちは、GitGat プロジェクトを可能な限り一般に公開します。GitGat レポートで説明されているすべてのセキュリティ機能を理解するのに役立つだけでなく、レポートとその状態を最大限に活用して GitHub アカウントを継続的に監視する方法についても理解できるように設計された短い無料コース LFD122x を設計しました。このコースでは、プロジェクトに新しいモジュールを追加する方法についても説明します。
GitHub のセキュリティ ポスチャ、SCM セキュリティのベスト プラクティス、および GitGat レポートを使用してそれらを監視する方法について、ぜひ学んでください。もちろん、GitGat レポジトリも参照してください。アイデア、リクエスト、またはヘルプの提供を歓迎します。このプロジェクトは始まったばかりであり、この先には、多くのエキサイティングな可能性があります。私たちはあなたと一緒にその可能性を探求できることを楽しみにしています。
Barak Brudo, ScribeのDeveloper Advocate による寄稿。