CodeSOD: 承認済みロガー ノート

CodeSOD: 承認済みロガー

Gretchen の開発チームは、会社買収の一環として Initech に買収されました。Initech は、彼らの成功したソフトウェア製品と開発タレントに興味を持っていました。当初、Gretchen のチームはプロジェクトに対する自律性を与えられ、成功していました。既存のコードを再利用するか書き直すか、独自のツールを選択することができ、それが肯定的な結果につながりました。しかし、Gretchen は後に、絶え間ない「火消し」を特徴とする問題のあるプロジェクトに割り当てられました。プロジェクトのコードベースは、不十分な null 処理などの悪いプラクティスを示していました。アプリケーションは、もはやアップデートを受け取っていない古いバージョンの NodeJS に制約されていました。Gretchen は、一貫したコーディング規約の欠如とログ記録の不在に気づきました。既存のログ記録メカニズムさえも効果がなく、メッセージの内容に関係なく「DEBUG」という単語だけを出力していました。コードは、リクエストボディを検証なしに直接データベースに挿入することで HTTP リクエストを処理していました。この特定の機能は、リクエストデータをコピーするための 2 つの異なる方法を試みることで、優柔不断さを示していました。さらに、システムは多くの領域で直接 SQL クエリに依存しており、重大な SQL インジェクションの脆弱性を生み出していました。コードには重要な認証チェックも欠けており、ほとんどのエンドポイントは完全に保護されていませんでした。管理 API のような重要なエンドポイントでさえ、認証が構成されていない重複バージョンがありました。この状況は、プロジェクト内のセキュリティとコード品質における深刻な欠陥を浮き彫りにしました。