해커는 이제 서버가 아니라 개발자를 노린다

최근 바이낸스에서 약 63억 달러 규모의 디지털 자산이 영향을 받은 보안 사고가 발생했습니다. 11월 3일 공개된 초기 조사 결과에 따르면, 공격자는 개발자 단말기 침해, 변조된 개발 도구, 가짜 채용을 통한 사회공학 공격, 내부 AI 도구 악용, 배포 인증 정보 탈취 등을 결합해 공격을 수행했습니다.
한편, 국내에서도 2026년 10월 PHP의 치명적인 보안 취약점인 PHP2Shell(CVE-2026-109618, CVE-2026-109619)이 발견되면서 긴급 보안 대응이 이루어졌습니다. 해당 취약점은 인증되지 않은 공격자가 원격에서 서버의 코드를 실행할 수 있는 RCE(Remote Code Execution)로 이어질 수 있으며, KISA 역시 기업을 대상으로 긴급 대응 수칙을 발표했습니다.
두 사건은 서로 다른 공격 방식이지만 공통된 메시지를 전달합니다.
보안 사고는 애플리케이션 코드뿐 아니라 개발 환경, 외부 라이브러리, 실행 환경, 배포 인프라 등 시스템을 구성하는 모든 요소에서 발생할 수 있다는 것입니다.
1. 소프트웨어 공급망 보안(Software Supply Chain Security)
오늘날 개발 환경은 개발자 개인의 코드만으로 구성되지 않습니다. 외부 라이브러리, 패키지 매니저, IDE 플러그인, 컨테이너 이미지, CI/CD 파이프라인 등 수많은 외부 구성 요소가 연결되어 있습니다.
바이낸스 사건은 이러한 개발 도구와 공급망이 공격 경로로 악용될 수 있음을 보여줍니다.
실제로 2026년에는 PHP의 패키지 생태계인 Packagist에서도 악성 패키지가 발견되는 등 공급망 공격이 여러 개발 생태계로 확산되고 있습니다. 특히 정상적인 패키지의 배포 권한이나 계정이 탈취되면, 개발자는 신뢰하던 라이브러리를 통해 악성 코드를 자신의 개발 환경이나 CI/CD 시스템에 유입시킬 수 있습니다.
이를 방지하기 위해 기업에서는 다음과 같은 보안 체계를 적용합니다.
- SCA(Software Composition Analysis): 외부 라이브러리의 알려진 취약점과 의존성을 분석합니다.
- SBOM(Software Bill of Materials): 소프트웨어에 포함된 구성 요소와 버전을 목록화하여 관리합니다.
- Artifact Signing & Provenance: 빌드 결과물의 무결성과 생성 과정을 검증하여 변조된 산출물이 배포되는 것을 방지합니다.
- Dependency Pinning: 의존성 버전을 명시적으로 고정하여 예상하지 못한 악성 업데이트의 유입을 줄입니다.
즉, 코드가 정상적으로 동작하는지를 넘어 어떤 구성 요소로 만들어졌으며, 신뢰할 수 있는 과정을 거쳐 배포되었는지까지 검증하는 것입니다.
2. 취약점 관리와 공격 표면(Attack Surface Management)
PHP2Shell 사건은 소프트웨어 자체의 취약점이 얼마나 심각한 위협으로 이어질 수 있는지 보여줍니다.
PHP는 웹 서버에서 널리 사용되는 런타임이지만, 특정 메모리 오류 처리 과정에서 발생한 결함으로 인해 원격 코드 실행이 가능한 취약점이 발견되었습니다. 이러한 취약점은 애플리케이션 개발자가 작성한 코드에 문제가 없어도, 서버가 취약한 PHP 버전을 실행하고 있다면 공격 대상이 될 수 있습니다.
이러한 문제를 관리하기 위해 기업에서는 Vulnerability Management와 Attack Surface Management를 함께 고려합니다.
- Asset Inventory: 운영 중인 서버, 컨테이너, 외주 시스템 및 내장 소프트웨어의 실제 사용 현황 파악
- Vulnerability Scanning: 운영 환경의 알려진 취약점과 보안 업데이트 필요 여부 확인
- Risk-based Patching: 취약점의 심각도뿐 아니라 인터넷 노출 여부, 공격 가능성, 서비스 중요도를 고려한 패치 우선순위 결정
- Patch Verification: 보안 업데이트 적용 이후 실제 수정 여부와 서비스 정상 동작 확인
- EOL Management: 지원 종료된 런타임과 라이브러리를 지속적으로 사용하지 않도록 관리
특히 중요한 것은 자산 관리 목록에 등록된 서버만 점검하는 것으로는 충분하지 않다는 점입니다. 오래된 웹사이트, 테스트 서버, 외주 시스템, 컨테이너 이미지, PHP가 포함된 관리 솔루션 등 예상하지 못한 공격 표면이 존재할 수 있습니다.
3. CI/CD 보안과 최소 권한 원칙(Least Privilege)
개발 환경에서 CI/CD는 코드 작성부터 빌드, 테스트, 배포까지 자동화하는 핵심 인프라입니다. 하지만 자동화된 배포 환경은 높은 권한을 보유하는 경우가 많아 공격자에게도 매우 매력적인 대상입니다.
개발자의 인증 정보가 탈취되거나 CI/CD 파이프라인이 변조된다면, 공격자는 정상적인 배포 절차를 통해 악성 코드를 운영 환경에 반영할 수도 있습니다.
이를 방지하기 위해 중요한 것은 최소 권한 원칙과 권한 분리(Separation of Duties)입니다.
- 개발 환경과 운영 환경의 인증 정보 및 권한 분리
- CI/CD 실행 주체에 필요한 최소 권한만 부여
- 운영 배포 시 별도 승인 및 검증 절차 적용
- 단기 인증 토큰 및 OIDC 기반 워크로드 인증 활용
- 배포 이력과 권한 사용 내역에 대한 감사 로그 확보
특히 개발자 계정 하나가 침해되더라도 운영 시스템 전체를 제어할 수 없도록 권한 경계를 설계하는 것이 중요합니다.
4. AI 개발 도구와 새로운 보안 경계
바이브 코딩과 AI 에이전트의 확산은 개발 생산성을 크게 높이고 있습니다. 그러나 AI 도구가 단순히 코드를 생성하는 수준을 넘어 파일 시스템, 터미널, Git 저장소, 클라우드 API 등에 접근할 수 있게 되면서 보안 관점에서도 새로운 문제가 발생합니다.
바이낸스 사건에서 공격자는 침해된 개발자 단말기와 내부 AI 도구를 공격 과정에 활용했습니다. 이는 AI 도구가 새로운 시스템 접근 경계가 될 수 있다는 점을 보여줍니다.
또한 악성 저장소에 포함된 지시문이나 문서가 AI 에이전트의 행동을 유도하고, 이를 통해 민감한 정보가 노출되거나 의도하지 않은 명령이 실행될 가능성도 있습니다. 이는 프롬프트 인젝션과 AI 에이전트의 과도한 권한 부여 문제로 연결됩니다.
따라서 AI 개발 환경에서도 다음과 같은 접근이 필요합니다.
- AI 에이전트의 파일·터미널·네트워크 접근 권한 제한
- 외부 저장소와 문서에서 가져온 지시문을 신뢰할 수 있는 명령과 분리
- 민감한 인증 정보에 대한 AI 도구의 접근 제한
- 코드 실행 및 운영 환경 변경 시 명시적인 승인 절차 적용
- AI가 생성한 코드와 실행 결과에 대한 독립적인 검증
AI에게 권한을 부여하는 것은 단순한 편의 기능 설정이 아니라, 새로운 시스템 접근 주체를 추가하는 것과 같습니다.
5. DevSecOps: 보안을 개발 과정에 통합하다
이러한 접근은 DevSecOps라는 개념으로 연결됩니다. 보안을 개발 완료 후 별도로 점검하는 것이 아니라, 설계·개발·빌드·배포 전 과정에 통합하는 방식입니다.
보안 검증을 CI/CD 파이프라인에 포함하고, 취약점 분석과 의존성 검사를 자동화하며, 운영 환경의 이상 행위를 지속적으로 모니터링하는 것이 대표적인 사례입니다.
개발 단계에서는 SAST(Static Application Security Testing), SCA, Secret Scanning 등을 활용할 수 있으며, 운영 단계에서는 로그 분석, EDR, 이상 행위 탐지 및 취약점 관리 체계를 통해 지속적인 보안 검증이 이루어질 수 있습니다.
결국 보안은 특정 보안 담당자나 특정 도구만의 책임이 아닙니다. 개발 환경부터 배포 인프라, 운영 시스템까지 전체 시스템의 신뢰성을 확보하는 과정입니다.
마무리
바이낸스 사건과 PHP2Shell 취약점은 서로 다른 방식으로 발생했지만, 모두 우리가 신뢰하고 사용하는 시스템의 어느 한 지점이 공격 경로가 될 수 있음을 보여줍니다.
AI가 개발의 진입장벽을 낮추고 생산성을 높이는 시대일수록, 보안은 더욱 복잡해지고 있습니다. 개발자가 작성한 코드뿐 아니라 외부 의존성, 실행 환경, 배포 권한, AI 에이전트의 접근 범위까지 함께 고려해야 하기 때문입니다.
AI 시대에 좋은 개발자란 단순히 빠르게 코드를 작성하는 사람이 아니라, 자신이 사용하는 기술과 시스템의 신뢰성을 이해하고 그 위험까지 관리할 수 있는 사람 아닐까요?
개발의 속도를 높이는 AI 시대, 우리가 함께 높여야 할 것은 보안에 대한 이해와 책임감입니다.
댓글 0
첫 댓글을 남겨주세요.