스캔 결과에 심각도 표시가 떴지만, 실제 취약점인지 수정부터 해야 할지 판단하기 어렵습니다.
가장 빠른 해결책은 Security Audit Skill의 출처와 권한을 확인한 뒤 범위를 좁혀 스캔하고, 개발자가 근거를 재현해 수정·재검사하는 것입니다. Claude Code AI 보안 감사는 검토 보조 절차이지, 자동으로 안전을 인증하는 절차가 아닙니다.
Claude Code로 코드 보안을 점검하려는 개발자는 설치부터 재검사까지의 흐름을 따라가면 됩니다.
보안 담당자는 권한 경계와 취약점 판단 근거를 점검할 수 있습니다.
기술 책임자는 팀에 도입할 때 필요한 운영 조건과 한계를 확인할 수 있습니다.
Claude Code AI 보안 감사의 실행 순서와 한계를 먼저 정합니다
이 작업의 완료 조건은 스캔 보고서를 얻는 것이 아닙니다. 출처가 확인된 스킬을 제한된 권한으로 실행하고, 보고된 문제를 실제 코드와 입력 흐름으로 확인한 다음, 수정 후 테스트와 재검사 결과를 기록해야 합니다.
Security Audit Skill은 코드 검토 과정에서 의심 지점과 확인 항목을 제안할 수 있습니다. 그러나 모델이 지적한 위치가 항상 취약점인 것은 아닙니다. 실행 경로가 도달 불가능하거나, 해당 입력이 앞 단계에서 검증될 수도 있습니다. 반대로 보고서에 나타나지 않은 문제가 없다고 단정할 수도 없습니다. 보안 코드 검토 안내서는 코드의 맥락과 실제 동작을 확인하는 검토를 강조합니다.
작업 전에 세 가지 위험을 분리해 보세요.
- 권한 위험: 스킬이 읽기만 하는지, 파일을 수정하거나 명령을 실행할 수 있는지 알지 못하면 검토 중인 코드가 뜻하지 않게 바뀔 수 있습니다.
- 범위 위험: 저장소 전체를 한 번에 대상으로 삼으면 생성 파일이나 외부 의존 코드가 섞여 결과 확인이 어려워질 수 있습니다.
- 정보 노출 위험: 비밀 키와 고객 데이터가 포함된 파일을 모델 입력에 넘기면 조직의 데이터 처리 기준을 벗어날 수 있습니다.
설치 전에 저장소와 스킬 내용을 확인합니다
Security Audit Skill을 받을 때는 이름만 보고 신뢰하지 마세요. 스킬 저장소의 안내와 실제 SKILL.md 파일을 각각 확인합니다. 저장소 설명과 실제 지시 내용이 일치하는지 살펴보고, 설치 방식은 저장소가 현재 제공하는 안내를 따릅니다. 근거가 없는 명령어나 호환성 설명은 임의로 보완하지 않습니다.
Claude Code의 스킬은 SKILL.md를 포함한 디렉터리 구조로 관리됩니다. 공식 에이전트 스킬 설명과 Claude Code 시작 안내를 기준으로 프로젝트 범위와 사용자 범위 중 어디에 적용할지 정하세요. 프로젝트 구성원 모두가 같은 검토 규칙을 써야 한다면 프로젝트 범위가 검토하기 쉽습니다. 개인 실험이라면 팀 저장소에 바로 반영하지 않는 편이 안전합니다.
설치 후에는 다음 순서로 확인합니다.
- 저장소의 출처와 변경 이력을 확인하고, 배포 안내가 실제 파일 구조와 맞는지 대조합니다.
SKILL.md의 지시문과 참조 파일을 읽습니다. 파일 읽기, 쓰기, 명령 실행, 네트워크 접근을 요구하는지 살핍니다.- 격리한 시험 프로젝트나 버전 관리가 적용된 작업 공간에서 스킬을 불러옵니다.
- 실행 전후 변경 파일과 승인 요청을 확인합니다. 검토와 무관한 변경이 있으면 작업을 중단하고 원인을 조사합니다.
- 팀에서 쓸 경우 검토한 스킬 버전과 변경 승인자를 기록합니다.
권한 설정은 스킬 내용과 별도로 점검해야 합니다. Claude Code의 명령줄 권한 안내를 확인하고, 작업에 필요한 권한만 허용하세요. 검토 단계에서는 계획이나 읽기 중심으로 시작하고, 파일 수정이나 명령 실행은 개별 변경을 확인한 뒤 승인하는 편이 낫습니다. 승인 절차를 우회하는 설정은 시험 환경에서도 이유와 범위를 설명할 수 있을 때만 검토하세요.
주의: 스킬 파일은 실행 가능한 지시를 담을 수 있습니다. 익숙한 이름이나 공개 저장소라는 이유만으로 내용을 신뢰하지 말고, 허용할 작업과 입력 데이터를 먼저 확인하세요.
스캔 대상과 제외 범위를 분리해 실행합니다
무엇을 찾을지보다 먼저 무엇을 읽게 할지를 정해야 합니다. 코드 스캔을 시작하기 전 저장소를 정리하고, 대상 경로와 제외 경로를 기록합니다. 예를 들어 로그인과 입력 검증 코드를 확인한다면 해당 모듈과 이를 호출하는 경로를 대상으로 지정합니다. 빌드 산출물, 캐시, 외부 의존 코드처럼 이번 검토에서 판단하지 않을 항목은 제외 이유와 함께 적습니다.
스킬에 전달할 보안 맥락은 구체적이어야 합니다. 애플리케이션의 신뢰 경계, 사용자 입력이 저장소나 데이터 처리 코드로 전달되는 방식, 관련 권한 정책을 설명하세요. 실제 비밀번호나 토큰은 제공하지 마세요. 필요한 설정 파일은 값 대신 자리표시자를 사용하고, 개인 정보가 포함된 테스트 자료는 제거하거나 익명화합니다.
스캔 요청은 다음처럼 구성할 수 있습니다. 이는 요청 내용의 예시이며 특정 설치 명령이나 자동 실행 기능을 뜻하지 않습니다.
검토 범위: 로그인 요청을 처리하는 코드와 입력값 검증 경로입니다.
제외 범위: 생성 파일, 외부 의존 코드, 비밀 정보가 포함된 설정 파일입니다.
확인 요청: 신뢰할 수 없는 입력이 쿼리, 명령 실행 또는 권한 결정으로 이어지는 경로를 찾아 근거와 코드 위치를 제시해 주세요.
출력 요청: 재현 조건, 영향 경로, 확인되지 않은 전제, 추가로 필요한 정보를 구분해 주세요. 파일을 수정하거나 명령을 실행하지 마세요.
처음부터 저장소 전체를 대상으로 삼기보다는, 정한 범위의 결과가 이해 가능한지 확인한 다음 관련 호출 경로를 넓히세요. 정적 분석 구현 안내도 분석 도구의 범위와 결과를 개발 과정에 맞게 다루도록 안내합니다.
보고서의 위치·조건·영향 경로를 재현합니다
결과를 검토할 때 심각도 라벨은 우선순위를 정하는 단서일 뿐, 취약점이 성립한다는 증거가 아닙니다. 먼저 파일과 줄 위치가 정확한지 확인합니다. 다음으로 공격자가 통제할 수 있는 입력이 문제 코드에 도달하는지, 도달 전에 검증이나 인코딩이 적용되는지 추적합니다. 마지막으로 그 경로가 실제 배포 환경에서 호출될 조건인지 살핍니다.
예를 들어 사용자 입력을 쿼리 문자열에 직접 이어 붙이는 코드가 보고되면, 문자열 결합 여부만 보지 말고 입력의 출처와 쿼리 실행 지점까지 확인해야 합니다. 쿼리 매개변수화가 적용되어 있거나 입력이 통제된 내부 값이라면 보고서의 전제와 다를 수 있습니다. 반대로 입력이 외부에서 오고 쿼리 구조에 영향을 줄 수 있다면 테스트나 코드 검토로 이를 재현해야 합니다. CWE-89 설명과 완화 방안은 SQL 명령에 입력이 안전하지 않게 포함되는 문제와 매개변수화 같은 방어 방법을 설명합니다.
각 결과는 다음 기준으로 분류하세요.
- 확인된 문제: 코드 위치, 입력 경로, 공격 조건과 영향이 재현되거나 독립적으로 검증됩니다.
- 오탐: 보고서의 전제가 실제 코드 흐름과 맞지 않는다는 근거가 있습니다. 예를 들어 문제가 된 경로에 도달하기 전에 검증이 수행됩니다.
- 정보 부족: 입력의 출처나 배포 조건을 확인할 수 없어 결론을 내리지 못했습니다. 필요한 코드나 테스트 자료를 추가로 확인합니다.
보고서에는 코드 위치만 남기지 말고, 확인한 입력과 경로, 재현 절차, 판단 근거를 기록합니다. 이 기록이 있어야 수정 검토자나 팀원이 같은 조건을 다시 확인할 수 있습니다.
설치·권한·검증에 관한 실무 질문을 정리합니다
Security Audit Skill의 출처와 설치 경로를 어떻게 확인하나요?
저장소 안내와 실제 SKILL.md를 함께 읽고, Claude Code 공식 문서에 나온 스킬 디렉터리 규칙에 맞는지 대조합니다. 설치 방법이 모호하거나 필요한 권한이 설명되지 않았다면 프로젝트에 넣지 말고 격리 환경에서 먼저 확인하세요. 설치 이후에는 변경 파일과 승인 요청을 검토하고, 팀 저장소에 반영할 때 검토한 버전을 기록합니다.
코드 스캔 전에 지정해야 할 권한과 범위는 무엇인가요?
대상 디렉터리, 제외 경로, 검토할 입력 경로와 보안 경계를 구체적으로 지정합니다. 처음에는 읽기 중심으로 실행하고 파일 수정과 명령 실행은 필요한 작업만 따로 승인합니다. 비밀 키와 개인 정보는 전달하지 않으며, 실제 데이터가 필요한 상황은 조직의 데이터 처리 기준을 확인한 뒤 익명화된 자료로 대체할 수 있는지 검토합니다.
보고된 문제가 실제 취약점인지 어떤 증거로 판단하나요?
코드 위치가 맞는지 확인한 뒤, 외부에서 통제 가능한 입력이 취약한 동작까지 도달하는지 추적합니다. 검증·인코딩·권한 확인이 앞서 적용되는지도 살핍니다. 가능하면 재현 테스트나 코드 리뷰로 공격 조건과 영향을 확인합니다. 근거가 불충분하면 심각도에 따라 단정하지 말고 정보 부족으로 남겨 추가 확인을 요청하세요.
수정 이후 재검사에서는 무엇을 기록하나요?
수정된 코드와 함께 관련 테스트, 재현 여부, 다시 실행한 스캔의 범위를 기록합니다. 취약점이 사라졌는지뿐 아니라 정상 동작이 유지되는지 확인합니다. 해결하지 못한 항목은 잔여 위험, 담당자, 후속 조치를 남기세요. 한 번의 재검사 통과만으로 다른 코드 경로까지 안전하다고 판단하지 않습니다.
개발자가 수정안을 검토하고 같은 경로를 다시 검사합니다
Security Audit Skill이 제안한 패치는 그대로 적용하지 마세요. 권한 정책이나 입력 처리 방식은 프로젝트 구조에 맞아야 합니다. 예를 들어 쿼리 삽입 가능성을 확인했다면 쿼리 매개변수화가 해당 데이터 접근 계층과 호환되는지 검토하고, 호출부와 오류 처리까지 살핍니다. 수정으로 입력 제한을 지나치게 강화해 정상 요청을 거부하지 않는지도 테스트합니다.
보안 개발은 단일 스캔 결과로 끝나지 않습니다. 안전한 소프트웨어 개발 프레임워크는 조직 준비, 소프트웨어 보호, 안전한 소프트웨어 생산, 취약점 대응이라는 네 가지 실무 영역을 제시합니다. 이 틀에 맞춰 발견 기록과 수정 근거, 재검사 결과를 개발 과정에 남기면 일회성 점검에 그치지 않습니다.
수정 후에는 원래 문제가 보고된 범위와 주변 호출 경로를 다시 검사합니다. 관련 테스트를 실행하고, 코드 리뷰에서 권한과 입력 경계가 의도대로 바뀌었는지 확인하세요. 해결되지 않은 항목에는 미해결 사유와 다음 조치를 기록합니다. 재검사에서 같은 결과가 나오지 않는다는 사실은 해당 조건에서 문제가 재현되지 않았다는 뜻이지, 모든 보안 결함이 사라졌다는 증명은 아닙니다.
조건별 결정 도구로 실행 환경과 다음 작업을 선택합니다
아래 항목을 위에서부터 확인하고, 조건에 맞는 선택지를 따르세요. 하나라도 위험 조건에 걸리면 원격 환경이나 자동 실행으로 진행하지 말고, 격리 시험 또는 기본 코드 검토로 돌아갑니다.
- [ ] 코드가 로컬에 있고 외부 전송을 제한해야 합니까? 그렇다면 조직이 허용하는 로컬 환경과 격리 프로젝트를 선택합니다. 데이터 이동이 불필요해도 스킬의 파일 접근과 명령 권한은 별도로 제한합니다. 로컬 실행이 정책을 충족하지 못하면 실행을 보류합니다.
- [ ] 팀이 같은 설정과 검토 기준을 관리해야 합니까? 그렇다면 프로젝트 범위의 스킬을 버전 관리로 검토하고, 변경 승인자와 적용 절차를 정합니다. 둘 중 하나라도 정해져 있지 않으면 공용 저장소에 반영하지 말고 시험 프로젝트에서 검토합니다.
- [ ] 검토 대상이 macOS에서만 재현되는 동작입니까? 그렇다면 해당 환경에서 직접 재현할 수 있는지 확인합니다. 원격 Mac은 필수 조건이 아닙니다. 프로젝트 데이터 이동과 원격 접근 정책을 확인할 수 있을 때만 선택지로 검토합니다.
- [ ] 지속적으로 큰 저장소를 정기 점검해야 합니까? 그렇다면 대화형 스캔만으로 운영 절차를 대신하지 않습니다. 결과를 테스트, 코드 리뷰, 취약점 관리에 연결할 담당자와 기록 방식을 먼저 정합니다.
- [ ] 스킬의 출처, 작업 범위 또는 데이터 처리를 검증할 수 있습니까? 확인할 수 있다면 제한된 범위에서 시험합니다. 확인할 수 없거나 스킬이 불필요한 권한을 요구한다면 사용하지 말고 기본 코드 리뷰 절차로 돌아갑니다.
판정은 다음처럼 내리면 됩니다.
- 도입 적합: 출처와 권한을 확인했고, 스캔 범위를 제한했으며, 결과를 재현할 수 있습니다. 프로젝트에 적용하되 수정과 명령 실행은 계속 검토합니다.
- 조건부 도입: 위 항목 가운데 일부가 불확실합니다. 격리 시험에서 불확실한 조건을 해소하기 전에는 팀 공용 환경에 적용하지 않습니다.
- 도입 보류: 데이터 처리 기준을 충족하지 못하거나, 출처와 작업 범위를 검증할 수 없거나, 불필요한 권한을 요구합니다. 스킬을 실행하지 않고 일반 코드 리뷰로 대체합니다.
현재 개발 환경에서 실행하면 코드 접근과 수정 이력을 직접 통제하기 쉽습니다. 다만 macOS 전용 동작을 재현하기 어렵거나, 개발자 장비별 설정 차이와 접근 권한을 따로 관리해야 할 수 있습니다. 원격 Mac은 같은 종류의 환경을 원격에서 사용할 선택지가 될 수 있지만, 프로젝트 데이터 전송과 원격 접근 정책을 추가로 검토해야 합니다. 장기간 지속되는 작업이나 물리 장치 연결이 필수라면 임대가 적합하지 않을 수 있습니다.
원격 Mac이 필요한 상황이라면 VPSSpark의 한국 서비스 페이지에서 현재 공개된 환경과 제공 조건을 먼저 확인하세요. 페이지에서 확인되지 않는 항목은 VPSSpark 문의 채널로 확인한 뒤, 데이터 민감도와 접근 방식에 맞을 때만 선택하면 됩니다.
전용 원격 맥에서 보안 점검을 이어가세요
VPSSpark의 전용 맥 환경에서 코드 검토와 수정 후 재검사에 필요한 작업 공간을 마련할 수 있습니다.
전용 주소와 대역폭을 갖춘 환경으로 개발 및 보안 점검 업무를 안정적으로 진행하세요.