container image signing과 scan 결과 해석
컨테이너 이미지 서명과 취약점 스캔 결과를 혼동하지 않도록 digest, 서명 검증, SBOM, CVE 판정 기준을 분리해 정리한다.
AI coding agent 운영·검증·보안, 보안 분석, Rust, DevOps를 다루는 기술 블로그입니다. Codex, Claude Code, AGENTS.md, CLAUDE.md, MCP, hooks, permissions/settings, token/context 관리와 실무 기반 글을 한국어와 영어로 정리합니다.
Codex와 Claude Code를 코드 생성기가 아니라 권한, 검증, 작업 요청, 프로젝트 지침으로 운영하는 글을 먼저 배치했다.
Rust, DevOps, Security 대표 글은 아래 트랙으로 분리했다.
컨테이너 이미지 서명과 취약점 스캔 결과를 혼동하지 않도록 digest, 서명 검증, SBOM, CVE 판정 기준을 분리해 정리한다.
AI coding agent 보안 위협 모델 입문에 대해 공식 문서와 운영 관점으로 확인할 기준, 점검 순서, 한계를 정리한 글.
CI/CD secret leak 방지 기준에 대해 공식 문서와 운영 관점으로 확인할 기준, 점검 순서, 한계를 정리한 글.
MCP 연결 전 데이터 노출 점검에 대해 공식 문서와 운영 관점으로 확인할 기준, 점검 순서, 한계를 정리한 글.
SBOM, SLSA, provenance 입문에 대해 공식 문서와 운영 관점으로 확인할 기준, 점검 순서, 한계를 정리한 글.
tool call 권한을 task 단위로 제한하기에 대해 공식 문서와 운영 관점으로 확인할 기준, 점검 순서, 한계를 정리한 글.
GitHub Actions 보안 체크리스트에 대해 공식 문서와 운영 관점으로 확인할 기준, 점검 순서, 한계를 정리한 글.
prompt injection을 하네스 문제로 보기에 대해 공식 문서와 운영 관점으로 확인할 기준, 점검 순서, 한계를 정리한 글.
Kubernetes RBAC 최소 권한 입문에 대해 공식 문서와 운영 관점으로 확인할 기준, 점검 순서, 한계를 정리한 글.
하네스 관점의 guardrail과 approval 경계에 대해 공식 문서와 운영 관점으로 확인할 기준, 점검 순서, 한계를 정리한 글.
Kubernetes 장애 대응: describe, events, logs에 대해 공식 문서와 운영 관점으로 확인할 기준, 점검 순서, 한계를 정리한 글.
공식 문서를 기준으로 agent trace에 남겨야 할 입력 출처, 권한, tool call, guardrail, approval, verification 기록 기준을 정리한다.
온프렘 Kubernetes에서 LoadBalancer와 persistent storage 공백을 이해하기 위해 MetalLB와 OpenEBS의 역할을 정리한 글.
Kubernetes persistent storage의 기본 object인 PV, PVC, StorageClass의 관계를 운영 흐름으로 설명한 글.
Kubernetes에서 resource requests, limits, liveness/readiness/startup probe를 함께 이해해야 하는 이유를 정리한 글.
Kubernetes manifest에서 설정, 민감 정보, 외부 HTTP 진입점을 분리해서 작성하는 기본 흐름을 정리한 글.
Kubernetes manifest의 기본 필드와 Pod, Deployment, Service 예제를 처음 쓰는 순서로 정리한 글.
kubeadm join으로 worker node를 붙이고 CNI와 기본 cluster 상태를 확인하는 흐름을 정리한 글.
kubeadm init 이후 kubeconfig, Pod network, control plane 상태를 어떤 순서로 확인해야 하는지 정리한 글.
온프렘 Kubernetes 학습에서 kubeadm을 기준선으로 삼는 이유와 설치 전 확인해야 할 조건을 정리한 글.
Kubernetes의 Pod, Deployment, ReplicaSet, Service를 개별 암기보다 운영 흐름으로 연결해 설명한 글.
Kubernetes를 컨테이너 실행 도구가 아니라 원하는 상태를 맞추는 cluster 운영 시스템으로 이해하는 글.
Jenkins가 Docker 이미지를 만들고 Kubernetes가 원하는 상태를 맞추는 구조로 CI/CD 경계를 나누는 글.
Jenkins 빌드 실패가 났을 때 queue, agent, credential, plugin, Pipeline 중 어디서 먼저 원인을 좁힐지 정리한 운영용 트러블슈팅 가이드.
Jenkins Pipeline에서 Docker 이미지를 빌드하고 registry로 push할 때 tag, credential, agent 경계를 정리한 글.
Jenkinsfile에서 환경 변수, 사용자 입력값, 조건부 stage 실행을 다루는 기본 기준을 정리한 글.
Jenkinsfile을 처음 읽는 사람이 agent, stages, steps, post 블록을 실행 흐름 기준으로 구분하는 방법을 정리한 글.
Jenkins Declarative Pipeline을 Scripted Pipeline과 구분하고 초급자가 먼저 익혀야 할 이유를 설명한 글.
Jenkins Freestyle Job과 Pipeline을 UI 설정과 코드 기반 자동화라는 관점에서 비교한 글.
Jenkins plugin, credentials, tools를 편의 기능이 아니라 운영 표면으로 보고 관리 기준을 정리한 글.
Docker로 Jenkins를 실행하고 초기 비밀번호, 플러그인 선택, 관리자 계정, Jenkins URL, 오류 대응까지 확인하는 설치 절차.
Jenkins를 Git, Docker 이후의 CI/CD 자동화 도구로 이해하고 controller, agent, plugin, Pipeline의 역할을 정리한 글.
Pull request와 merge request를 Git branch 협업 흐름 위에서 이해하고 리뷰 기준을 정리한 글.
Git tag, GitHub release, Docker image tag를 구분하고 배포 이력으로 연결하는 기준을 정리한 글.
Git rebase와 squash가 history를 어떻게 바꾸는지, force push를 언제 조심해야 하는지 정리한 글.
Git merge conflict가 왜 발생하는지와 status, 파일 수정, add, commit으로 해결하는 기본 절차를 정리한 글.
Git 원격 저장소 흐름을 remote, fetch, pull, push 명령의 역할별로 나눠 정리한 글.
Git branch와 merge를 폴더 복사본이 아니라 개발 흐름과 이력 연결 관점에서 이해하는 글.
Git의 기본 변경 흐름을 status, diff, add, commit, log 명령으로 나눠 초급자 관점에서 정리한 글.
Git이 commit, index, working tree를 어떻게 다루는지와 Git이 자동으로 보장하지 않는 영역을 초급자 관점에서 정리한 글.
Claude Code를 프로젝트에 적용할 때 CLAUDE.md, AGENTS.md, rules, skills, settings, hooks, MCP, subagent 기준을 묶은 운영 템플릿.
Claude Code subagent를 언제 쓰고 언제 쓰지 말아야 하는지 판단하는 기준.
Claude Code에서 긴 로그, 이슈, auto memory를 문맥 예산 안에서 다루는 기준.
Claude Code에서 긴 외부 자료를 붙여 넣는 대신 MCP로 필요한 문맥을 연결하는 운영 기준.
Claude Code hooks를 검증, 차단, 완료 보고 점검에 사용하는 운영 기준을 정리한 글.
Claude Code에서 자연어 지시와 settings, permissions의 책임을 나누어 작업 경계를 고정하는 방법.
Claude Code에서 CLAUDE.md, .claude/rules, skills의 책임을 나누어 instruction loading을 관리하는 방법.
AGENTS.md를 이미 쓰는 저장소에서 Claude Code의 CLAUDE.md를 중복 없이 연결하는 방법.
Claude Code의 CLAUDE.md에 무엇을 넣고 무엇을 rules, skills, settings로 내려야 하는지 정리한 글.
Claude Code를 기능 목록이 아니라 CLAUDE.md, rules, skills, settings, hooks, MCP, subagent가 만드는 운영 구조로 이해하기 위한 첫 기준.
Codex를 실제 프로젝트에 적용할 때 작업 요청, AGENTS.md, config, skill, subagent 기준을 하나로 묶은 운영 템플릿.
Codex subagent를 병렬성과 전문화가 실제 이득을 줄 때만 사용해야 하는 이유와 판단 기준을 정리한 글.
Codex에서 반복되는 작성, 리뷰, 릴리스 절차를 skill로 분리해 표준화하는 기준을 설명한 글.
Codex 반복 작업에서 모델, 권한, sandbox, MCP 같은 설정을 config로 고정해야 하는 이유를 정리한 글.
복잡한 Codex 작업을 바로 수정하지 않고 계획, 위험, 검증 방법부터 정리하게 하는 운영 방식을 설명한 글.
좋은 AGENTS.md가 길어지면 왜 토큰 비용, 중복 지시, 책임 혼합이 커지는지 설명한 글.
Codex용 AGENTS.md에 저장소 목적, 우선 확인 경로, 작업 원칙, 검증 기준을 어떻게 담을지 설명한 글.
Codex 첫 작업 요청에 목표, 범위, 제약, 완료 기준, 검증 방법을 어떻게 담아야 하는지 정리한 글.
168K stars를 받은 Everything Claude Code 저장소를 코드 구조, Claude Code 공식 확장 방향, 외부 글과 보안 이슈를 기준으로 정리한다.
Codex 결과를 안정화하려면 좋은 요청뿐 아니라 프로젝트 규칙, 권한, 검증 구조가 필요한 이유를 설명한 글.
Codex를 단순 코드 생성기가 아니라 저장소 작업을 수행하는 에이전트로 다뤄야 하는 이유를 정리한 글.
Docker registry, repository, tag, push 흐름과 배포용 이미지 관리 기준을 초급자 관점에서 정리한 글.
하네스 엔지니어링의 공통 원칙은 유지하되, Codex와 Claude Code의 문맥 소비 방식 차이에 맞춰 토큰 관리 전략을 어떻게 조정해야 하는지 설명한 글.
Docker build cache가 어떻게 재사용되고 언제 invalidation되는지, Dockerfile 순서가 왜 중요한지 정리한 글.
토큰 절약에서 중요한 것은 무조건 삭제가 아니라, 핵심 정보를 보존한 채 정보 밀도와 우선순위를 높이는 압축이라는 점을 설명한 글.
Dockerfile, WORKDIR, CMD, ENTRYPOINT, build context, .dockerignore를 초급자 관점에서 정리한 글.
전체 히스토리 대신 현재 작업을 직접 제어하는 working state를 어떻게 설계해야 하는지 설명한 글.
Docker image, layer, tag, digest의 차이와 배포 시 무엇을 가변 값으로 두고 무엇을 고정해야 하는지 정리한 글.
로그, 계획, 메모리, 이전 대화가 왜 agent 컨텍스트를 비대하게 만들고 실행 품질을 떨어뜨리는지 구조적으로 설명한 글.
Docker 컨테이너를 VM과 비교하면서 이미지, writable layer, volume, bind mount까지 초급자 관점으로 정리한 글.
AGENTS.md, CLAUDE.md, 시스템 프롬프트가 왜 쉽게 비대해지고 토큰 낭비와 실행 품질 저하를 함께 만드는지 구조적으로 설명한 글.
지금까지 배운 Rust 기초를 묶어 작은 word counter CLI를 만드는 실전 가이드.
토큰 관리를 비용 절약이 아니라 agent 시스템의 안정성, 지연, 문맥 제어 문제로 설명한 글.
serde, serde_json, toml로 Rust 타입과 JSON/TOML 데이터를 직렬화·역직렬화하는 기초 가이드.
문서 중심 운영에서 관측 가능한 하네스로 옮겨 가는 실전 전환 로드맵을 정리한 글.
std::fs::read_to_string, write, std::env::args, Result를 이용해 파일과 CLI 입력을 다루는 Rust 가이드.
approval 경계와 guardrail이 비어 있을 때 agent 시스템이 흔들리는 이유를 다루는 글.
cargo test, unit test, integration test, assert_eq!, Result 반환 테스트를 익히는 Rust 테스트 입문 가이드.
결과만으로는 부족하고 trace가 필요한 이유를 운영, 디버깅, 평가 관점에서 설명한 글.
Cargo 프로젝트에서 crate, package, main.rs, lib.rs, mod, use, pub 구조를 익히는 Rust 가이드.
자연어 원칙을 실제 시스템 규칙과 강제 장치로 옮기는 방법을 다루는 글.
Vec, String, &str, HashMap를 예제로 익히고 단어 빈도 수 예제로 연결하는 Rust 기초 가이드.
멀티에이전트 구성이 항상 정답이 아닌 이유와 단일 에이전트 기준선을 설명한 글.
module, smart pointer, concurrency, async를 예제로 익히는 Rust 기초 가이드.
build와 test만으로 agent 작업을 검증하기 어려운 이유와 추가 검증 계층을 설명한 글.
generics, error handling, closure, iterator를 예제로 익히는 Rust 기초 가이드.
handoff를 자유 서술이 아니라 schema 기반 계약으로 바꾸는 이유와 설계 포인트를 정리한 글.
struct, enum, pattern matching, trait을 예제로 익히는 Rust 기초 가이드.
프로젝트 지침 파일이 어디까지 책임져야 하는지와 하네스와의 경계를 다루는 글.
하네스 엔지니어링을 AI 주변의 도구, 권한, 검증 구조 설계라는 관점에서 설명한 글.
AI 코딩 도구를 바꿀 때 결과가 달라지는 이유를 프롬프트 밖의 실행 환경 관점에서 설명한 글.
소유권, 대여, 수명 규칙을 예제로 설명하는 Rust 기초 가이드.
Rust의 변수, 기본 타입, 제어 흐름, 함수를 예제로 정리한 기초 문법 가이드.
rust-analyzer와 CodeLLDB로 Rust 프로젝트를 디버깅하는 VS Code 실전 가이드.
Windows와 VS Code 기준으로 Rust를 설치하고 Hello World를 실행하는 입문 가이드.
RTF 문서형 악성코드 샘플의 exploit 흐름과 실행 과정을 분석한 글.
매크로 기반 문서형 악성코드 샘플의 실행 흐름과 드로퍼 동작을 분석한 글.