超便利なGitHub

ソースコードのホスティングサービスとしては、現在ではGitHubがデファクトスタンダードになっている。LinuxカーネルはGitHubでホスティングされているし、GoogleやMicrosoftも自社ソフトウェアをGitHubで公開している。最近では、ドキュメントの管理にもGitHubを使う動きが出てきている。GitHubは開発者にとってはすでに欠かすことのできないサービスであり、今後さらに多くのシーンでの活用が予測されている。

  • torvalds / linux - GitHub.com

    torvalds / linux - GitHub.com

GitHubが便利なことがわかってくると、何でもGitHubにpushしておきたくなってくる。GitHubに保持しておけば、新しい環境に移った時など、git cloneするだけで手元の環境が一気に整うからだ。こうした便利な環境を知ってしまうと、なかなか元の生活に戻ることは難しい。

最初は選別してgit commitしていた対象も、どんどん緩くなり、とりあえずgit add, git commitからのgit pushでデータをGitHub.comに上げておくといったことをやりがちだ。しかし、注意しておかないといけないことがある。

アカウントデータを誤って公開

ご存じの通り、インターネットを通じてさまざまなサービスを利用できる。サービスを利用するにはアカウントが必要なことが多く、本連載の読者であればすでに多くのアカウントを持っているはずだ。セキュリティに気をつけているなら、アカウントごとにパスワードを変えていることだろう。そうなってくるとすべてのパスワードを覚えていられないので、どこかに書き留めておくことになる。危ないのはこのファイルだ。

何かの拍子に、こうしたアカウントデータを書き込んだファイルをGitHubに上げてしまうことがある。誤って上げてしまうこともあるだろうし、完全に思い違いをして「アカウントデータをGitHubに上げて共有すれば会社からでも自宅からでもアカウントデータを見れて便利じゃないか」と上げてしまうこともあるだろう。プライベートリポジトリを使っているならこれでもよいかもしれないが、そうでないなら誰でも読めてしまう。これはとってもデンジャラスだ。

git add *
git commit -m 'メッセージ'
git push origin master

コードに含まれているアカウントデータにも注意

アカウントデータの公開は、アカウントデータをまとめたファイルのみならず、アカウントデータをハードコーディングしたソースコードやスクリプトなどを通じて行ってしまうこともある。こちらは先ほどの例よりも気がつきにくいので注意が必要だ。

Webサービスの認証の方法はサービスごとにさまざまだが、いちいち手動で入力するのは面倒なので、ソースコードやスクリプトの中にハードコーディングしがちだ。数年前にこうしたソースコードやスクリプトを書いて、毎日便利に使っていたとする。数年も経つとアカウントデータをハードコーディングしたことすら忘れてしまうかもしれない。

このタイミングで便利だからという理由でソースコードやスクリプトをGitHub.comに上げてしまうと、ソースコードを通じてアカウントデータもさらしてしまうことになる。数年前に作ったようなソースコードやスクリプトをGitHubに上げる場合は、上げる前に内容を確認しておいたほうがよいだろう。

パスワード管理アプリの活用も

インターネットの利用が日常的になっている現在、たった1つのアカウントしか持っていないというケースは珍しいだろう。そうなってくると複数のアカウントデータを覚えておく必要があるわけだが、ここで多くの人は同じパスワードを使い回すようになる。

しかし、パスワードの使い回しだけは避けておきたい。どこかのサービスからアカウントデータが漏れると、その漏れたパスワードを悪用して別のアカウントが乗っ取られるようになるからだ。

そうなるとサービスごとに異なるアカウントを管理する必要が出てくるわけだが、そこで利用を検討したいのがパスワード管理アプリだ。現在では複数のパスワード管理アプリから選ぶことができる。アカウントデータの管理に困っているなら、こうしたアプリの利用を検討してもらえればと思う(参考:「【連載】パスワード管理アプリの選び方」)。