패치가 공격 설계도가 되는 시대: 오라클이 Release Update 즉시 적용을 요구한 이유

2026년 8월 18일 오라클이 19c와 26ai 고객 전체에 분기 Release Update를 나오는 즉시 테스트하고 적용하라고 권고했습니다. 배경은 AI 모델이 취약점 발견뿐 아니라 보안 패치의 리버스 엔지니어링과 공격 경로 개발까지 빠르게 해낸다는 판단입니다. 같은 주에 나온 8월 CSPU는 943개 패치였습니다. 패치 공개가 곧 정보 공개가 되는 구조를 짚습니다.

2026년 8월 25일

병렬 집계는 왜 절반만 병렬인가: 공유 해시 테이블 실험이 남긴 청구서

PostgreSQL의 병렬 집계는 워커가 부분 집계를 하고 리더 하나가 합치는 구조입니다. 그룹이 많으면 그 합치는 단계가 병목이 됩니다. pgEdge의 Andrei Lepikhov가 DSM 공유 해시 테이블로 이 단계를 없애 보고 균등 분포에서 4.8배를 얻었지만, skew에서 0.04배까지 무너졌습니다. 500만 그룹 쿼리로 병목을 직접 재 보고, 프로세스 모델이 어디서 값을 청구하는지 정리합니다.

2026년 8월 25일

pg_shmemviz: PostgreSQL 공유 메모리를 바이트와 구조체로 열어 본다

pg_walviz를 만든 Bertrand Drouvot이 이번엔 공유 메모리를 열었습니다. pg_shmem_allocations가 이름과 크기까지만 보여 주는 자리에서, pg_shmemviz는 DWARF 디버그 정보로 C 구조체의 필드 오프셋과 컴파일러 padding, NUMA 페이지 배치까지 브라우저에서 보여 줍니다. 개발용 도구이고 운영 인스턴스에서는 쓰면 안 된다는 조건이 붙습니다.

2026년 8월 24일

Claude Code Concise 출력 스타일: 서론을 지우면 무엇이 남나

v2.1.237에 내장 Concise 출력 스타일이 들어왔습니다. 결과부터 말하고 서론과 진행 설명을 빼되 작업 깊이는 유지한다는 스타일입니다. 출력 스타일이 CLAUDE.md와 어디서 갈라지는지, 시스템 프롬프트를 건드린다는 게 프롬프트 캐시와 서브에이전트에 무슨 뜻인지, 그리고 같은 주에 들어온 사용량 한도 자동 재개까지 정리합니다.

2026년 8월 24일

computer use, Skills API, Files API 정식 출시: 에이전트가 소프트웨어를 조작하기 시작한다

2026년 8월 20일 Claude 플랫폼에서 computer use, Skills API, Files API가 정식 출시됐습니다. computer use는 turn당 여러 동작을 묶어 실행하게 바뀌고 웹 전용 browser use tool이 새로 붙었으며, Skills는 버전 관리되는 저장 객체가 됐습니다. 도구 식별자와 beta 헤더, 그리고 Skills를 Managed Agents와 혼동하기 쉬운 지점까지 정리합니다.

2026년 8월 24일

모니터링이 침입 경로가 될 때: PMM의 Grafana ClickHouse 데이터소스 권한 문제

Percona Monitoring and Management 3.9.0 이하에서 Grafana의 ClickHouse 데이터소스가 SOURCES 권한을 전부 가진 기본 신원으로 연결돼 있었습니다. Viewer 권한만 있어도 임의 SQL을 넣을 수 있고, url() 함수로 AWS 메타데이터까지 이어지는 경로가 나옵니다. CVSS 8.7이고 3.9.1에서 수정됐습니다. ClickHouse의 SOURCES 권한이 실제로 무엇을 여는지 직접 확인했습니다.

2026년 8월 24일

초당 12비트로 새어 나온 JWT: Cloudflare Workers에서 다시 열린 Spectre

Cloudflare가 자사 Workers 프로덕션 환경에서 원격 Spectre 공격을 재현한 연구를 공개했습니다. WebSocket으로 받은 타임스탬프만으로 초당 12비트, 정확도 99% 이상으로 다른 테넌트의 JWT를 읽어 냈습니다. 프로세스 대신 V8 isolate로 수만 테넌트를 나누는 구조가 어떤 대가를 치르는지, 2021년 방어가 왜 이 공격을 놓쳤는지, 그리고 새로 붙인 V8 샌드박스와 MPK가 무엇을 막는지 정리합니다.

2026년 8월 24일

UUID v7을 primary key로: index 37MB가 30MB가 되는 이유

UUID v4는 값이 완전히 무작위라 B-tree leaf page를 흩어 놓습니다. 상위 비트에 타임스탬프를 담는 UUID v7은 그 문제를 없앱니다. PostgreSQL 18에 내장된 uuidv7()로 100만 행을 넣어 bigserial, v4, v7 세 가지의 index 크기와 leaf 밀도를 직접 재 봤고, 원문 수치가 그대로 재현됐습니다. 대신 생성 시각이 공개된다는 대가가 붙습니다.

2026년 8월 24일

timezone을 고쳤는데 왜 UTC가 섞여 나오나: PgBouncer와 Patroni 사이의 캐시

Oracle에서 Patroni 클러스터로 마이그레이션한 뒤 애플리케이션 로그에 올바른 타임스탬프와 UTC 타임스탬프가 섞여 나온 사례입니다. 원인은 두 겹이었습니다. ALTER SYSTEM으로 넣은 설정이 Patroni 재시작에 살아남지 못한 것과, PgBouncer가 startup parameter를 캐시한 것입니다. 클라이언트가 넘긴 startup parameter가 서버 설정을 어떻게 이기는지 직접 확인했습니다.

2026년 8월 24일

pgvector 이진 양자화: index 104MB가 10MB가 되는 대신 무엇을 내주나

AWS가 Aurora PostgreSQL에서 pgvector index를 이진 양자화로 압축해 1억 벡터 index를 367GB에서 38GB로 줄인 사례를 냈습니다. float32를 부호 1비트로 줄이는 방식인데, 벡터 자체는 32배 줄어도 index는 10배 정도만 줄어듭니다. 왜 그런지, 재순위화가 왜 필수인지, 그리고 pgvector 0.8.6으로 직접 재 본 수치를 정리합니다.

2026년 8월 24일