アイツが一人でやったんだ。会社は悪くない

朝から頭がハテナになるニュースをみかけた。

本件システムにSQLインジェクションという脆弱性があったのは、その制作を担当したベンダーの被用者(以下IT技術者という)の故意過失によるものであり、使用者であるベンダーには使用者責任があると主張して損害賠償、約920万円を請求した。

しかしベンダーは、自分たちは、IT技術者の選任および事業の監督において相当な注意をしていたから使用者責任を負わない(不法行為は従業員であるIT技術者にのみ成立する)、と反論した。

契約して作ってもらったシステムに脆弱性があって損害が出たから、ベンダー(開発会社)を訴えたら、「脆弱性を仕込んだのはエンジニアなので会社は責任ないです」と言った、という話。

なにいってんだ?

SQLインジェクションっていうのは入力フォームがあるWebアプリケーションなどに用いられる攻撃方法。
入力された内容をエスケープ処理(プログラムコードとして意味を持つ文字を消したり置き換えたりすること)し忘れるとこの攻撃が通ってしまう可能性がある。
入力された内容をコードとして実行させることができるため、データベースの内容を任意に書き換えるなどできちゃうわけ。

記録に残ってるもので2005年に例があるくらい古典的な攻撃方法で、たしかにこれの対策が漏れているというのは、故意かどうかはともかく過失であると言える。

実装したエンジニアの過失だとした場合、ますますもってベンダーが責任を追わないというのはありえないだろってのが記事を読んだときの率直な感想だった。

厳密な法律上はどういう解釈になっていたか気になったので調べてみた。
争点になるのは、引用にも出てくる使用者責任の捉え方かな。

使用者責任(しようしゃせきにん)とは、ある事業のために他人を使用する者(使用者)が、被用者がその事業の執行について第三者に損害を加えた場合にそれを賠償しなければならないとする使用者の不法行為責任のことをいう

具体的な成立要件はここのサイトがわかりやすかった。

民法715条で雇用主に使用者責任が認められるには、一般的に次の3つの要件をみたすことが必要です

①従業員が第三者に不法行為責任を負うこと
②不法行為当時、使用者と被用者に使用関係があったこと
③従業員の不法行為が雇用主の事業の執行について行われたものであること

今回のケースで言うと
1. 従業員であるエンジニアが脆弱性のまま実装したことは不法行為
2. 実装時、ベンダーはエンジニアを雇用していた
3. この実装は事業の執行として行われた

となって、使用者責任の要件をみたすだろう。

ベンダーの言い分を読むと、「相当な注意をしていたから使用者責任を負わない」とあって、どうも、相当な注意をした場合には免責されるよね?と言いたげな感じである。

上記サイトでその免責についても触れていたので読んで見る。

第3 免責立証
雇用主は、被用者の選任および事業の監督につき相当の注意を払ったことを立証するか、または、相当の注意をしても損害が発生していたであろうことを立証することで使用者責任を免れることができます(民法715条1項ただし書)。しかし、実務上この免責立証が認められた例はほぼないため、免責立証は不可能であると考えてしまってよいでしょう。

「相当の注意」ってワードが出てくるからやっぱこれを主張してるんだね。
しかし法律ってこういう曖昧な言い回しがよく出てくるよね。
たぶんここが、ケースバイケース、裁判官が個別事例として判断しますよ~って部分なんだろうね。

そんで今回のケースはどうだったかっていうと

IT技術者にはエスケープ処理の実施など、SQLインジェクションへの対策を講ずべき注意義務があったのに、これを怠っていた点で、少なくとも過失による不法行為が成立し(中略)一方、使用者であるベンダーがIT技術者の選任およびその事業の監督について相当の注意をしたという事情はうかがわれないから、ベンダーの使用者責任(民法715条1項)が成立するというべきである。

エンジニアは過失だし、使用者であるベンダーも使用者責任を負いますよという判決だったそうな。

まあ普通にそうだよね、この手の損害いたるところにあってありふれてて、話題にもならないだろうに今回記事として目に止まったのは、会社には責任がないって言い放った衝撃からだと思ってる。

この令和の時代になってもIT技術に関してはブラックボックスで作った人しかわからないよねってなっているんだろうか?

住宅の建築だったり、車の製造に置き換えれば言ってることが無茶苦茶なのは誰でもわかると思う。
欠陥住宅、不具合によるリコール、作った人が悪くて会社は責任ありませんは通らないでしょう。

今回の件、コードを書いたエンジニアが対象に挙がっているが、そこだけが責任って状態がそもそも体制として間違ってて。

一般的に社外に納品するようなシステムの場合、実装にたいして開発チーム全体でレビューがされるべきだし、それとは別で要件をみたしているか不具合はないかなどの観点からQA部隊によるテストが実行されるべきだし、それら全てを統括している責任者がいるはず。

そういう体制を整えてようやく「相当の注意」をしたと言えるだろう。
なので、「エンジニア個人の責任です」と言い放ったその言葉がそのまま注意の不備を証明しちゃったね。


まあそれはそれとして、自分が作るものの責任はしっかり持たなければいけないのは間違いない。
プログラムのちょっとしたミスで大きな損失が出ることもある。

金融系、銀行のシステムとかやってる人、ストレス半端ないだろうなぁって改めて思った今日このごろでした。

この記事が気に入ったらサポートをしてみませんか?