본문 바로가기

전체 글54

git diff가 Binary files differ만 띄울 때, Rust로 만든 OmniDiff로 직접 비교해 보니 PNG 1픽셀과 zip 새 파일은 잡았지만 PDF 숫자 한 글자는 놓쳤습니다 OmniDiff는 Rust로 만든 내용 인식(content-aware) diff 도구로, 코드는 문법 구조로,이미지와 아카이브, 폰트, PDF 같은 바이너리 파일은 안에 든 내용으로 비교해 git difftool이나 외부 diff로 붙여 쓰는 도구입니다. PDF나 이미지, zip을 커밋하면 git diff는 Binary files differ 한 줄만 출력하고,이름 하나 바꾼 리팩터링도 줄 통째 삭제와 추가로 보여 줍니다.11월 1일(KST) 해커뉴스 Show HN에 올라온 OmniDiff가 이를 내용으로 비교한다고 해서 작은 테스트 저장소로 직접 확인했습니다. 11월 2일(KST) Debian 13 박스에서 직접 만든 파일을 비교했습니다.환경은 Intel Xeon 8코어와 메모리 15GB이며,OmniD.. 2026. 11. 2.
크롤링용 헤드리스 브라우저 Lightpanda, 크롬과 같은 스크립트로 100페이지 돌려 보니 최대 1.9배 빠르고 메모리는 12분의 1이었지만 스크린샷은 글자만 나왔습니다 Lightpanda는 Chromium이나 WebKit을 고치지 않고 Zig로 처음부터 새로 만든 헤드리스 브라우저입니다.화면을 그리는 엔진 없이 HTML 파싱과 JavaScript 실행, CDP 서버에 집중하며 크롤링과 AI 에이전트용으로 내세우고 있습니다.JavaScript로 그리는 페이지를 수집하려면 결국 헤드리스 크롬을 띄우게 되는데, 페이지가 늘수록 메모리와 시간이 부담입니다. 11월 1일(KST) GitHub Trending 일간 목록에 오른 Lightpanda가 README에서 크롬보다 훨씬 가볍고 빠르다고 설명해,같은 puppeteer-core 스크립트로 직접 비교한 결과를 정리합니다.실측은 11월 1일(KST) Debian 13 박스에서 진행했으며, CPU는 8코어이고 메모리는 16GB입니.. 2026. 11. 1.
바이브코딩으로 만든 티 나는 화면, Impeccable로 직접 검사해 보니 AI풍 랜딩에서 25건이 나왔고 크림색 배경까지 고쳐야 0건이 됐습니다 바이브코딩으로 랜딩페이지를 만들면 보라 그라데이션, Inter, 알약 모양 버튼처럼 어디서 본 화면이 나오기 쉽습니다.Impeccable은 코딩 에이전트에 디자인 어휘와 검사 도구를 붙여 주는 오픈소스 스킬이고,그 안의 detect 명령은 AI가 만든 화면에서 자주 보이는 티를 규칙으로 찾아내는 탐지기입니다. 10월 30일(KST) GitHub Trending 상위에 오른 Impeccable이 이 티를 API 키 없이 잡는다고 해서 직접 돌려 본 기록입니다.검사는 10월 31일(KST) Debian 13 박스에서 impeccable 4.8.0으로 버전을 고정하고,실습 폴더에만 설치한 뒤 의도적으로 AI 디자인 특징을 넣은 화면과 수정본을 비교하는 방식으로 진행했습니다. 결론부터규칙: --list-rule.. 2026. 11. 1.
클로드코드 확장 백도어 사태, Cursor 악성 버전 흔적을 점검 스크립트로 직접 잡아 보니 주석보다 키 지문 확인이 필요했습니다 authorized_keys는 이 파일에 들어 있는 공개키의 개인키를 가진 사람이,비밀번호 없이 이 계정으로 SSH 로그인할 수 있게 허락하는 목록입니다. 10월 31일(KST) 해커뉴스 첫 페이지에 'Backdoor in Claude Code for VS Code extension on the Cursor Marketplace'가 올라왔습니다.Cursor(커서AI) 마켓플레이스의 클로드코드 확장 Anthropic.claude-code 2.1.312와 2.1.313이 악성 버전이었고,Anthropic이 만든 버전이 아니라는 내용입니다. 확장은 지우면 끝일 것 같지만, Cursor 공지는 확장 삭제만으로 부족하다고 안내합니다.LiteLLM 악성코드 사태 정리 글처럼 설치 한 번으로 실행되는 공급망 공격이라.. 2026. 11. 1.
eMudhra SSL인증서 유출, git과 curl, 파이썬, Node를 직접 점검해 보니 기본 설정은 모두 거부했고 옛 certifi와 Node 내장 저장소는 믿었습니다 SSL인증서는 접속한 서버가 진짜 그 도메인의 서버라는 것을 CA가 서명으로 보증하는 파일입니다.클라이언트는 자기 신뢰 저장소에 있는 루트 인증서까지 서명이 이어지는지 확인합니다. 10월 28일 해커뉴스에 'Apple's git still trusts the compromised eMudhra certificates'가 올라왔습니다.eMudhra 중간 인증서 8개의 개인키가 유출됐고, 브라우저에는 차단 조치가 적용됐다는 내용입니다. 서버에서 쓰는 git, curl, 파이썬, Node는 각자 다른 신뢰 저장소를 쓸 수 있습니다.브라우저의 차단만으로 판단하기 어려워, 10월 29일(KST) Debian 13 박스에서 직접 점검했습니다. 결론부터박스 기본 설정: git, curl, 파이썬 urllib, Nod.. 2026. 11. 1.
JIT 컴파일러란? 파이썬 JIT를 직접 켜서 재보니 3.14는 느려지고 3.15는 빨라졌습니다 (곧 빠지는 이유) JIT(Just-In-Time) 컴파일러란 프로그램이 실행되는 도중에 자주 도는 코드를 기계어로 바꿔 두고,다음부터는 그 기계어를 바로 실행하는 방식의 컴파일러입니다.파이썬 기본 구현인 CPython에도 3.13부터 실험 기능으로 JIT가 들어와 있습니다. 10월 26일 Joe Brockmeier의 LWN 기사 제목은 “Python's experimental JIT to be removed”입니다.CPython JIT가 main 브랜치에서 빠질 가능성이 커졌다는 소식이지만,지금 켜면 실제로 빨라지는지는 별도로 확인할 필요가 있습니다.10월 28일(KST), 3.14.9와 3.15.1에서 워크로드 4개를 각각 5회씩 직접 재 보니 버전마다 결과가 달랐습니다. 결론부터3.14.9: JIT를 켜면 4개 워크로.. 2026. 10. 28.
클로드 스킬 설치 전 보안 점검, NVIDIA SkillSpector로 직접 스캔해 봤습니다 (API 키 없이) 클로드 스킬은 Claude Code 같은 에이전트가 필요할 때 불러 쓰는 SKILL.md와 스크립트 묶음입니다.남이 만든 스킬을 설치하는 일은 남의 코드와 지시문을 에이전트 권한째 들이는 일이라 설치 전에 스캔해 볼 이유가 있습니다. 10월 27일(KST) GitHub Trending에는 SkillSpector와 스킬 저장소들이 함께 올라왔습니다.LiteLLM 악성 버전 사태 정리 글에서 다룬 pip 패키지 공급망 문제는 스킬에도 이어집니다.스킬도 공급망의 일부인 만큼 설치 전 점검 도구가 필요하지만,점수 하나를 믿어도 되는지는 실제로 돌려 확인할 필요가 있습니다. 이번에는 API 키 없이 --no-llm 정적 분석만으로 어디까지 잡는지 확인했습니다.실험용 스킬 여섯 개와 공개 저장소 두 곳을 스캔하고,.. 2026. 10. 27.
UML 다이어그램 종류 정리, 주문 서비스 하나로 클래스/시퀀스/유스케이스까지 Mermaid로 직접 그려봤습니다 UML(Unified Modeling Language) 종류를 정의로만 외우면 실제 설계에서는 손이 잘 가지 않습니다.이름은 알아도 어떤 문제 앞에서 어떤 그림을 꺼내야 하는지 연결하기 어렵기 때문입니다.주문 서비스 하나를 여러 관점으로 그려 보면,같은 코드에서도 다이어그램마다 드러내는 정보가 다르다는 점이 보입니다.다이어그램별 정의는 친절한 3님의 UML 다이어그램 종류 및 특징 글에 정리돼 있어서,이번 글은 예제를 직접 그리고 실행 결과와 비교하는 쪽에 집중합니다. 결론부터구조와 행위: 정적인 관계를 보는 그림과 시간에 따른 동작을 보는 그림으로 구분우선 그려 볼 다섯 가지: 클래스, 시퀀스, 유스케이스, 액티비티, 상태 다이어그램Mermaid 유스케이스: 전용 문법이 없어 flowchart로 대체 .. 2026. 10. 26.
컨텍스트 엔지니어링이란? 대화가 길어지면 AI가 지시를 무시하는 이유, 로컬 LLM으로 직접 재봤습니다 컨텍스트 엔지니어링이란 LLM이 답을 만들 때 보는 Context Window 안에 무엇을, 얼마나, 어떤 순서로 넣을지 설계하는 일입니다.프롬프트 엔지니어링이 한 번의 지시문을 잘 쓰는 법이라면,컨텍스트 엔지니어링은 시스템 프롬프트, 도구 정의, 대화 기록, 검색 결과까지 모델이 보는 전체를 관리하는 일입니다. 10월 24일 게시된 Drew Breunig의 「The State of Context Engineering」이 HN 1면에 올라왔습니다.그 글에 인용된 「Do as I Say, Not as I Do」는 지시를 줘도 기록 속 예시를 따라가는 현상을 다룹니다.이번 글에서는 이 실험을 로컬 소형 모델로 축소 재현해 보면서,지시를 한 번 써 두는 것보다 그 뒤에 무엇이 쌓이는지가 답을 더 크게 좌우하는.. 2026. 10. 26.
Brotli 취약점 CVE-2026-111497(HTTP2Shell), 내 Node.js와 파이썬 환경 직접 점검해 봤습니다 Aikido의 “Node2Shell evolves to HTTP2Shell” 글이 HN 1면에 오르고,google/brotli가 GitHub Trending에 오르면서 Brotli 압축 해제 경로가 점검 대상으로 떠올랐습니다.처음에는 Node.js 문제인 Node2Shell로 알려졌지만, 파이썬 패키지와 HTTP 라이브러리 전반으로 범위가 넓어지면서 HTTP2Shell로 이어졌습니다.실행 중인 환경의 영향 여부를 확인하는 기준과 패치 전에 차단할 동작을 실습 결과로 정리합니다. 결론부터Node.js: Brotli 문자열 대신 런타임 버전으로 수정 여부 판단 필요파이썬: 가상환경에 설치된 Brotli와 brotlicffi 버전 확인 필요임시 조치: br 자동 해제 중단 또는 선택 의존성 패키지 제거 필요배.. 2026. 10. 25.