Security

8 posts
GitHub Secret Scanning으로 유출된 비밀 정보 잡아내기

GitHub Secret Scanning으로 유출된 비밀 정보 잡아내기

소스 코드 저장소에 API 키나 토큰이 실수로 들어간 적, 한 번쯤 있으시죠? 당장 git rm으로 지우고 강제 푸시를 해도 깃 히스토리에는 흔적이 남고, 공개 저장소라면 봇이 몇 분 안에 그 키를 긁어가 버립니다. 악의적인 사용자가 발견하기 전에 깃허브가 먼저 찾아서 알려주면 좋겠다는 생각이 절로 들죠. 이번 글에서는 깃허브가 무료로 제공하는 Secret Scanning 기능이 어떻게 동작하고, 푸시 시점부터 사후 알림까지 어떤 방어선을 쌓아주는지 정리해 보겠습니다. Secret Scanning이 푸는 문제 비밀 정보가 저장소로

1Password CLI(op) 사용법: 터미널에서 비밀번호와 시크릿 관리하기

1Password CLI(op) 사용법: 터미널에서 비밀번호와 시크릿 관리하기

개발하다 보면 API 키, 데이터베이스 비밀번호, 토큰 같은 시크릿(secret)을 다룰 일이 정말 많죠. .env 파일에 평문으로 저장하자니 불안하고, 팀원이랑 공유하려고 슬랙으로 보내자니 그것도 영 찝찝합니다 😅 1Password는 이미 많은 개발자가 비밀번호 관리 도구로 사용하고 있는데요. 사실 1Password에는 op라는 공식 CLI 도구가 있어서 터미널에서도 1Password 볼트에 저장된 시크릿을 자유롭게 다룰 수 있습니다. 환경 변수에 시크릿을 주입하거나, 스크립트에서 비밀번호를 안전하게 참조하거나, SSH 키 관리

클로드 코드 시큐리티: AI가 코드의 보안 취약점을 찾아준다면

클로드 코드 시큐리티: AI가 코드의 보안 취약점을 찾아준다면

소프트웨어 보안은 늘 개발자들의 골칫거리입니다. 코드 리뷰를 하고, 정적 분석 도구를 돌리고, 보안 감사를 받아도 취약점은 끊임없이 발견되죠. 특히 비즈니스 로직 결함이나 복잡한 접근 제어 문제는 기존 도구로는 잡아내기가 정말 어렵습니다. Anthropic이 최근 발표한 Claude Code Security는 이 문제에 완전히 다른 방식으로 접근합니다. 패턴을 매칭하는 게 아니라 코드를 읽고 추론해서 취약점을 찾아내는 거죠. 보안 취약점, 왜 이렇게 잡기 어려울까 소프트웨어 업계에서 보안 취약점은 만성적인 문제입니다. 취약점은 너무

클로드 코드 샌드박스: OS 레벨 격리로 안전하게 코딩하기

클로드 코드 샌드박스: OS 레벨 격리로 안전하게 코딩하기

클로드 코드를 써보셨다면 "이 명령어를 실행해도 될까요?"라는 팝업이 익숙하실 겁니다. 처음엔 안전장치니까 반갑지만 반복되면 점점 피로해지죠. 결국 내용을 대충 훑고 승인 버튼을 누르게 되는데 이러면 오히려 보안에 취약해집니다. Claude Code의 샌드박스는 이 문제를 해결합니다. 명령어를 일일이 검사하는 대신 OS 레벨에서 실행 환경 자체를 격리해서 안전한 경계 안에서는 자유롭게, 경계 밖으로는 절대 못 나가게 만드는 거죠. 왜 샌드박스가 필요한가 클로드 코드 권한 설정에서 다뤘던 권한 시스템은 "이 도구를 써도 되는가?"를

클로드 코드 권한 모드: 매번 확인부터 완전 자동까지

클로드 코드 권한 모드: 매번 확인부터 완전 자동까지

클로드 코드를 쓰다 보면 "이 파일을 수정해도 될까요?", "이 명령어를 실행해도 될까요?" 하는 승인 팝업이 끊임없이 뜹니다. 한두 번이면 괜찮지만 리팩토링처럼 파일을 수십 개씩 고치는 작업에서는 클릭 노동이 되죠. 반대로 CI/CD 파이프라인에서는 묻더라도 답할 사람이 없습니다. 😅 이처럼 상황마다 필요한 자율성이 다릅니다. 탐색만 할 때는 코드를 건드리지 못하게 막고 싶고, 빌드를 돌릴 때는 편하게 허용하고 싶죠. 클로드 코드의 권한 모드가 이 스펙트럼을 조절해 줍니다. 권한 설정이 "무엇을 허용/차단할까"를 정한다면, 권한

클로드 코드 권한 설정

클로드 코드 권한 설정

클로드 코드를 쓰다 보면 가장 자주 마주치는 것이 "이 명령어를 실행해도 될까요?"라는 권한 요청 팝업입니다. 처음에는 안전장치로 느껴지지만 매번 답하다 보면 꽤 성가시죠. 이 글에서는 클로드 코드의 권한 시스템을 속속들이 파헤쳐서 안전하면서도 흐름이 끊기지 않는 환경을 만드는 방법을 알아보겠습니다. 권한 시스템의 기본 구조 클로드 코드는 도구 종류에 따라 세 단계의 기본 권한 정책을 적용합니다. | 도구 유형 | 예시 | 승인 필요 | "다시 묻지 않기" 범위 | | ----------- | ---------------------

CORS (Cross-Origin Resource Sharing) 완벽 가이드

CORS (Cross-Origin Resource Sharing) 완벽 가이드

웹 개발자라면 한 번쯤은 CORS 문제 때문에 골치아팠던 적이 있으시죠? Cross-Origin Resource Sharing, 줄여서 CORS는 웹 페이지가 다른 도메인의 리소스에 안전하게 접근할 수 도와주는 브라우저의 기능입니다. 이번 포스팅에서는 CORS의 기본 개념부터 작동 원리, 요청 흐름 그리고 실제 구현 방법까지 자세히 다루도록 하겠습니다. 동일 출처 정책 CORS를 제대로 이해하려면 우선 브라우저의 기본 보안 기능인 Same-Origin Policy, 즉 동일 출저 정책에 대해서 알고 있어야 합니다. 브라우저는 현재

macOS security 명령어로 키체인 다루기

macOS security 명령어로 키체인 다루기

개발하다 보면 API 키, 데이터베이스 비밀번호, 토큰 같은 민감한 정보를 다룰 일이 많은데요. 이런 값들을 .env 파일이나 설정 파일에 평문으로 저장해두면 실수로 Git에 커밋하거나 다른 사람에게 노출될 위험이 있습니다. macOS에는 이런 민감한 정보를 안전하게 보관할 수 있는 **키체인(Keychain)**이라는 시스템이 내장되어 있는데요. 보통은 키체인 접근(Keychain Access) 앱을 통해 GUI로 사용하지만, 터미널에서 security 명령어를 사용하면 키체인을 훨씬 효율적으로 다룰 수 있습니다. 이번 글에서는

Discord