クライテリア
ソースコード中に、漏洩してはならない情報がハードコーディングされている。(それらを分離して管理するようなツールまたは仕組みを導入しているか)
タイプ
セキュリティシフトレフト
観点
アンチパターン
FAQ
Q.「漏洩してはならない情報」とは例えばどのような情報を指しますか?
わかりやすいものとして個人情報(個人の氏名、住所、電話番号)が該当しますが、より広義に考えると、各種サーバのIPアドレスやシステム間接続時に必要となる認証情報(ID、パスワードなどのクレデンシャル)も含まれます。セキュアなシステムを構築することを目的とするのであれば、ディレクトリ構造を示すような情報や、緯度・経度を示すような位置情報も「漏洩してはならない情報」と位置付けられます。
用語解説
ハードコーディング
本来プログラム中に記述すべきではないリソース(情報)を、直接ソースコード中に埋め込むことです。例えば、消費税率を直接ソースコード上に埋め込んでしまうと、将来税率変更がされた時にソースコードの改訂が必要になってしまいます。このように、動作環境や利用条件に応じて書き換えられる可能性のあるデータを直せすソースコードに書き込んでしまうことをハードコーディングと言います。