콘텐츠로 이동

샌드박스 제약

QuantiqDSL은 안전한 실행을 위해 AST 검증 + 샌드박스 실행 제한을 적용합니다.

금지 구문 (파서 단계)

  • import, from ... import
  • global, nonlocal
  • lambda
  • def, class
  • async def, async for, async with

금지 호출/이름

  • exec, eval, open
  • getattr, setattr, delattr
  • __import__, globals, locals, compile, breakpoint

예외 처리 제한

  • except: (bare except) 금지
  • except BaseException, except SystemExit, except KeyboardInterrupt 금지
  • 권장: except Exception:

추가 안전 규칙

  • __dunder__ 속성 접근 금지
  • 스크립트 길이 제한: 40,000자

허용 제어 흐름

  • if / elif / else
  • for / while
  • break / continue
  • try / except Exception

실행 환경 제한

  • 샌드박스 기본 타임아웃: 5초
  • 파일 시스템 접근 불가
  • 임의 네트워크 접근 불가
  • 허용 builtins만 사용 가능

네임스페이스 사용 규칙

  • 수학 함수: math.* 사용 (import math 금지)
  • 지표 함수: ta.*

관련 문서