SYSTEM-8-7

クライテリア

ソースコード中に、漏洩してはならない情報がハードコーディングされている。(それらを分離して管理するようなツールまたは仕組みを導入しているか)

タイプ

セキュリティシフトレフト

観点

アンチパターン

FAQ

Q.「漏洩してはならない情報」とは例えばどのような情報を指しますか?

わかりやすいものとして個人情報(個人の氏名、住所、電話番号)が該当しますが、より広義に考えると、各種サーバのIPアドレスやシステム間接続時に必要となる認証情報(ID、パスワードなどのクレデンシャル)も含まれます。セキュアなシステムを構築することを目的とするのであれば、ディレクトリ構造を示すような情報や、緯度・経度を示すような位置情報も「漏洩してはならない情報」と位置付けられます。

用語解説

ハードコーディング

本来プログラム中に記述すべきではないリソース(情報)を、直接ソースコード中に埋め込むことです。例えば、消費税率を直接ソースコード上に埋め込んでしまうと、将来税率変更がされた時にソースコードの改訂が必要になってしまいます。このように、動作環境や利用条件に応じて書き換えられる可能性のあるデータを直せすソースコードに書き込んでしまうことをハードコーディングと言います。