피드로 돌아가기
"os.system(f'pip install {library}')"
Dev.toDev.to
Security

AST 분석 기반 15,293개 함수 대상 Static Effect Analyzer 구현

"os.system(f'pip install {library}')"

roberta carraro2026년 4월 24일2intermediate

Context

LLM 기반 코드 인터프리터 내 os.system 사용으로 인한 RCE 취약점 노출 확인. 복잡한 Call Graph 내부에 숨겨진 Unsafe 함수 호출을 식별하기 위한 정적 분석 도구의 필요성 대두.

Technical Solution

  • AST(Abstract Syntax Tree) 기반의 1차 스캔을 통한 알려진 Effect Table 대조 분석
  • Call Graph 추적을 통한 Effect 전파(Propagation) 로직 구현으로 간접 호출로 인한 위험성 식별
  • Net, Fs, Unsafe 등 10가지의 고정된 Effect Vocabulary 정의를 통한 분석 일관성 확보
  • Type Inference나 Cross-file Analysis를 배제한 경량 분석 설계를 통해 분석 속도 및 효율성 최적화
  • CI Gating을 위한 --deny 옵션 및 .gazepolicy 파일을 통한 함수 단위 제어 정책 적용
  • oxc-parser 활용으로 TypeScript 환경 내 컴파일러 의존성 없는 경량 분석 환경 구축

1. 외부 입력값이 os.system, exec 등 Shell 실행 함수로 유입되는 경로가 있는지 AST 레벨에서 전수 조사

2. 핵심 보안 함수에 대해 Allowlist 기반의 검증 로직이 누락되었는지 점검

3. CI/CD 파이프라인 내에 정적 분석 도구를 도입하여 Unsafe Effect가 포함된 코드의 Merge를 자동 차단

원문 읽기