CVE-2024-YIKES를 검색하면 이 글 내용을 AI로 재작성해 놓고 완전히 진지한 척하는 AI 잡글 블로그 갤러리도 나옴
nmp
인용된 내용의 “GitHub 별 12개짜리 vulpine-lz4가 cargo 자체의 전이 의존성”이라는 대목이 궁금해서, cargo 빌드에 끼어들 수 있고 이미 build.rs가 있어 눈에 덜 띄는 크레이트를 대충 뽑아봤음: flate2, tar, curl-sys, libgit2-sys, openssl-sys, libsqlite3-sys, blake3, libz-sys, zstd-sys, cc
덤으로 xz2 권한을 얻으면 rustup도 오염시킬 수 있음
그래도 적어도 Cargo.lock은 추적하고 있긴 함
-sys 크레이트는 그냥 바인딩이라 거기서 다른 일을 하면 꽤 수상해 보임
나머지는 alexcrichton 같은 Rust 메인테이너나 rustlang 자체가 소유한 것으로 알고 있음
냉소적이 되기 쉬운 게, 문제와 해법이 지나고 보면 너무 뻔해 보이기 때문임
하지만 오랫동안, 어쩌면 지금도 해커 문화의 신조는 move fast and break things였음 npm 같은 공급망 시스템의 명백한 문제를 고치려는 흐름이 커진 건 좋지만, 에이전트형 개발이 상당 부분 유발하는 새로운 보안 문제의 시대로 들어가는 게 걱정됨
Mythos/Glasswing이 건드리는 거의 모든 것에서 취약점을 드러내는 얘기만이 아니라, 우리가 소프트웨어를 만들고 의존성을 끌어오며 복잡한 시스템에 대한 인간의 사고 모델을 잃어가는 방식이, 사람이 제대로 이해하지 못하는 땜질식 소프트웨어와 인프라를 많이 만들 것 같음
몇 년 뒤 오늘을 돌아보며 우리가 어쩌다 이렇게 순진했는지, 복잡한 시스템을 AI로 다시 만들려는 식으로 문제를 풀지 않으면서 AI 개발의 긴 꼬리를 제대로 대비하지 못했는지 후회하지 않길 바람
그래도 글은 웃겼음
그게 정말 오랫동안 신조였나? 그 끔찍한 문구는 Zuckerberg가 만든 줄 알았음
Fish 애호가로서, 이 문구는 공격받는 동시에 이해받는 느낌이었음: “fish 셸은 악성코드가 아니며, 가끔 그렇게 느껴질 뿐이라는 점을 명확히 해 달라”
셸과는 별개로, “보안팀 인원 증원 요청은 2023년 1분기부터 백로그에 있었다”는 대목도 너무 익숙하게 느껴짐
대안으로는 apt-get이나 dnf로 figlet을 설치한 뒤, /etc/motd 내용을 거대한 ASCII 아트 글꼴의 all your base are belong to us로 덮어쓸 수도 있음
left-justify 메인테이너가 yubikey-official-store.net에서 YubiKey를 받았고, 그 정체가 README에 “lol”이라고 적힌 4달러짜리 USB 드라이브였다는 대목에서 진짜 크게 웃었음
완전 트롤임
맞아, 정말 좋았음
피싱 사이트에서 온 USB 장치를 꽂는 행위 자체가 또 다른 공격 경로라는 점이 마음에 듦
보통 피싱 사이트에서 받는 것보다 훨씬 많은 걸 받은 셈임. 작동하는 USB 드라이브라니!
실제 SCP는 아닌데, 최근 읽은 것 중 가장 SCP 같은 글이었음
아 그렇지, 아주 희귀한 Supply Chain Problem(SCP) 이군
Karen 부분에서 크게 웃었음 :D ;)
예전에 반 친구 프로젝트를 검토하다 받은 make 기반 빌드 스크립트가 생각났는데, 호스트명이 bpavuk을 포함하면 내 홈 폴더에 rm -rf를 시도했음
그게 중학교 1학년 때였음!!
공급망 사고는 정말 골치 아프고 더 잘해야 함
개인적으로 Rust에서는 재단이 몇몇 핵심 크레이트를 지원해서 Rust 언어 본체와 같은 감사 절차를 거치게 하고, 공급망 취약점을 줄이도록 프로젝트에 자금을 지원하는 쪽을 지지함 crates나 npm 같은 시스템을 없애는 게 정답이라고 보진 않음. crates와 npm은 많은 개발자에게 큰 도움이 됨
crates도 rustsec을 포함하려는 노력을 해 왔지만, 그와 별개로 커뮤니티가 작은 의존성을 많이 두는 방식에서 tokio처럼 더 적은 수의 큰 의존성으로 옮겨가면 좋겠음
crates.io에서 가장 인기 있는 크레이트 상당수는 이미 Rust 조직이 제공하는 1차 크레이트임
Rust 크레이트 그래프를 두고 걱정할 때 이 점이 자주 간과됨 crates.io 첫 화면의 다운로드 상위 10개를 보면, Rust 조직이나 Rust 핵심 메인테이너가 만든 게 아닌 것은 base64 크레이트뿐임
가치가 큰 크레이트를 표준 라이브러리로 옮기면 되지 않을까?
그런데 정말 npm과 nmp가 둘 다 필요하긴 한가
솔직히 blessed.rs의 최종 목표가 이거라고 생각했음
“정식 메인테이너는 EuroMillions에서 230만 유로에 당첨되어 포르투갈에서 염소 사육을 알아보는 중”이고, “근본 원인: Kubernets라는 개가 YubiKey를 먹었다”니
아, 그렇지. 고전적인 유명 공격에 당하다니 무책임하네
이른바 “복권 당첨금으로 누군가를 정신없게 만들고, 다른 사람의 반려동물에게 동글을 참을 수 없이 맛있게 보이게 하는” 수법 말이야
사람들은 언제쯤 배울까
Hacker News 의견들
헷갈린 분들을 위해 말하자면, 이 글은 공급망 사고를 다룬 꽤 잘 쓴 픽션임
대충 훑을 때는 진짜인 줄 알고 꽤 걱정돼서 더 집중해서 읽게 됐음 :)
nmp인용된 내용의 “GitHub 별 12개짜리 vulpine-lz4가 cargo 자체의 전이 의존성”이라는 대목이 궁금해서, cargo 빌드에 끼어들 수 있고 이미
build.rs가 있어 눈에 덜 띄는 크레이트를 대충 뽑아봤음:flate2,tar,curl-sys,libgit2-sys,openssl-sys,libsqlite3-sys,blake3,libz-sys,zstd-sys,cc덤으로
xz2권한을 얻으면 rustup도 오염시킬 수 있음그래도 적어도
Cargo.lock은 추적하고 있긴 함-sys크레이트는 그냥 바인딩이라 거기서 다른 일을 하면 꽤 수상해 보임나머지는
alexcrichton같은 Rust 메인테이너나rustlang자체가 소유한 것으로 알고 있음냉소적이 되기 쉬운 게, 문제와 해법이 지나고 보면 너무 뻔해 보이기 때문임
하지만 오랫동안, 어쩌면 지금도 해커 문화의 신조는 move fast and break things였음
npm같은 공급망 시스템의 명백한 문제를 고치려는 흐름이 커진 건 좋지만, 에이전트형 개발이 상당 부분 유발하는 새로운 보안 문제의 시대로 들어가는 게 걱정됨Mythos/Glasswing이 건드리는 거의 모든 것에서 취약점을 드러내는 얘기만이 아니라, 우리가 소프트웨어를 만들고 의존성을 끌어오며 복잡한 시스템에 대한 인간의 사고 모델을 잃어가는 방식이, 사람이 제대로 이해하지 못하는 땜질식 소프트웨어와 인프라를 많이 만들 것 같음
몇 년 뒤 오늘을 돌아보며 우리가 어쩌다 이렇게 순진했는지, 복잡한 시스템을 AI로 다시 만들려는 식으로 문제를 풀지 않으면서 AI 개발의 긴 꼬리를 제대로 대비하지 못했는지 후회하지 않길 바람
그래도 글은 웃겼음
Fish 애호가로서, 이 문구는 공격받는 동시에 이해받는 느낌이었음: “fish 셸은 악성코드가 아니며, 가끔 그렇게 느껴질 뿐이라는 점을 명확히 해 달라”
셸과는 별개로, “보안팀 인원 증원 요청은 2023년 1분기부터 백로그에 있었다”는 대목도 너무 익숙하게 느껴짐
apt-get이나dnf로figlet을 설치한 뒤,/etc/motd내용을 거대한 ASCII 아트 글꼴의 all your base are belong to us로 덮어쓸 수도 있음left-justify 메인테이너가
yubikey-official-store.net에서 YubiKey를 받았고, 그 정체가README에 “lol”이라고 적힌 4달러짜리 USB 드라이브였다는 대목에서 진짜 크게 웃었음완전 트롤임
피싱 사이트에서 온 USB 장치를 꽂는 행위 자체가 또 다른 공격 경로라는 점이 마음에 듦
실제 SCP는 아닌데, 최근 읽은 것 중 가장 SCP 같은 글이었음
Karen 부분에서 크게 웃었음 :D ;)
예전에 반 친구 프로젝트를 검토하다 받은
make기반 빌드 스크립트가 생각났는데, 호스트명이bpavuk을 포함하면 내 홈 폴더에rm -rf를 시도했음그게 중학교 1학년 때였음!!
공급망 사고는 정말 골치 아프고 더 잘해야 함
개인적으로 Rust에서는 재단이 몇몇 핵심 크레이트를 지원해서 Rust 언어 본체와 같은 감사 절차를 거치게 하고, 공급망 취약점을 줄이도록 프로젝트에 자금을 지원하는 쪽을 지지함
crates나npm같은 시스템을 없애는 게 정답이라고 보진 않음.crates와npm은 많은 개발자에게 큰 도움이 됨crates도rustsec을 포함하려는 노력을 해 왔지만, 그와 별개로 커뮤니티가 작은 의존성을 많이 두는 방식에서tokio처럼 더 적은 수의 큰 의존성으로 옮겨가면 좋겠음crates.io에서 가장 인기 있는 크레이트 상당수는 이미 Rust 조직이 제공하는 1차 크레이트임Rust 크레이트 그래프를 두고 걱정할 때 이 점이 자주 간과됨
crates.io첫 화면의 다운로드 상위 10개를 보면, Rust 조직이나 Rust 핵심 메인테이너가 만든 게 아닌 것은base64크레이트뿐임npm과nmp가 둘 다 필요하긴 한가“정식 메인테이너는 EuroMillions에서 230만 유로에 당첨되어 포르투갈에서 염소 사육을 알아보는 중”이고, “근본 원인: Kubernets라는 개가 YubiKey를 먹었다”니
아, 그렇지. 고전적인 유명 공격에 당하다니 무책임하네
이른바 “복권 당첨금으로 누군가를 정신없게 만들고, 다른 사람의 반려동물에게 동글을 참을 수 없이 맛있게 보이게 하는” 수법 말이야
사람들은 언제쯤 배울까
npm이나pip를 안 쓰고 권장 방식인curl ... | bash만 써서 다행임curl | sudo bash지아마추어네