プログラムの移行と太田巡査長のアドバイス

 調査結果は二時間後に出た。

 しかし、新見課長は明らかに落胆した様子でその結果を報告した。

 一覧表のメンバーは全員申請後に移行をしていた。プログラムで指定された口座を所有する行員も、ちゃんと申請後に移行している。

「どういうことでしょう? 全員申請を行っているということは、全員プログラムを移行するときに、標準化チェックを行っているということです。一度くらいなら、チェックチームがうっかりしてプログラムに直接口座が記載されていることを見逃すことがあるかもしれません。しかし、何度も見逃すなんて、ありえません」

 確かにそうだ。連続してミスを見逃すなんて、あり得るとは思えない。

 あたしは理由を知るためには、プログラムを開発してから本番環境までどのように取り扱われるか知る必要があると思った。

「基本的なことを含めて開発から本番までのプログラムの流れを正確に教えてもらえる?」

 あたしは、新見課長が頷くのを見た。新見課長が口を開く。

「プログラムを修正した後、そのプログラムは標準化チェックチームが確認します。この時点から、プログラムは開発者のコンピュータからアクセスできない場所に移行します」

「チェックチームはプログラムにアクセスできるよね? チェックチームの人は修正できるんじゃないの?」

 あたしの疑問に、新見課長は頸を横に振った。

「チェックチームは読み込みしか出来ません。故に修正は出来ないです。そして、チェック後、問題があれば差し戻し、OKならテスト環境に移行します。移行はそのためのツールを使って行います」

 そう言った後、簡単に纏めて説明する。

「ですから標準化チェックを行った後は、一切人間が介在することはありません。ちなみに、テスト環境でプログラムに触れることは出来ません」

 テスト環境で触れないという説明に、あたしは疑問を覚えた。

 そんなことをすれば、テストで問題を見つけても、その修正が出来ないはずだ。

「テスト環境でプログラムのバグ(ミス)が見つかったら? 修正するはずでしょ?」

 新見課長は当然のようにその場合のプロセスを説明してきた。

「もともとのプログラムは開発チームが保管していますから、それを修正して、再度チェックチームに確認を依頼します。その後の流れは同じです。テスト環境にあった前のプログラムは、修正ではなく上書きされるだけですね」

 あたしは、そこまでの流れで、根本的な情報が欠落していると感じた。

 プログラムを開発するということは、プログラム・ソースを作る作業のことだ。でもコンピュータで動くのは実行ファイル。実行ファイルを人間は直接作らない。人間は、自分が使いやすいプログラム言語を選んで、ソースを作る。これがいわゆるプログラムだ。そして、そのソースからコンピュータ自身が実行ファイルを生成するんだ。

 今の新見課長の話は、ソースと実行ファイルがごっちゃで説明されている。

 ちゃんと区別してその流れを確認しないと、分からないままだ。

「それぞれの環境で、プログラムのソースと実行ファイルはどんな関係になってるの? どっちも移行するの?」

 プログラムが正しいかを確認するには、そのソースをチェックするのと、実際に実行ファイルで動かして問題がおきないか確認するのと二通りの方法がある。

 標準化チェックは、ソースを人間が見てその作り方が正しいか、直接確認するやり方だ。

 テスト環境で動作を確認するのは、実際にプログラムを動かして正しい動きをしているか確認する方法になる。『正しく動けばいい』といって、動作が正しいことを確認すればそれで良いと思われがちだけど、そんなことをすると、開発者が特別な場合に動き出す不正機能を入れ込むことを防げない。だから、特に金融機関では、必ずソースを人間がチェックするプロセスを入れる。

 あたしが気になったのは、ソースから実行ファイルはどの時点で作るのか、ということだ。

 実行ファイルがなければテスト環境で実際にプログラムを動かすことが出来ない。

 プログラムソースから実行ファイルを作り出す作業が必要なはずだ。それはどのタイミングでやっているんだろう。

 開発環境、テスト環境を経て、本番環境が動くとして、プログラムのソースと、実行ファイルがどのような関係で移行されているか確認しなければ、不正の手法を暴けないに決まっている。

 あたしの疑問に、新見課長はわかりきっていることを説明するように、すらすらと答えてくる。

「標準化チェックが終って、ソースをテスト環境に移行するツールが、実行ファイルも自動生成します。本番は、テストがすべて終った時点で、ツールを使ってテスト環境からソースと実行ファイルを本番環境に複写します」

 あたしは一旦目を閉じて考えてみる。

 どう見ても手順は完璧で、漏れがあるとは思えない。

 誰かが悪意を持ってプログラムを作ったとする。それは、移行するとき、ソースを標準化チェックされる。そこで気付かれないはずがない。

 テスト環境も本番環境も、移行はツールで行うから人間が関与する余地がない。

 ――何度もソースをチェックしているのに、誰も口座が直接プログラムに記載されていることに気付かなかったのはなぜだろう?

 その肝心な部分が分からない状態で事情聴取をすれば、良くて空振り、悪ければ証拠隠滅される可能性が高い。だって、どうやってプログラムを改変したか、まったく分かっていないのだから。

 チェックをすり抜けたとは思えない。そもそも犯人はそんなリスクは犯さないと思う。

 それなら、プログラムをツールを使わずに何らかの方法で移行させたんだろうか。

 だけど、プログラムの変更履歴には全部移行システムで移動された記録が残されているらしい。

 原因不明のまま、結果として不自然なソースだけが見つかっている。

 一体何が起きているんだろう。

 あたしの混乱をよそに、新見課長は、あたしの方を見て尋ねてきた。

「事情聴取はどうしましょうか?」

 あたしは頸を横に振った。

 明らかになっていることは一つある。

 それは、今の時点で事情聴取をするのはまずいと言うことだ。

「まだ時期尚早です。ある程度原因を把握した後に行うべきだよ」

 あたしの言葉に新見課長は反論してきた。

「ですが、明らかに怪しい行員がいるのに放置するわけにはいきません」

「新見課長。あなたは勘違いしているわ」

 あたしはぴしゃりと言った。

「今の時点で怪しい行員なんて一人もいない。予断を持った調査は、簡単に真相から離れた方向に誘導されてしまう。仮説を立てるのは必要でしょう。だけど、安易に断定してはいけないと思います」

「分かりました。確かにおっしゃる通りかも知れません」

 新見課長はため息をついた後、椅子を立って振り返った。

「また、何かありましたらお呼び下さい」


 一人で考えてみても、疑問が解決すると思えなかった。

 脳裏に真治の顔がよぎったけど、頸をぶんぶんと振って無理矢理消した。

 新見課長が退出した後、あたしは無理は承知で太田に聞いてみた。

「あんたはどう思う?」

 太田は、散らばった資料を整理しながら振り返って言う。

「特捜官に意見するなんて恐れ多いんですが――、チェックをする人って言うのは信用できるんですか?」

 あたしはその言葉に意表を突かれた。

「信用できない? グルになっているんじゃないかって言うこと?」

「俺はすべてを疑うのが刑事の基本だって教えられましたんで――」

 ――すべてを疑う?

 あたしは、太田の言葉にもう一度考えてみた。

 チェックする人は、本当に信用できるか。本当にテスト環境に誰もアクセスできないのか。

 ――いや。違う。それよりもっと根本的な質問がある。

 そもそも、あたしの指示で口座を検索したプログラムは、どこの環境を調べたんだろうか。

 テスト環境? それとも、本番環境?

 その時、やっとあたしは理解した。

 ――あたしはバカだ。あたしは自分の目で何も確認していなかったんだ――。

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る