駒鳥です。
週末の記事にも挙げたのですが、2021年しょっぱなから、IT業界をざわつかせている事件がありました。
年収300万、45歳の艦これ提督プログラマがgithubに三井住友銀行やNTTなどのソースコードをアップした、という、情報量の多い事件です。
Twitterのトレンドに、
- github
- SMBC
- 年収300万
- 艦これ提督
というキーワードが関連づけられた状態で並んでいて、
いや本当になんの話してるの?
状態でした。
よくよく調べてみると、この事件(あえて事件と表現します)、笑い話ではなく、なかなか根が深く、入り組んだ問題だな、と感じます。
IT業界、SI業界のよくない部分が表に出てしまったかのような事件です。
この記事では、今回起きてしまったことの整理と、そこから見えてくるIT業界としての問題を整理してみたいと思います。
事件の概要
まずは事件の概要から。
実際にあった詳細なやりとりは以下のTogetterからも確認できます。
まずはもう少しわかりやすく、要点をまとめて整理してみようと思います。
三井住友銀行(SMBC)、NTT、警視庁などのプログラムのソースコードがgithubにアップされていた
githubに、三井住友銀行(SMBC)やNTT、警視庁などで使われていたプログラムのソースコードがアップされているのが見つかりました。
「smbc」「ntt」などのワードで検索するとコードが出てくる状態だったそうです。
ソースコードは著作物に当たりますし、ソースコードが流出してしまうことで、そこからシステムの脆弱性が露見する可能性もあります。
そのままセキュリティ上の懸念に直結するため、基本的には避けなければいけない事態である、と言えます。
githubは、言わずと知れたソースコード管理ツール、gitのクラウドサービスです。
ユーザーは、リポジトリをパブリック(公開)、プライベート(非公開)どちらにするか選択の上、コミットすることになります。
今回、コードがパブリックなリポジトリにアップされていたため発覚しました。
また、togetterをみる限り、アップしてしまったプログラマ本人はパブリックなリポジトリにコミットしていた自覚はなかったようです。
転職を見据えた年収査定のために、githubにコードをアップしていた
そもそも、なぜこのプログラマは業務で使ったソースコードをgithubにコミットしたのか。
その理由は、githubに自分の書いたソースコードをコミットし、アカウントを連携することでAIが年収査定を行ってくれるサービスを利用するため、でした。
これは転職を見据えてのことだったようです。
なんかgitにコードをアップすると
それから推定年収を計算してくれるサイトがありまして、
転職する準備のために、現在あるコードをチェックせずに
すべてアップしました。
まあ、コードをチェックせず軒並みアップしているところとか、そこで業務上作成したコードをアップしているところとかツッコミどころはありますが。。
このエンジニアは年収300万、45歳のプログラマだった
また、今回の事件に関連して話題になった要素の1つに、情報流出をしてしまったプログラマが、45歳で年収300万のプログラマだった、という点があります。
個人を特定してどうこう、をやるつもりはないのであまり深掘りしませんが。
45歳、というそれなりの年齢のプログラマで年収が300万円、正直言って全く稼げておらず、安いお給料で働かされている、という事実は、それだけで衝撃的です。
SMBCやNTTが被害を確認、対応に追われる
Twitterで一通り騒動になったことを受けて、ソースコードが流出してしまった企業も対応に追われています。
三井住友銀行は、流出があったことを認めた上で、セキュリティ上の心配はない、と説明しています。
「当行が利用しているシステムのソースコードが公開されていたのは事実。顧客情報の流出はなく、セキュリティーに影響を与えるものではないことは確認済み」(広報部)と説明している。
NTTや、NECも、確認に追われています。
「年収300万、45歳のプログラマがgithubに三井住友銀行やNTTなどのソースコードをアップ」事件が抱える問題
さて、色々とツッコミどころが多いのですが、この「年収300万、45歳のプログラマがgithubに三井住友銀行やNTTなどのソースコードをアップ」事件が抱える問題を整理してみましょう。
システム開発が多重下請けによって成り立っているという構造的な問題
今回の事件を広く解釈すると、SI業界にありがちな、システム開発が多重下請けによって成り立っている、という構造の歪みが引き起こした事件と捉えることができます。
今回のプログラマの方も、SMBCや警視庁のソースコードを扱っていたことからわかるように、案件としては大きいものを扱っていたようです。
しかし、そういう大きい案件で実際にコーディングを行うプログラマは、案件の元請企業ではなく、業務を委託された開発会社が行います。
場合によっては、さらに下請け、そのさらに下請けが実務を請け負うケースもあります。
この構造については、以下の記事でも少し解説しています。
そして、今回の事件で、この多重下請けの構造が2つの問題を引き起こしていると考えられます。
クライアントから見て、セキュリティ管理が追いつかなくなる
クライアントと元請企業、その下請け、さらに下請け、、と関係企業が多くなればなるほど、クライアントと実作業を行う人の距離は離れてしまいます。
大きなプロジェクトでは、クライアントの担当者が、実際にコードを書いているのが誰なのか知らない、なんてのは頻繁にあります。
これだけ距離が遠くなると、セキュリティの管理、その徹底がとても追いつかなくなります。
セキュリティに限らず、何かを伝え、依頼しようとしても、企業間の伝言ゲームが発生してしまいます。
SI業界において客先常駐スタイルのプロジェクトが多いのも、そうした状況を極力避けるためだったりします。
それも新型コロナで変わりつつある今、クライアントや元請企業にとって、いかにして末端までしっかりセキュリティを担保させるかが課題となります。
コンプライアンスを遵守させることが難しい
セキュリティとほぼ同じですが、関係者が増えることで、コンプライアンス観点でも、維持が難しくなります。
今回、ソースコードを流出させてしまったプログラマは、コードを持ち出すことについてコンプライアンスどうなっているのかを問われ、次のように発言しています。
おそらく、ゆるいコンプライアンスしかなかったとおもいます。
当たり前ですが、緩いコンプライアンスなんてものはありません。
これは、この方、もしくはこの方の会社が正しくコンプライアンスを意識できていない、ということとなります。
また、本人や会社の意識以前の問題として、このプログラマが資産であるソースコードを個人として持ち出すことができる環境であった、という点も考慮すべきです。
結果として、クライアントや元請企業の知らないところで、業務上の機密情報と言えるソースコードが勝手に持ち出され、かつ本人も自覚がないままコードが流出する、という事件に繋がってしまいました。
年収300万の45歳プログラマ
問題と直接関係なく、これも結果としての話ですが、SI、エンジニア業界のこうした構造が引き起こしているのが、「年収300万の45歳エンジニア」という衝撃の状況です。
正直IT業界で、それなりに長く働いて年収300万円というのは安いです。安すぎます。
それでいて、どうやら労働時間も長かった様子。
涙が出ます。
クライアントが出すお金は、元請企業から下請けに行くにつれ、行き渡るお金は少なくなります。
末端で実務をこなすエンジニアのお給料が少ない、というのは悲しい話です。
こうした、末端でプログラマとしてはたらくエンジニアは、スポット的に案件に参加してごく一部の業務だけを担当し、また次のプロジェクトへ、、
というように、案件を転々とすることが多いです。
その結果本人の総合的な技術力はなかなか上がらず、うまいこと転職の機会をつかめず、安い給料のまま働き続ける、というパターンも存在します。
今回のプログラマの方も、そうした状況だったのではないかと思います。
プログラマ本人のリテラシー
最後の問題としては、プログラマ本人のリテラシーが非常に低い、というのも当然問題です。
SI業界の構造が引き起こした事件、という側面はありつつ、当然このプログラマの方にも問題があります。
githubを利用する際にちゃんと調べなかったこと、コンプライアンスについて不勉強であったこと。
ソースコードを持ち出すことに対して何も確認しなかったこと。
指摘されてもことの重大さを正しく認識できず、どこか開き直っている様子。。
あまり責めても仕方ないのですが。。正直、一番悪いのは、リテラシーが低いままここまで来てしまったご本人だよな。と思います。
人の振り見て、、、
今回の事件では、プログラマ本人のリテラシーの低さだけでなく、SI業界の構造そのものが間接的にトリガーとなってしまっています。
IT業界で働く、私を含めた多くの人にとって、決して笑い事ではありません。
これを機に、自分自身の働く環境、また自分の行動にまずいところがないか、見直してみる良いきっかけになれば、と思います。
自分自身がセキュリティ、コンプライアンスに対して正しく知識を持ち、それが日々の行動に反映されているかどうか、振り返りたいですね。
また、IT業界の下請けで働く方々も、行き着く先がこういう事件にならないよう、必要なら転職などで環境を変える、という行動を取って見てはいかがでしょうか。
それでは。