Git 사용법 기초 — 커밋, 되돌리기, 브랜치, 원격 저장소

작업하던 파일을 main_final.py, main_final2.py로 복사해 두다 보면 어느 것이 최신인지 금방 헷갈린다. 며칠 전 동작하던 코드로 돌아가고 싶은데 그 시점의 사본이 없기도 하다. Git은 이 문제를 파일 사본이 아니라 "변경…

Continue ReadingGit 사용법 기초 — 커밋, 되돌리기, 브랜치, 원격 저장소

리눅스 커널 7.3, Rust 툴체인이 있으면 randstruct 기본 해제 — allmodconfig에서 Rust가 사라지던 문제

커널 하드닝 옵션 randstruct와 Rust는 지금까지 한 커널에 함께 들어갈 수 없었습니다. Kconfig에 depends on !RANDSTRUCT가 박혀 있어 둘 중 하나를 켜면 다른 하나가 조용히 꺼집니다. 문제는 이 규칙이 커널의…

Continue Reading리눅스 커널 7.3, Rust 툴체인이 있으면 randstruct 기본 해제 — allmodconfig에서 Rust가 사라지던 문제

TeamPCP 공급망 공격 용의자 기소 — Trivy·KICS·LiteLLM을 타고 번진 자격증명 50만 건

오픈소스 공급망 공격 사건 하나가 5개월 만에 체포로 이어졌습니다. 호주연방경찰(AFP)은 8월 26일 웨스턴오스트레일리아 세 곳에서 압수수색을 집행하고, 다음 날 20대 남성 두 명을 퍼스 치안법원에 세웠습니다. 두 사람에게 적용된 혐의는…

Continue ReadingTeamPCP 공급망 공격 용의자 기소 — Trivy·KICS·LiteLLM을 타고 번진 자격증명 50만 건

Python pty 모듈로 대화형 CLI 자동화하기

subprocess로 ssh에 비밀번호를 흘려넣으면 실패한다. 프로그램이 stdin이 아니라 제어 터미널에서 비밀번호를 읽기 때문이다. 같은 이유로 파이프에 물린 자식은 출력 버퍼링이 달라져 진행 상황이 실시간으로 안 보이고, bash -i는 프롬프트조차 띄우지…

Continue ReadingPython pty 모듈로 대화형 CLI 자동화하기

Ubuntu 24.04에서 auditd로 파일 변경과 명령 실행 감사하기

서버에서 /etc/passwd가 언제 바뀌었는지는 파일 mtime으로 알 수 있지만, 누가 어떤 명령으로 바꿨는지는 알 수 없다. journald에는 sudo를 거친 명령만 남고, 공격자가 이미 root 셸을 얻었다면 그마저도 남지 않는다. 리눅스…

Continue ReadingUbuntu 24.04에서 auditd로 파일 변경과 명령 실행 감사하기

LWN Weekly Report: 2026년 8월 27일 주요 뉴스

이번 주 LWN.net 위클리 에디션 주요 내용이다. Software Freedom Conservancy가 FOSSY 2026에서 Bambu Lab의 AGPLv3 위반을 정면으로 다뤘는데, 회사가 쓰는 우회 수법이 정확히 AGPL이 막으려고 만들어진 그것이라는 점이 흥미롭다. Linux…

Continue ReadingLWN Weekly Report: 2026년 8월 27일 주요 뉴스

QEMU(arm64) 임베디드 리눅스 타깃 만들기 (6) — 커널 모듈, gdb 원격 디버깅, NFS 루트

4편까지 오면 타깃은 완성됐다. 남은 것은 이 타깃을 실제 개발에 쓰는 방법이다. 실물 보드에서 하던 일 — 드라이버를 고쳐 올리고, 부팅이 이상하면 붙잡아 들여다보고, 빌드 결과를 매번 굽지 않고 바로…

Continue ReadingQEMU(arm64) 임베디드 리눅스 타깃 만들기 (6) — 커널 모듈, gdb 원격 디버깅, NFS 루트

QEMU(arm64) 임베디드 리눅스 타깃 만들기 (5) — Yocto로 타깃 이미지 빌드

1편부터 4편까지는 디스크 이미지를 자르고, U-Boot을 빌드하고, 커널을 컴파일하고, 루트 파일 시스템을 손으로 채웠다. 제품용 타깃이라면 이 과정을 재현 가능하게 자동화해야 하는데, 그 자리에 쓰는 것이 Yocto다. 레시피와 설정 파일에서…

Continue ReadingQEMU(arm64) 임베디드 리눅스 타깃 만들기 (5) — Yocto로 타깃 이미지 빌드