あなたならどのような行動を行いますか?
Discussion
確認したいこと
VB.NET(C#)を用いたデスクトップアプリについて、以下の状況のアプリを取引先の顧客に納品することは現場では致し方ないのでしょうか?あなたはITエンジニアとして、この例をどう対処されますか?
実装されている構成
- SQL Serverには、事前に決められたテーブルとそこに登録済みの情報が存在する。
- SQL構文(Select構文/Insert構文/Update構文/Delete構文)はデスクトップアプリ側で組み立てられ、そのリクエストを受け取ったSQL Server側でSQL構文が実行される。実行結果はデスクトップアプリ側にレスポンスされる。
実装されていない構成
- プレースホルダは実装されていない。
- ストアドプロシージャは実装されていない。
- エスケープ処理は実装されていない。
- 基本的に、全ての情報は平文で取り扱われている。(例.ユーザーIDをもとにパスワードをSelect構文で取得し、デスクトップアプリ側で入力値と比較するなど)
ITエンジニア
- 請負会社のコーディング担当者または派遣社員など
ITエンジニアとしてどうすべきかについて
- 顧客と請負会社が合意している、あるいは仕様書に実装しない旨が明記されているのであれば、ITエンジニアとしては何も言わない?
- 顧客と請負会社が合意しているかわからない、仕様書にも何も明記されていないのであれば、関係者に確認する?それとも見て見ぬふりをする?
- 個人情報を直接取り扱わないシステムだったならば、気にする必要はない?
私の見解
このような状況は現場では致し方ないのかな?と思いつつ、昨今のAIの普及やサイバー攻撃を踏まえると、怖くて仕方がないと考えています。私であれば、この状況を確認したら、関係者に必ず確認を行いますね。そして確認したという事実を記録として必ず残します。最近、「システム開発やアプリ開発は法令を前提に」という意識が芽生え始めた私でした。