피드로 돌아가기
I built a JS/TS runtime in Rust where nothing runs without your permission
Dev.toDev.to
Security

Rust 기반 Permission Isolation 런타임 3va를 통한 공급망 보안 강화

I built a JS/TS runtime in Rust where nothing runs without your permission

Edgar Misaél Cano Domínguez2026년 6월 15일5advanced

Context

기존 Node.js, Bun 등 런타임이 postinstall 스크립트와 패키지 권한을 기본 신뢰함에 따라 xz backdoor와 같은 공급망 공격에 노출된 한계 존재. 런타임 레벨에서 권한 제어가 불가능하여 패키지 매니저의 옵션 설정만으로는 근본적인 보안 위협 제거가 어려운 상황 분석.

Technical Solution

  • Default-deny 정책 기반의 Runtime Permission System을 설계하여 파일시스템, 네트워크, 프로세스 생성 등 모든 Capability를 기본 차단
  • --allow-read, --allow-net 등 명시적 플래그를 통한 화이트리스트 방식의 권한 부여 구조 채택
  • 패키지 매니저 단계에서 postinstall 스크립트의 무조건적 실행 차단 로직을 런타임 엔진에 통합
  • HTTP 레이어에 1,024개 Concurrent Connection 제한 및 Slowloris mitigation을 내장하여 DDoS 방어 아키텍처 구현
  • ML-KEM-768 및 ML-DSA-65 기반의 Post-quantum cryptography 라이브러리를 Rust crate로 구현하여 JS 계층에 노출
  • 별도 데몬 없이 런타임 내부에 Process Manager를 통합하여 서비스 생명주기 및 상태 관리 최적화

- Third-party 라이브러리 도입 시 postinstall 스크립트 실행 권한 제한 검토 - 서비스 가용성 확보를 위해 HTTP 연결 수의 Hard Limit 설정 및 큐잉 전략 수립 - 미래 보안 위협 대비를 위한 PQC(Post-Quantum Cryptography) 알고리즘 도입 가능성 분석 - 외부 의존성 라이브러리에 대한 최소 권한 원칙(Least Privilege) 적용 여부 확인

원문 읽기