Godot Engine에서의 Eval 구문

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

질문 / 문제 해결

내용을 설명해주세요

안녕하세요, Godot 4.6.1로 개발한 퍼즐 게임 'Pentaknot’을 앱인토스 미니앱으로 출시하려다 막혀서 문의드립니다.

【환경】

  • 엔진: Godot 4.6.1 stable
  • 빌드: Web Export (HTML5), 싱글 스레드 (SharedArrayBuffer 미사용)
  • 래핑: Vite + React + @apps-in-toss/web-framework
  • 렌더러: Compatibility (GLES3/WebGL2)

【문제】
AIT 번들 업로드 후 검토 결과에서 "eval과 같이 외부에서 코드를 받아와 실행시킬 수 있는 코드는 보안 상 허용되지 않는다"는 사유로 반려됐습니다.

Godot Web export 시 엔진이 자동으로 index.js 안에 eval() 구문을 삽입하며, 이는 Godot 소스를 javascript_eval=no 옵션으로 직접 재컴파일하지 않는 한 제거가 불가능한 것으로 알고 있습니다.

【문의 사항】

  1. Godot Web export 빌드의 eval 구문에 대해 예외 처리 또는 별도 심사 기준이 적용될 가능성이 있나요?
  2. index.js에서 eval 관련 코드를 수동으로 제거하거나 무력화(예: eval을 빈 함수로 override)했을 때 보안 심사를 통과할 수 있나요? 가능하다면 어떤 방식이 허용되는지 안내 부탁드립니다.
  3. Godot 공식 빌드 서버를 이용하지 않고, javascript_eval=no 옵션이 적용된 커스텀 export 템플릿(.tpz)을 따로 배포해주실 계획이 있으신가요?
  4. 위 방법이 모두 어렵다면, 현재 Godot → 앱인토스 출시를 위한 공식 지원 로드맵이 있는지 여쭤봐도 될까요?

싱글 스레드 빌드라 COOP/COEP 헤더 이슈는 없고, 광고/결제 SDK 연동도 예정되어 있어 앱인토스에서 꼭 출시하고 싶습니다. 답변 주시면 바로 적용해보겠습니다. 감사합니다.

appName (선택)

펜타놋

안녕하세요, 현재는 말씀주신 2번 방식(수동으로 eval 코드 제거)으로 해결이 가능한 상태입니다.

Godot 공식 빌드 서버를 이용하지 않고, javascript_eval=no 옵션이 적용된 커스텀 export 템플릿(.tpz)을 따로 배포해주실 계획이 있으신가요?

이 부분에 대해서는 이전에 동일한 요청을 받아서 고려는 했었는데 수요 파악이 되지 않은 상태라 추가 리소스를 넣지는 않았습니다. 간간히 요청이 들어오고 있어서 앱인토스 godot export 템플릿 빌드가 가능할지 확인해보고 작업할 수 있도록 하겠습니다.