secret-scanning

5 개의 포스트

gitlab

Claude와 GitLab으로 모든 커밋을 프로덕션까지 안전하게 배포하세요 (새 탭에서 열림)

Claude은 코딩 세션 중 취약점을 발견하고 수정하는 데 유용하지만, 커밋 이후의 병합·의존성·인프라 변경·감사까지 대체할 수는 없다. 글은 Claude Security와 GitLab을 연계해 작성 단계부터 프로덕션 배포까지 보안 검사를 지속하고, 정책을 강제하며, 감사 증거를 자동으로 남기는 방식을 제안한다. Claude가 작성 시점을 담당하고 GitLab이 이후 전체 소프트웨어 공급망을 관리하는 구조다. ## 세션 내 보안 점검에서 강제 가능한 정책으로 - Claude 보안 가이던스 플러그인은 개발자의 코딩 세션 안에서 취약점을 빠르게 찾아 수정하도록 돕는다. - 코드가 세션 밖으로 나간 뒤에는 보안팀이 어떤 검사가 수행됐는지 확인하고 후속 작업을 통제해야 한다. - GitLab 보안 구성 프로필을 사용하면 저장소 외부에서 필요한 스캔을 정의하고 여러 프로젝트와 파이프라인에 일괄 적용할 수 있다. - 병합 요청 승인 정책으로 변경을 작성한 에이전트나 해당 에이전트를 사용한 개발자가 자신의 코드를 직접 승인·병합하지 못하게 할 수 있다. - 해결되지 않은 치명적 취약점이 있는 병합 요청은 지정된 승인자가 승인할 때까지 차단된다. - 취약점 보고서와 보안 대시보드에서 각 취약점이 발견·무시·해결된 상태와 사유를 추적할 수 있다. ## 자동화된 감사 증거와 변경 이력 - SOC 2, PCI DSS, FedRAMP 같은 규정은 에이전트가 작성한 변경도 테스트·검토·승인됐다는 증거를 요구한다. - GitLab은 모든 병합 요청에서 스캔이 실행되도록 보장하고, 결과를 병합 요청과 취약점 보고서에 표시한다. - 파이프라인 로그, 승인 기록, 감사 이벤트를 통해 어떤 변경을 누가 또는 어떤 에이전트가 처리했는지 재현할 수 있다. - 규정 프레임워크별 요구사항에 보안 통제를 매핑할 수 있으며, 각 통제의 통과·대기·실패 상태를 보고서에서 확인할 수 있다. ## 모델로 전송되는 민감 데이터 통제 - 컨텍스트 제외 기능으로 인증 정보, 민감한 파일, 독점 로직, 규제 데이터를 모델에 보내지 않도록 설정할 수 있다. - 자체 관리 환경과 자체 호스팅 모델을 사용하면 코드와 추론 데이터를 조직 경계 안에 둘 수 있다. - 흐름별 허용 모델을 지정하고, 코드가 모델 학습에 사용되지 않도록 제한할 수 있다. - GitLab Duo의 프롬프트 가드레일은 모델에 전달되기 전 코드 제안에서 비밀정보를 탐지한다. - 프롬프트가 접근할 수 있는 콘텐츠를 제한해 프롬프트 인젝션 위험도 줄인다. ## 세션 단위 검사를 넘어선 전체 생명주기 보안 - 세션 기반 검사는 해당 시점의 코드만 다루므로, 이후 공개되는 의존성 취약점이나 이미 커밋된 비밀정보까지 발견하지 못할 수 있다. - GitLab은 다음 영역을 독립적으로 검사한다. - 의존성 취약점 - 컨테이너 이미지 - 인프라스트럭처 코드 - 비밀정보 유출 - 실행 중 애플리케이션에 대한 DAST - 결정론적 스캐너는 동일 코드에 대해 일관된 결과와 CWE 매핑을 제공해 감사에 적합하다. - 반면 비즈니스 로직 오류, 잘못된 권한 검사, 경쟁 조건처럼 일반 스캐너가 놓치기 쉬운 문제는 Security Review Flow가 코드의 의도를 분석해 보완한다. - 글은 Claude의 보안 검사를 인간 코드 리뷰와 다양한 보안 스캐너를 대체하는 수단이 아니라 보조 수단으로 규정한다. ## 사람과 에이전트에 동일한 보안 가드레일 적용 - Claude 플러그인은 Claude가 세션에서 작성·커밋한 코드에 집중한다. - 개발자가 셸에서 직접 작성하거나 세션 내 `!` 셸 이스케이프를 통해 실행한 변경은 플러그인 검토 범위를 벗어날 수 있다. - Claude Security는 개발자나 관리자가 필요할 때 전체 코드베이스 또는 사람이 작성한 코드도 검사할 수 있다. - GitLab의 스캔 실행 정책과 병합 승인 정책은 파이프라인에서 모든 변경에 적용된다. - 따라서 코드 작성자가 사람인지 에이전트인지, 개발자가 별도로 검사를 실행했는지에 관계없이 동일한 통제를 적용할 수 있다. ## 프로덕션에 도달하는 변경 통제 - Claude Security와 GitLab MCP 서버를 연결하면 기존 Claude 기반 개발 흐름을 유지하면서 GitLab의 정책·스캔·감사 기능을 활용할 수 있다. - 모든 기본 브랜치와 대상 프로젝트에 보안 스캔을 강제해 정책 우회를 어렵게 만든다. - 치명적 취약점, 미승인 변경, 누락된 검사 결과가 있는 코드는 배포 전에 차단할 수 있다. - 결과적으로 세션 안의 빠른 AI 보안 지원과 프로덕션 배포 전의 조직 차원 거버넌스를 하나의 흐름으로 결합한다. 실무에서는 Claude를 개발 중 취약점 탐지와 수정에 활용하되, GitLab에서 SAST·의존성·컨테이너·IaC·비밀정보·DAST 스캔과 승인 정책을 중앙 관리하는 구성이 권장된다. 특히 모델에 전송되는 파일을 사전에 제외하고, 에이전트와 사람 모두에게 동일한 승인·감사 규칙을 적용해야 한다.

github

당신의 코드는 얼마나 노출되어 있나요? 단 몇 분 만에 무료로 확인해 보세요 (새 탭에서 열림)

대부분의 코드베이스에는 아직 발견되지 않은 보안 취약점이 존재하며, 수동 검토나 제한적인 도구만으로는 이를 파악하기 어렵다. GitHub는 조직의 활성 저장소를 몇 분 안에 점검하는 무료 **Code Security Risk Assessment**를 공개했다. 이 assessment는 CodeQL로 취약점을 찾고, 위험도와 언어·저장소별 분포, Copilot Autofix 적용 가능성까지 보여줘 보안 대응 우선순위를 정하도록 돕는다. ## Code Security Risk Assessment의 기능 - GitHub의 정적 분석 엔진인 **CodeQL**을 사용해 조직에서 가장 활발한 저장소 최대 20개를 검사한다. - 별도 라이선스 구매나 설정 없이 원클릭으로 실행할 수 있다. - 다음 정보를 대시보드로 제공한다. - 전체 취약점 수와 심각도별 분류: Critical, High, Medium, Low - 프로그래밍 언어별 취약점 분포 - 발견된 보안 규칙과 해당 규칙의 영향 저장소 수 - 취약점이 가장 많은 저장소 - Copilot Autofix로 자동 수정할 수 있는 취약점 수 - GitHub Enterprise Cloud 및 GitHub Team 플랜의 조직 관리자와 보안 관리자가 사용할 수 있다. - 스캔에 사용된 GitHub Actions 실행 시간은 사용량 할당량에서 차감되지 않는다. ## 시크릿과 코드 취약점을 함께 파악 - 기존의 **Secret Risk Assessment**는 저장소에 노출된 인증 정보와 자격 증명을 파악하는 기능이다. - Code Security Risk Assessment는 소스 코드 자체의 취약점을 분석한다. - 두 assessment는 하나의 진입점과 탭 기반 화면에서 함께 실행할 수 있다. - 이를 통해 조직은 다음 두 가지 위험을 통합적으로 확인할 수 있다. - 유출된 시크릿 및 자격 증명 - 애플리케이션 코드의 보안 취약점 - GitHub는 2025년에 Secret Protection 사용 고객들이 약 20억 건의 push를 검사하고, 약 1,900만 건의 시크릿 노출을 차단했다고 설명한다. ## 취약점 발견에서 수정까지 - 취약점을 찾는 것만으로는 충분하지 않으며, 실제 수정 속도가 위험 감소에 중요하다. - GitHub Code Security와 Copilot Autofix는 개발자가 작업하는 pull request 안에서 취약점을 수정하도록 지원한다. - GitHub가 제시한 2025년 수치는 다음과 같다. - Copilot Autofix로 수정된 보안 경고: **460,258건** - pull request에서 직접 해결된 취약점 경고: **50%** - 평균 해결 시간: - Copilot Autofix 사용: **0.66시간** - 수동 수정: **1.29시간** - assessment 결과에서 Copilot Autofix를 적용할 수 있는 취약점 수를 확인하고, 결과 화면에서 GitHub Code Security를 바로 활성화할 수 있다. ## 어떤 조직에 유용한가 - 보안 스캔을 아직 도입하지 않은 조직이 현재 위험 수준을 빠르게 파악할 수 있다. - 기존 보안 도구를 사용하는 조직도 다른 관점에서 코드베이스 전체를 점검할 수 있다. - 여러 팀과 언어로 구성된 조직에서 취약점이 집중된 저장소와 기술 영역을 식별하는 데 유용하다. - 평가 결과를 바탕으로 어떤 제품이나 보안 기능을 도입할지 판단할 수 있다. - Secret Protection: 자격 증명 유출 방지 - Code Security: 코드 취약점 탐지 및 수정 우선 무료 assessment를 실행해 조직의 취약점 분포와 우선순위를 확인하는 것이 좋다. 이후 반복적인 스캔과 pull request 기반 수정 프로세스를 도입하면 일회성 점검을 지속적인 보안 관리로 발전시킬 수 있다.

github

오픈 소스를 만들어가는 사람들에게 투자하고 함께 미래를 준비하기 (새 탭에서 열림)

오픈소스 보안은 코드와 도구만이 아니라 이를 유지하는 사람에 대한 투자에서 출발한다. GitHub는 AI로 취약점과 보안 보고서가 급증하는 상황에서 메인테이너의 부담을 줄이기 위해 자금, 교육, 보안 도구, AI 기능을 함께 강화하겠다고 밝혔다. 이를 통해 메인테이너가 지속 가능하게 프로젝트를 관리하고, 소프트웨어 공급망 전반의 보안을 높이는 것이 목표다. ## 메인테이너가 직면한 부담 - 메인테이너는 풀 리퀘스트 검토, 보안 신고 대응, 릴리스 관리 등을 자원봉사 또는 제한된 시간 안에 수행한다. - 소규모 프로젝트가 갑자기 핵심 인프라로 사용되면서 유지보수 책임이 개인에게 집중될 수 있다. - 늦은 시간까지 이어지는 업무와 경제적 보상 부족은 번아웃으로 이어진다. - AI의 확산으로 자동 생성된 풀 리퀘스트와 보안 신고가 급증하면서 신뢰할 수 있는 문제와 단순한 노이즈를 구분하기 어려워졌다. ## 오픈소스 보안을 위한 공동 투자 - GitHub는 Anthropic, AWS, Google, OpenAI와 함께 Linux Foundation의 **Alpha-Omega** 이니셔티브에 총 1,250만 달러를 지원한다. - 지원 목적은 다음과 같다. - AI 기반 보안 기능을 메인테이너의 기존 작업 흐름에 통합 - 핵심 오픈소스 프로젝트의 보안 강화 - 메인테이너가 새로운 보안 위협에 대응할 수 있도록 교육과 실용적 도구 제공 - GitHub는 28만 명 이상의 메인테이너에게 다음 기능을 무료로 제공하고 있다. - GitHub Copilot Pro - GitHub Actions - 코드 스캐닝 및 Autofix - 시크릿 스캐닝과 푸시 보호 - 의존성 알림 ## GitHub Secure Open Source Fund 확대 - **GitHub Secure Open Source Fund**에 550만 달러 규모의 Azure 크레딧과 재원을 추가한다. - 지원 항목은 다음과 같다. - 보안 교육과 전문 지식 - 프로젝트 간 협력과 커뮤니티 형성 - Datadog, Open WebUI, Atlantic Council, OWASP 등 새로운 파트너십 - 기존 프로그램에서는 38개국 200명 이상의 메인테이너가 참여한 138개 프로젝트를 지원했다. - 그 결과 다음과 같은 보안 성과가 발생했다. - 새로운 CVE 191건 등록 - 유출 전 차단된 시크릿 250건 이상 - 발견 및 해결된 유출 시크릿 600건 이상 - 월간 수십억 회 다운로드되는 프로젝트에 영향 - 단순한 자금 지원보다 보안 개선이라는 구체적 목표와 실습, 교육, 전문가 지원을 결합할 때 효과가 크다는 교훈을 얻었다. ## 보안 신고와 취약점 대응 개선 - GitHub Security Lab은 보안 권고 경험과 **Private Vulnerability Reporting(PVR)** 기능에 투자한다. - 목표는 품질이 낮은 신고를 줄이고, 메인테이너가 늘어나는 보안 보고서를 더 효율적으로 관리하도록 돕는 것이다. - GitHub는 보안 연구와 교육을 통해 일반적인 위협에 대한 대응력을 오픈소스 커뮤니티 전체로 확산시키고 있다. - 보안 도구가 메인테이너의 실제 작업 흐름에 자연스럽게 결합되어야 한다고 강조한다. ## AI를 메인테이너의 부담 완화에 활용 - AI는 방어 측과 공격 측 모두의 취약점 발견 속도와 규모를 크게 높이고 있다. - 따라서 메인테이너는 더 많은 취약점을 찾는 것뿐 아니라 다음 작업을 빠르게 수행해야 한다. - 보안 신고 우선순위 지정 - 실제 위험과 노이즈 구분 - 취약점의 원인 이해 - 수정 코드 작성 및 검증 - GitHub는 AI가 추가적인 압박이 아니라 생산성 향상을 위한 도구가 되어야 한다고 설명한다. - 이를 위해 다음 영역에 AI를 적용할 계획이다. - 이슈 분류 - 풀 리퀘스트 검토 - 취약점 식별 - 보안 취약점 자동 수정 - 메인테이너에게 제공되는 Copilot Pro에는 AI 지원 코드 리뷰, 에이전트 기반 보안 수정 워크플로, 다양한 모델 활용 기능이 포함된다. - GitHub는 보안 연구용 AI 프레임워크도 오픈소스로 공개해 특정 보안 조직뿐 아니라 메인테이너가 직접 활용할 수 있도록 했다. ## 지속 가능한 보안 생태계 - 메인테이너에게 시간, 전문성, 자금, 적절한 도구를 제공하면 프로젝트 보안이 개선되고 그 효과가 downstream 사용자와 다른 프로젝트로 확산된다. - 이는 메인테이너 지원 → 보안 개선 → 생태계 전체의 신뢰 향상 → 더 많은 참여와 지원으로 이어지는 선순환 구조를 만든다. - AI 시대의 오픈소스 보안은 자동화만으로 해결되지 않으며, 사람의 판단과 지속 가능한 유지보수가 함께 필요하다. 오픈소스 프로젝트를 운영한다면 보안 기능을 일회성으로 적용하기보다 코드 스캐닝, 시크릿 보호, 의존성 관리, 비공개 취약점 신고를 정기적인 유지보수 과정에 포함하는 것이 좋다. 동시에 AI 도구는 신고와 수정 작업을 줄이는 보조 수단으로 활용하되, 최종 판단은 메인테이너가 직접 검증해야 한다.

github

GitHub Copilot 코딩 에 (새 탭에서 열림)

GitHub Copilot coding agent는 이슈를 할당받아 백그라운드에서 코드를 수정하고 테스트를 추가한 뒤, 검토 가능한 풀 리퀘스트를 생성하는 기능이다. 최근에는 작업별 모델 선택, 자체 코드 리뷰, 보안 검사, 사용자 정의 에이전트, 로컬 CLI와의 컨텍스트 공유가 추가되어 자동화 수준과 결과 품질이 향상됐다. GitHub는 향후 비공개 모드, 코딩 전 계획 수립, 이슈 요약과 보고서 생성까지 기능을 확장할 예정이다. ## 작업에 맞는 AI 모델 선택 Agents 패널에서 작업별로 사용할 모델을 지정할 수 있게 됐다. - 단순한 단위 테스트 추가에는 빠른 모델을 선택할 수 있다. - 복잡한 리팩터링이나 엣지 케이스가 많은 통합 테스트에는 더 강력한 모델을 사용할 수 있다. - `Auto`를 선택하면 GitHub가 작업에 적합한 모델을 자동으로 결정한다. - 사용 방법: - GitHub 우측 상단의 Agents 패널에서 저장소를 선택한다. - 모델을 고르고 작업 프롬프트를 입력한다. - 현재 Copilot Pro와 Pro+에서 사용할 수 있으며, Business와 Enterprise 지원은 추후 제공될 예정이다. ## 자체 코드 리뷰로 개선된 풀 리퀘스트 에이전트가 풀 리퀘스트를 열기 전에 Copilot code review를 실행해 자신의 변경 사항을 점검한다. - 코드가 동작하더라도 지나치게 복잡하거나 팀의 일반적인 작성 방식과 다른 부분을 찾아낸다. - 리뷰 피드백을 반영해 코드를 수정한 뒤 풀 리퀘스트를 생성한다. - 개발자는 에이전트의 작업 로그에서 코드 리뷰 실행과 수정 과정을 확인할 수 있다. - 사용자는 에이전트가 반복 작업을 마친 후 최종 풀 리퀘스트를 검토하면 된다. ## 작업 중 실행되는 보안 검사 Copilot coding agent는 작업 과정에서 생성된 코드를 대상으로 여러 보안 검사를 수행한다. - Code scanning으로 취약한 코드 패턴을 탐지한다. - Secret scanning으로 API 키나 비밀 값이 커밋되는지 확인한다. - 의존성 취약점 검사를 통해 알려진 CVE가 포함된 패키지를 탐지한다. - 검사 결과는 세션 로그에 표시되며, 풀 리퀘스트가 열리기 전에 문제를 확인할 수 있다. - 일반적으로 GitHub Advanced Security에 포함되는 code scanning을 Copilot coding agent에서는 별도 비용 없이 제공한다. ## 팀 규칙을 반영하는 사용자 정의 에이전트 사용자 정의 에이전트를 사용하면 팀의 개발 절차와 전문 작업 방식을 파일로 명시할 수 있다. - 저장소의 `.github/agents/` 아래에 에이전트 설정 파일을 만든다. - 특정 에이전트에 작업 범위와 수행 절차를 부여할 수 있다. - 예를 들어 성능 최적화 에이전트가 다음 순서로 동작하도록 만들 수 있다. - 먼저 벤치마크를 실행한다. - 특정 코드를 수정한다. - 변경 후 성능을 다시 측정한다. - 결과와 함께 풀 리퀘스트를 생성한다. - 조직이나 엔터프라이즈 전체에서 사용자 정의 에이전트를 공유할 수 있어 팀별 작업 방식의 일관성을 높인다. - 실제 데모에서는 조회 함수의 성능을 측정한 뒤 수정해 해당 함수에서 99% 개선을 달성했다. ## 클라우드와 로컬 CLI 간 작업 연속성 클라우드에서 시작한 작업을 로컬 터미널로 이어가거나, 로컬 작업을 클라우드 에이전트에 위임할 수 있다. - “Continue in Copilot CLI”를 선택하면 브랜치, 로그, 대화 컨텍스트가 유지된 채 로컬에서 작업을 이어간다. - CLI에서 `&`를 누르면 현재 작업을 클라우드로 다시 위임할 수 있다. - 클라우드와 로컬 사이를 이동할 때 대화를 처음부터 다시 설명할 필요가 없다. - 터미널 중심 개발과 GitHub 기반 자동화를 유연하게 결합할 수 있다. ## 앞으로의 확장 방향 GitHub는 Copilot coding agent를 단순한 풀 리퀘스트 생성 도구 이상으로 확장하려 하고 있다. - 비공개 모드 지원 - 코딩 전에 작업 계획을 세우는 기능 - 풀 리퀘스트가 필요 없는 이슈 요약 - 자동 보고서 생성 팀의 반복적인 개발 작업에는 사용자 정의 에이전트와 적절한 모델 선택을 적용하고, 보안 검사와 자체 리뷰 결과를 확인하는 방식으로 활용하는 것이 좋다. 복잡한 작업은 클라우드에서 위임하고 세부 수정은 CLI에서 이어가는 방식도 효과적이다.

microsoft

일반적인 주석이 달린 (새 탭에서 열림)

마이크로소프트는 보안 토큰의 탐지 효율을 높이고 오탐을 최소화하기 위해 '식별 가능한(Identifiable)' 키 형식인 CASK(Common Annotated Security Standard) 표준을 공개했습니다. 이 표준은 고정된 시그니처와 체크섬 기술을 활용하여 소스 코드 내 보안 키를 즉각적으로 식별하고 차단할 수 있도록 설계되었으며, 엔지니어의 생산성을 저해하지 않으면서도 시스템의 보안 태세를 강화하는 것을 목표로 합니다. 마이크로소프트는 이 표준을 오픈소스로 공개하여 서비스 제공자들이 공통된 규격의 보안 키를 생성하고 생태계 전반의 보안 수준을 높일 것을 권장하고 있습니다. ### CASK 표준의 기술적 특징 * **특수 문자 배제**: CASK 키는 오직 알파벳과 숫자로만 구성된 Base62 문자열을 사용합니다. 이를 통해 별도의 이스케이프(Escaping)나 인코딩 과정 없이 모든 프로그래밍 환경과 컨텍스트에서 안전하게 전송 및 처리가 가능합니다. * **강력한 엔트로피 제공**: 각 키는 약 310비트 수준의 엔트로피를 보유한 52자의 무작위 데이터를 포함합니다. 이는 현재의 컴퓨팅 환경은 물론, 향후 양자 컴퓨팅 시대의 무차별 대입 공격(Brute-forcing)에도 대응할 수 있는 충분한 보안 강도입니다. * **이중 시그니처 구조**: 표준 자체를 나타내는 공통 시그니처인 `JQQJ`와 서비스 제공자를 식별하는 고정 시그니처(예: Azure DevOps의 경우 `AZDO`)를 함께 사용합니다. 이를 통해 스캐닝 도구는 단 한 번의 규칙 검사만으로도 키의 존재 여부와 출처를 매우 빠르고 정확하게 판별할 수 있습니다. ### 보안 운영 및 관리 최적화 * **생성 타임스탬프 내장**: 모든 CASK 키에는 생성된 월과 연도 정보가 포함되어 있습니다. 이 정보는 보안 사고 발생 시 대응 우선순위를 정하거나, 조직의 정기적인 키 순환(Rotation) 정책을 자동으로 강제하는 데 유용하게 활용됩니다. * **전용 테스트 키 정의**: 실제 보안 키를 외부에 노출하지 않고도 시스템 기능을 테스트할 수 있도록 예약된 테스트용 키 세트를 제공합니다. 개발자는 이를 통해 보안 제어 장치가 제대로 작동하는지 안전하게 검증할 수 있습니다. * **플랫폼별 확장성**: 표준 규격 내에 서비스 제공자가 자체적인 메타데이터를 인코딩할 수 있는 예약 공간을 유지합니다. 마이크로소프트는 이를 활용해 Azure 서비스에 특화된 추가 정보를 포함하고 있으며, 다른 제공자들도 이를 유연하게 확장할 수 있습니다. 보안 사고의 주요 원인인 비밀번호 및 키 유출을 근본적으로 방지하기 위해 서비스 제공자들은 CASK 표준 도입을 적극적으로 검토해야 합니다. 식별 가능한 키 형식을 채택하면 보안 스캔 도구의 비용을 낮추고 개발 워크플로우 내에서 실시간 차단이 가능해져 전체 소프트웨어 공급망의 안전성을 크게 향상시킬 수 있습니다.