2026年7月24日
自分たちのアプリに「鍵の穴」を見つけた話——1つ直して、8本全部を見回るまで
私たちは、土木・建築・設備の3業種、約110名の建設会社を経営しています。建設業は20年以上やってきて、この1年で、社内で使うAIツールを8本内製して、複数の建設会社にも使ってもらっています。
今回は、その中で一番ヒヤッとした話です。自分たちのアプリのログインの仕組みに、二段階認証をすり抜けられる穴を、自分たちで見つけました。
先に書いておくと、悪用された形跡はなく、見つけたその日のうちに塞いでいます。それでも、この件から学んだことがかなり多かったので、順番に書いてみます。
点検の途中で、通ってはいけないものが通りました
私たちのアプリには、二段階の鍵をかけています。パスワードを入れたあとに、手元のスマホに出る6桁の数字を入れてもらう、あの仕組みです。
パスワードだけだと、どこかで漏れた時にそのまま入られてしまいます。二段階目があれば、パスワードを知られても、スマホが手元にない人は入れない。会社のお金や勤怠のデータを預かる以上、ここは最初から入れていました。
その日は、定期のセキュリティ点検で、ログインまわりの動きを順番に試していました。正しい手順で入れるか。間違った手順で、ちゃんと止まるか。
で、ある試し方をした時に、止まるはずの場所が通ってしまったんですよね。
二段階目の6桁を入れていないのに、中に入れてしまう。画面は普通で、エラーも出ません。何度か手順を変えて確かめましたが、やはり通ります。
正直、手が止まりました。
穴の中身は、通行証の「種類」の確認漏れでした
中身は、意外と地味でした。
アプリの中では、ログインのやりとりに、目に見えない通行証のようなものを使っています。この通行証には用途があって、二段階目を通った人に渡すもの、その手前の人に渡すもの、といった種類が分かれています。
ところが、二段階目の先にある窓口が、通行証の「種類」までは確かめていませんでした。手前の段階で渡される別の通行証を出しても、そのまま通してしまう作りになっていたんです。
たとえるなら、現場の入口で、朝礼前の仮の入場証を見せた人を、立入制限区域まで通してしまうような話です。入場証自体は本物なので、見た目には気づきにくい。
これを突かれると、パスワードを知られた時点で、二段階目が役に立たず、乗っ取りにつながる恐れがありました。
その日のうちに、窓口が通行証の種類まで確かめる形に直しました。あわせて記録をさかのぼって、この穴を突かれた形跡がないことも確認しています。
1箇所直して、終わりにしませんでした
ここからが、今回書きたかった本題です。
現場の安全パトロールで、外れかけた手すりを1箇所見つけたとします。その1箇所を直して「よし、終わり」にはしないと思います。同じ型の手すりは、他の階にもあるからです。見つけた1件は、同じ作りの場所を全部見て回る合図なんですよね。
アプリも同じでした。
この穴は、8本のアプリのうち1本で見つけたものです。でも、ログインの仕組みは、どのアプリも似た考え方で作っています。1本にあった穴は、他の7本にも同じ型である可能性が高い。
なので、その週は新しい機能を作るのをやめて、8本全部のログインまわりを順番に見て回りました。
見回ったら、直す場所は他にもありました
実際、手を入れる場所は他にも出てきました。
端末ごとにログインを切れる仕組み。スマホをなくした時に、その端末だけを締め出せるようにしました。
ログインに失敗した記録を残す仕組み。誰かが繰り返し試している時に、あとから追えるようにしました。
おかしな動きがあった時に、自動で知らせが飛ぶ見張り。人が毎日目で見なくても、異常の方から知らせてくる形です。
一つひとつは地味です。でも、1つの穴が見つかったおかげで、8本まとめて守りが一段上がりました。あの日ヒヤッとしていなければ、ここまで一気には進まなかった気がしています。
数字の世界でも同じことがありました。勤怠アプリのバグを直した時も、1箇所の計算ズレが見つかったのをきっかけに、3つある打刻の入口を全部見て回ったら、別のズレが出てきました。1件見つけたら同じ型を全部見る、というやり方は、数字でも鍵でも変わらないようです。
「作れる」と「預かれる」は、別の仕事でした
AIのおかげで、アプリを作ること自体はかなり速くなりました。1年で8本を内製できたのも、正直、AIがなければ無理だったと思います。
でも、作ったアプリを他の会社にも使ってもらうとなると、話が一段変わります。よその会社の勤怠、経費、お金の数字を預かるわけです。
預かる側の仕事は、作って終わりではありません。動き続けているかを見張る仕事があり、その先に、今回のような「破られる穴がないかを疑い続ける仕事」があります。
派手さで言えば、新しい機能を作る方がずっと楽しいです。ただ、預かっている側の信用は、たぶんこういう見えない点検の積み重ねの方で決まるんだろうな、という感じがしています。
道具を選ぶ側でも、見るところは同じです
これは、自分でアプリを作らない会社にも関係のある話だと思っています。
勤怠でも経費でも、外のサービスを選ぶ時に、機能の一覧は誰でも見ます。でも、預ける側として本当に効くのは、たとえばこういう質問です。
二段階の鍵はかけられますか。
不具合や穴が見つかった時、直したことを知らせてくれますか。
やめた社員のログインは、すぐに切れますか。
きれいなパンフレットがなくても、この3つにすっと答えてくれる相手なら、中の点検が回っている可能性が高いです。逆に、機能の話は上手なのにここで言葉が濁る場合は、少し立ち止まった方がいいかもしれません。
AIツールの選び方は色々ありますが、預けるデータが重いものほど、この「守りの質問」を先にした方がいい気がしています。
よくある質問
Q. 実際に被害はなかったのですか?
A. ログインの記録をさかのぼって確認し、この穴を突かれた形跡がないことを確かめています。見つけた当日に塞ぎ、その後、8本すべてのアプリで同じ点検を行いました。
Q. 自社で作ったツールがある場合、まず何を確かめればいいですか?
A. ログインまわりからで大丈夫です。パスワードだけで入れてしまわないか、辞めた人のアカウントが残っていないか、他の人や他の部署のデータが見えてしまわないか。難しい道具がなくても、一人分を実際に試すだけで確かめられます。
Q. 二段階認証を入れると、現場の社員が面倒がりませんか?
A. 毎回全員に求めると止まります。私たちは、お金や全社のデータを触れる管理側の画面から先に入れました。現場の打刻のように毎日何度も使う入口と、月に数回の管理の入口では、鍵の重さを変えていい部分です。
まず全体像を知りたい方は建設会社のAI導入 30分説明会へ。自社ツールやデータの預け先の点検について個別に相談したい方は無料相談をご利用ください。AI顧問が何をする仕事かはこちらにまとめています。
AUTHOR
ARCFEELGROUP株式会社
ARCFEELGROUP株式会社。土木・建築・設備の建設グループ(110名・3業種)で、 建設業のIT/DXとAI活用ツールの内製を担っています。評論ではなく、当事者としての実装記録を書いています。
ARCFEEL × AI について