하드코딩된 인증 정보

하드코딩된 인증 정보

설명

비밀번호, 클라이언트 시크릿, API 키를 소스 코드에 직접 저장하면 코드 유출 시 즉시 악용될 수 있습니다.

잠재적 영향

서비스 계정 탈취, API 오용, 권한 상승이 가능합니다.

해결 방법

비밀정보는 Secret Manager 등에서 보호하고 필요에 따라 런타임 환경 변수로 공급하세요. 노출된 값은 폐기·재발급하고 사용하는 애플리케이션에도 새 값을 적용하세요.

예시

아래 코드는 이미 공급된 환경 변수를 읽습니다. 필수 값이 없거나 비어 있으면 시작을 중단하도록 검증하고, 환경 변수나 설정 덤프에 접근할 수 있는 주체를 제한하세요.

변경 전

php
<?php
$client_secret = "ABigLongSecret";

변경 후

php
<?php
$client_secret = getenv('CLIENT_SECRET');

설명:

  • 변경 전: 비밀번호, 클라이언트 시크릿 또는 토큰이 PHP 소스에 하드코딩되어 있습니다.
  • 변경 후: 비밀정보는 Secret Manager 등에서 보호하고 필요에 따라 런타임 환경 변수로 공급하세요. 노출된 값은 폐기·재발급하고 사용하는 애플리케이션에도 새 값을 적용하세요.

참조