CodeSOD: 승인된 로거 노트

CodeSOD: 승인된 로거

그레첸의 개발팀은 회사 인수 과정에서 Initech에 인수되었습니다. Initech는 그들의 성공적인 소프트웨어 제품과 개발 인재에 관심을 가졌습니다. 처음에는 그레첸의 팀은 프로젝트에 대한 자율성을 부여받아 성공적이었습니다. 기존 코드를 재사용하거나 다시 작성하고 자체 도구를 선택할 수 있었으며, 이는 긍정적인 결과로 이어졌습니다. 그러나 그레첸은 나중에 지속적인 "긴급 조치"로 특징지어지는 문제가 있는 프로젝트에 배정되었습니다. 프로젝트의 코드베이스는 부적절한 null 처리와 같은 좋지 않은 관행을 보였습니다.애플리케이션은 더 이상 업데이트되지 않는 구식 NodeJS 버전에 국한되었습니다. 그레첸은 일관된 코딩 규칙의 부족과 로깅의 부재를 지적했습니다. 기존 로깅 메커니즘조차 효과가 없었으며, 메시지 내용에 관계없이 "DEBUG"라는 단어만 출력했습니다. 코드는 요청 본문을 유효성 검사 없이 데이터베이스에 직접 삽입하여 HTTP 요청을 처리했습니다. 이 특정 함수는 요청 데이터를 복사하기 위해 두 가지 다른 방법을 시도함으로써 우유부단함을 보여주었습니다.또한, 시스템은 많은 영역에서 직접 SQL 쿼리에 의존하여 상당한 SQL 삽입 취약점을 야기했습니다. 코드에는 중요한 권한 부여 검사가 부족했으며, 대부분의 엔드포인트는 완전히 보호되지 않았습니다. 관리 API와 같은 중요한 엔드포인트조차 인증이 구성되지 않은 중복 버전이 있었습니다. 이러한 상황은 프로젝트 내에서 보안 및 코드 품질의 심각한 결함을 강조했습니다.