全1356文字
PR

 三井住友銀行(SMBC)が行内で使っている業務システムのソースコードの一部が「GitHub(ギットハブ)」で公開されていたとして話題になっている。

 GitHub経由でソースコードなどが流出したのは初めてではない。GitHubとは何か、過去にはどういった流出事件があったのか。3分で分かるようにまとめた。

複数人によるソフト開発を支援

 GitHubはソフトウエア開発で使うWebサービスである。主に複数人による開発を支援する。米GitHub(ギットハブ)が運営し、同社は2018年に米Microsoft(マイクロソフト)に買収され、その傘下に入った。

 WebサービスとしてのGitHubは、ソフトウエアのバージョンを管理する「Git」、課題管理の機能を備える「Issues」、ドキュメント管理の「Wiki」「Pages」といったツール(サービス)で構成される。

GitHubを構成する主なツール(サービス)
GitHubを構成する主なツール(サービス)
[画像のクリックで拡大表示]

 このうち中核機能といえるのが「Git」だ。複数人でソフトウエアを開発する場合、最も問題となるのがソフトウエアのバージョン管理だからだ。

 開発中のソフトウエアをファイルサーバーなどで管理しようとすると、ソフトウエアを更新しても、いつ誰がどう更新したかの記録が残らない。このためソフトウエアに問題が発生した場合、どのバージョンのどこに原因があるのかを調べるのに手間がかかる。問題が発生する前の状態に戻すことも難しい。

 開発中のソフトウエアの共有にGitを使うと、「いつ」「誰が」「何をしたか」といった作業履歴を全て保存できる。これにより、問題発生時の調査などが容易になる。開発に参加する複数の人が別々にバージョンを管理できるので、並行作業での開発も管理しやすい。

 Gitでは、開発中のソフトウエアを格納する場所を「リポジトリー」と呼ぶ。開発者はリポジトリーからソースコードなどを取り出してプログラミングし、その結果をリポジトリーに反映する。結果を反映する作業を「コミット」と呼ぶ。コミットの際には、作業者や作業内容なども合わせて記録できる。

 つまり、GitHubではリポジトリーがファイルの置き場所になる。リポジトリーはアクセス制限を設定でき、自分以外に公開することも可能だ。公開設定になっているリポジトリーは、誰でもアクセスできるファイルサーバーといえる。そのようなリポジトリーが今回のような情報の流出元になっている。