空中の杜

旧名「空気を読まない中杜カズサ」。

ソースコードの爆弾〜多重派遣が危険な本当の理由

私はすでにシステム開発の現場から離れて久しいので、こういった方面の方が多いはてなでは今更、もしくは微妙に違う見解かもしれませんが、こういう場合もあり得るかもってことで。

こんなニュースがありました。

IT技術者が職場に仕掛けた恐ろしい「報復」の数々

ここでは、、不満を抱いた従業員や解雇された元従業員がコンピューターを使って「リベンジ」をするという例が載っていますが、はっきり言いまして、こうやって突き止めれば誰がやったかバレるリベンジをしているのは、三流です。だって、もしかしたらその分の損害賠償が自分にふりかかる可能性だってあるわけですし。もっと怖いのは、そのリベンジ自体が、誰がやったかわからない、いや、むしろリベンジだとほとんどの人は気づかない、いや、気づいても責任を問えないレベルの仕掛けではないでしょうか。

都市伝説かもしれませんが、朝出社していきなり突然解雇がよくあるアメリカでは、それに備え、プログラムを打つ人間は自分しかわからない、もしくはわかりにくいプログラムを仕組ませておくという話を聞いたことがあります。で、もしそのまま去ってしまったら、あとに残された人はそれの解読にとんでもない時間を取られる、もしくは気づかれないまま製品となり、あとでとんでもないバグとして異常を及ぼし、その対処で大変なことになるという感じ。さらにそれはあとで自分が故意にしかけたとバレるようなものは三流で、一見したら普通の処理にしか見えない、まさしくそのプログラマーしかバグの原因がわからないようなものと(万一それを担当したのが自分とわかっても「タイプのケアレスミスだ」や「テスト用だ。それを取り除く前にクビにした会社が悪い」で言い逃れが出来るとか)。ただ、業務を完遂して賃金が支払われれば、その爆弾は取り除いておくと。

では、日本の場合はどうか。いきなり解雇がないから安全? いやいや、逆にもっと危険な可能性は高いです。だって、普段からだけではなく、解雇通告後に手を加えることさえ出来てしまうのですから。

こういったのを仕込むのにさほど技術はいりません。極論、とある条件(主に時間がスイッチ)でループから抜け出せなくなるソースでも、混乱を引き起こす可能性は多分にあります。しかし、いかにもわざとというものでなければ、「テスト用に仕込んだのを抜き忘れた」とか「タイプミス」という言い逃れも出来てしまうわけで。そうすると犯罪として立件するのは、非常に難しいでしょう

もっとも、そういった未知の危険をつぶすのがソースレビューであり、テストなわけですが、その体制が整っていなかったり、抜けがあると、その爆弾を抱えたまま製品に仕込まれてしまう可能性があるわけです。つまりこういった問題が起こるとしたら、管理体制が疲弊しているから起こるのでしょうが。……え? それじゃあ日本のほとんどのシステム開発は疲弊している? いやいやまさか……


さて話を変えて、日本ではこういった業界でよく、「多重派遣」というのが噂されることがあります。これは、派遣先からさらにほかの派遣先へ出向させられるというというもの。これは違法なのですが、需要は多いのに人手が足りないこの業界ではよくあること、と言われています(実際当時もかなり目の当たりに……ごにょごにょ)。となると、末端で何か不満を持つものがこういった爆弾を仕掛けたからといって、それを見つけることも、そして責任の所在も拡散してしまう可能性は高いでしょうね。時間が経てば経つほど。それはまるで、大量生産の並に証拠が全部犯人につながらなくなってしまった三億円事件のように。そのうち、構築したプログラムがエラーを起こし、その原因を探っていったら下請けのまた下請けの、その関連会社が担当で、しかもそこを担当していたプログラマは退社、いや、場合によってはすでに会社自体がなくなっていて手がつけようがなくなっており、責任の所在もわからなくなっているなんてことはよく出てくるのではないでしょうか、と思っています。いや、実際出てこないだけで、起きている可能性もありますね。ちなみに、同じことは、一人に委ねきっているシステムにも言えるでしょう。まあ、大手は出向社員を雇うときは、ちゃんとその所在がはっきりしているか、そしてそこが信用できるか確認しないと、あとでしっぺ返しを喰らうのではないかなあと。

ま、多重派遣は中抜きがあり、責任の所在がわからなくなるので、労働者にとって危険ということで禁止されていますが、責任の所在がわからなくなるのは実は請負先にとっても危険ということですね。


現在のシステム開発はIT土方なんてことも言われますが、そこにはこういった危険性も潜在的に秘めているのではないかと。実際、このニュースの2ch該当スレとかでは、嘘か誠かそう言った話題が……

IT技術者が職場に仕掛けた恐ろしい「報復」の数々(2ch ビジネスニュース+板)


とはいえ、別にこれはプログラムだけに限りませんね。とある人がケンカ同然でほとんど引き継ぎもせず抜け出してしまった時、管理体制がしっかりしていなかったばかりに、その人がやっていた仕事がどうなっているのかわからずに、その周辺の業務が破綻してしまう現象はそれなりにあるのではないでしょうか。退社じゃなくても、その人の突然の死去とか、そういったトラブルも含めればもっと増えるでしょう

何が言いたいかというと、人を使うときは、そのリスクもあるということ。そして管理体制が重要だということですね。あと、その危険を未然に発見する行為(テスト)もね。