피드로 돌아가기
Dev.toSecurity
원문 읽기
Heuristic 기반 스크립트 정적 분석을 통한 curl | sh 보안 취약점 해결
I stopped trusting curl | sh — so I built a tool that reads the script first
AI 요약
Context
신뢰할 수 없는 외부 스크립트를 셸에 직접 파이핑하는 curl | sh 패턴의 보안 위협 분석. 실행 권한을 그대로 상속받아 sudo 권한 남용, 기밀 파일 접근, 지속성 확보 등의 임의 코드 실행 위험 존재.
Technical Solution
- Heuristic 기반의 정적 분석 엔진을 구축하여 실행 전 리스크를 사전에 필터링하는 중간 계층 설계
- Root 권한 상승(sudo), 파괴적 파일 작업(rm -rf), 난독화 페이로드(eval, base64) 등 위험 패턴 정의
- 발견된 패턴별로 CRITICAL부터 INFO까지의 Severity를 부여하여 최종 Risk Score 산출
- High-Risk 스크립트의 경우 자동 실행을 강제로 차단하고 사용자에게 명시적 RUN 입력 요구
- POSIX Shell 표준을 준수하여 의존성 없는 130라인의 경량 아키텍처로 구현함으로써 배포 편의성 확보
Key Takeaway
완벽한 Sandbox 구현이 어려운 환경에서 Heuristic 분석을 통해 사용자의 주의를 환기시키고 검토 지점을 좁혀주는 '가시성 제공' 중심의 보안 설계 전략
실천 포인트
- 외부 설치 스크립트 실행 전 정적 분석 도구(peek 등)를 통한 위험 패턴 검사 - sudo, eval, base64-d | sh 등 난독화 및 권한 상승 키워드 포함 여부 확인 - .ssh, .env 등 환경 변수 및 기밀 파일 접근 경로 포함 여부 검토 - 다단계 페이로드 다운로드(wget/curl 내부 호출) 여부를 통한 2차 감염 경로 분석