SOC Prime Bias: Critical

26 Aug 2026 06:51 UTC

Rust 공급망 공격, arrayref, internment 및 append-only-vec을 노리다

Author Photo
SOC Prime Team linkedin icon 팔로우
Rust 공급망 공격, arrayref, internment 및 append-only-vec을 노리다
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

정교한 공급망 공격이 Rust 생태계를 겨냥하여 합법적인 유지관리자 계정을 손상시키고 오타 스쿼팅 신원을 사용하여 악성 빌드 타임 종속성을 삽입했습니다. 공격자는 세 개의 널리 사용되는 크레이트를 오염시켰습니다, arrayref, internment, 와 append-only-vec, Cargo 빌드 과정에서 원격 코드 실행 드로퍼를 실행하기 위해. 이는 개발자 워크스테이션과 CI/CD 파이프라인에서 조용한 코드 실행을 가능하게 했습니다.

조사

연구자들은 Harden-Runner를 사용하여 공격을 분석했으며, 이를 통해 포트 9089를 통해 페이로드 서버로의 아웃바운드 연결을 시도하는 악성 빌드 스크립트가 포착되었습니다. 의 법의학 검토 crates.io-index Git 기록에서 악성 종속성의 표적 삽입 및 개발자를 손상된 버전으로 유도하기 위한 yank-and-upgrade 미끼가 드러났습니다. 연구원들은 또한 영향을 받은 사용자가 보고한 2차 지속성 메커니즘과 C2 동작을 확인했습니다.

완화

즉각적인 완화 조치에는 안전한 검증 버전으로 합법적인 크레이트를 고정하고 Cargo.lock 파일을 감사하여 손상된 종속성 릴리스를 확인하는 것입니다. 조직은 또한 로컬 및 CI/CD 캐시를 정리해야 하며, ~/.cargo/registry/cache, 을 포함하여 악성 .crate 파일을 제거해야 합니다. 빌드 환경에서의 비정상적인 아웃바운드 연결을 위한 이그레스 필터링과 엄격한 lockfile 규율 역시 장기적인 방어에 필수적입니다.

응답

잠재적인 영향을 받은 버전이 lockfile에서 발견되면 빌드 환경은 손상된 것으로 간주되고, SSH 키, 클라우드 토큰, CI/CD 비밀을 포함한 모든 접근 가능한 자격 증명이 교체되어야 합니다. 개발자 시스템은 미승인된 systemd 서비스나 구성 디렉터리에 있는 의심스러운 파일과 같은 지속성 아티팩트에 대해 검사되어야 합니다. 노출 기간 동안 생성된 모든 소프트웨어 아티팩트는 청정하고 검증된 소스에서 재구축해야 합니다.

공격 흐름

탐지

가능한 지속성 지점 [ASEPs – Software/NTUSER Hive] (registry_event를 통해)

SOC Prime 팀
2026년 8월 21일

비정상 포트로 직접 IP로 HTTP를 통한 C2 통신 가능성 (프록시를 통해)

SOC Prime 팀
2026년 8월 21일

숨겨진 파일이 리눅스 호스트에서 생성되었습니다 (file_event를 통해)

SOC Prime 팀
2026년 8월 21일

탐지할 IOC (HashSha256): Rust 공급망 공격: proc-macro1 빌드 타임 드로퍼에 의해 운동된 arrayref, internment, append-only-vec

SOC Prime AI 규칙
2026년 8월 21일

탐지할 IOC (SourceIP): Rust 공급망 공격: proc-macro1 빌드 타임 드로퍼에 의해 운동된 arrayref, internment, append-only-vec

SOC Prime AI 규칙
2026년 8월 21일

탐지할 IOC (DestinationIP): Rust 공급망 공격: proc-macro1 빌드 타임 드로퍼에 의해 운동된 arrayref, internment, append-only-vec

SOC Prime AI 규칙
2026년 8월 21일

비정상적인 아웃바운드 네트워크 연결 탐지 [Windows 네트워크 연결]

SOC Prime AI 규칙
2026년 8월 21일

Rust 공급망 공격에서의 악성 PowerShell 및 VB 스크립트 실행 [Windows Powershell]

SOC Prime AI 규칙
2026년 8월 21일

Unix 임시 디렉터리에서의 의심스러운 빌드 프로세스 실행 [Linux 프로세스 생성]

SOC Prime AI 규칙
2026년 8월 21일

시뮬레이션 실행

전제조건: 텔레메트리 및 베이스라인 사전 점검이 통과해야 합니다.

이유: 이 섹션은 탐지 규칙을 트리거하도록 설계된 적의 기술(TTP)의 정확한 실행을 자세히 설명합니다. 명령 및 설명은 식별된 TTP를 직접 반영해야 하며 탐지 논리에 의해 예상되는 정확한 텔레메트리를 생성하려고 해야 합니다. 추상적이거나 관련 없는 예는 오진으로 이어질 수 있습니다.

  • 공격 서술 및 명령: 적은 성공적으로 악성 크레이트를 Rust 프로젝트에 주입했습니다. 빌드 프로세스가 시작되면, build.rs 스크립트는 원격 C2 서버에 포트 9089를 통해 연결을 시도하는 백그라운드 스레드를 실행하여 페이로드를 가져오려고 합니다. 이는 규칙에서 설명된 “비정상적인 아웃바운드 네트워크 연결”을 시뮬레이션합니다. 목표는 특정 포트를 통해 방화벽/네트워크 로그 경고를 트리거하는 것입니다. 9089.

  • 회귀 테스트 스크립트:

    # 포트 9089에서 C2 서버로의 연결을 시도하는 빌드 타임 드로퍼를 시뮬레이션
    # 네트워크 연결 시도를 시뮬레이션하기 위해 TCP 클라이언트를 사용합니다.
    
    $C2_IP = "127.0.0.1" # 테스트 중에 실제 외부 트래픽을 피하기 위해 로컬호스트를 사용합니다
    $C2_PORT = 9089
    
    Write-Host "빌드 프로세스 네트워크 활동 시뮬레이션 중..." -ForegroundColor Cyan
    try {
        $client = New-Object System.Net.Sockets.TcpClient
        $beginConnect = $client.BeginConnect($C2_IP, $C2_PORT, $null, $null)
        $success = $beginConnect.AsyncWaitHandle.WaitOne(1000, $false)
    
        if ($success) {
            Write-Host "연결 성공! 텔레메트리가 생성되어야 합니다." -ForegroundColor Green
            $client.EndConnect($beginConnect)
        } else {
            Write-Host "연결 실패 (리스너가 활성화되지 않은 경우 예상됨), 하지만 여전히 시도가 텔레메트리로 표시되어야 합니다." -ForegroundColor Yellow
        }
        $client.Close()
    } catch {
        Write-Host "시뮬레이션 중 오류: $($_.Exception.Message)" -ForegroundColor Red
    }
  • 정리 명령:

    # 스크립트에 의해 지속적인 변경은 없습니다; 그러나 로컬 리스너가 중지되었는지 확인합니다.
    # 테스트를 위해 리스너를 시작한 경우, 다음을 사용하십시오:
    Stop-Process -Name "nc" -ErrorAction SilentlyContinue
    Write-Host "정리 완료." -ForegroundColor Green