[보안 심사 반려] eval 관련 코드, 주석 처리만 남겨둬도 스캐너에 검출되나요?

이 글의 성격은 무엇인가요?

질문 / 문제 해결

내용을 설명해주세요

안녕하세요. 내일 당장 정식 런칭을 앞두고 심사를 진행 중인 개발팀입니다.

다름이 아니라 보안 검수 단계에서 계속해서 “eval 및 유사 코드 사용” 사유로 반려가 되고 있습니다.

방금 전 내부 코드를 다시 점검해 본 결과, 개발팀에서 해당 eval 구문을 아예 지운 것이 아니라 // eval(…) 처럼 주석 처리만 해두고 빌드를 뽑은 것으로 확인되었습니다.

혹시 관련해서 경험 있으신 분들이나 담당자님께 여쭙고 싶습니다.

토스 보안 스캐너가 문맥(주석 여부)과 상관없이 최종 빌드 파일(번들) 내에 'eval’이라는 텍스트가 존재하기만 하면 기계적으로 반려 처리하는 시스템인지 궁금합니다.

이 경우, 해당 주석 텍스트까지 흔적도 없이 ‘완전 삭제(Delete)’ 후 재빌드하여 제출하는 것이 가장 확실한 통과 방법이 맞을까요?

런칭이 코앞이라 아주 작은 변수라도 확실히 체크하고 넘어가고자 질문 올립니다.
답변해 주시면 정말 감사하겠습니다!

appName (선택)

rise-boom

함수 호출이 있는지 파악해서 검출합니다. 보통 bundler가 주석은 제거하고 build하기 때문에 주석에만 있다면 보통 탐지되지 않는게 맞는데 한번 살펴볼게요.

실제 cocos2d-js-min.12166.js 보면 아래처럼 eval 함수 호출이 있습니다.

try{i.eval(t),this._dispatchEvent(s.EventType.JS_EVALUATED)}c

답변 감사합니다, 관련 내용 개발팀에 전달해서 수정하도록 하겠습니다.