2026-05-29 Amazon Bedrock Amazon Inspector autobotAI 코드 보안 취약점 관리

Amazon Bedrock 보안 자동화 워크샵 (5편)
— Amazon Inspector 코드 저장소 취약점 자동 수정

Amazon Inspector Code Security와 autobotAI를 연동해 GitHub 코드 저장소의 SAST·SCA·IaC 취약점을 자동 탐지하고, Amazon Bedrock AI가 수정 코드를 생성해 Pull Request로 자동 제출하는 Module 5를 다룹니다. 전통적인 정적 분석 교정을 완전 자율 AI 기반 프로세스로 전환하는 방법을 단계별로 정리합니다.

1. 모듈 개요

이 모듈은 Amazon Inspector Code Security와 autobotAI의 AI 기반 교정 기능을 통합해 코드 저장소에 대한 자동화된 취약점 관리에 집중합니다. 정적 분석(SAST), 소프트웨어 구성 분석(SCA), 인프라스트럭처 코드(IaC) 스캐닝을 통해 코드의 취약점을 탐지하고, Amazon Bedrock으로 구동되는 지능형 자동 수정을 구현합니다.

항목내용
리전us-west-2 (오레곤)
예상 시간약 45분
섹션5.1 Amazon Inspector 코드 보안 설정 (20분) + 5.2 워크플로 가져오기 및 실행 (25분)

이 모듈에서 배우는 것

  • 저장소 스캐닝을 위한 Amazon Inspector Code Security 설정
  • Amazon Inspector와 GitHub 저장소 통합
  • SAST, SCA, IaC 취약점 탐지 이해
  • autobotAI를 사용한 AI 기반 자동 코드 수정 구현
  • AI로 생성된 보안 패치와 함께 자동 Pull Request 생성
  • 취약점 경보를 위한 알림 시스템 설정

스캐닝 유형

SAST (정적 애플리케이션 보안 테스팅)
소스 코드를 직접 분석해 SQL 인젝션, XSS, 안전하지 않은 암호화 등 보안 취약점 탐지
SCA (소프트웨어 구성 분석)
알려진 CVE가 있는 취약한 오픈소스 의존성 및 라이브러리 식별
IaC (인프라스트럭처 코드 스캐닝)
Terraform, CloudFormation 등 IaC 파일에서 보안 미설정 탐지

2. 5.1 Amazon Inspector 코드 보안 설정

리전 확인: Amazon Inspector Code Security는 us-west-2 (오레곤)에서 활성화해야 합니다.

3. Step 1 — 샘플 취약 앱 포크

Amazon Inspector로 스캔할 수 있도록 샘플 취약 앱 저장소를 자신의 GitHub 계정으로 포크해야 합니다.

이 샘플 취약 앱은 autobotAI(fusiongate-inc)가 워크샵 목적으로 제공합니다. SAST, SCA, IaC 스캐닝 도구를 테스트하기 위한 의도적인 보안 취약점이 포함되어 있습니다. 워크샵 완료 후 포크된 저장소를 GitHub 계정에서 제거하는 것을 권장합니다.

포크할 저장소: fusiongate-inc/sample-vulnerable-app

저장소 포크 방법

  1. 저장소로 이동
    • GitHub에서 fusiongate-inc/sample-vulnerable-app 저장소를 방문합니다.
    • GitHub 저장소 페이지로 이동합니다.
  2. GitHub에 로그인
    • 아직 로그인하지 않은 경우 우측 상단의 Sign in을 클릭합니다.
    • GitHub 계정 자격 증명을 입력합니다.
  3. 저장소 포크
    • 저장소 페이지 우측 상단의 Fork 버튼을 찾습니다.
    • Fork 버튼을 클릭합니다.
    • GitHub가 "Create a new fork" 페이지를 표시합니다.
  4. 포크 설정
    • Owner: 자신의 GitHub 사용자 이름 (자동 선택됨)
    • Repository name: 기본값 sample-vulnerable-app 유지 또는 원하는 이름으로 변경
    • Copy the main branch only: 체크 유지 (권장)
    • Create fork를 클릭합니다.
  5. 포크 확인
    • 잠시 후 포크된 저장소로 이동됩니다.
    • URL이 https://github.com/YOUR-USERNAME/sample-vulnerable-app으로 변경됩니다.
    • 저장소 이름 아래에 fusiongate-inc/sample-vulnerable-app에서 포크됐음을 나타내는 메모가 표시됩니다.

4. Step 2 — Amazon Inspector에서 Code Security 활성화

  1. us-west-2 리전에서 Amazon Inspector 콘솔을 엽니다.
  2. Code Security 섹션으로 이동합니다.
  3. Code Security가 아직 활성화되지 않은 경우 팝업이 표시됩니다. Enable code scanning을 클릭합니다.
  4. Account Management로 이동됩니다. Code repository scanningActivated로 표시되는지 확인합니다.
  5. 활성화되지 않은 경우:
    • Activate를 클릭합니다.
    • Code repository scanning을 선택하고 Submit을 클릭합니다.

5. Step 3 — 포크된 GitHub 저장소와 Amazon Inspector 연결

  1. Amazon Inspector 콘솔의 Code Security 탭에서 Connect to를 클릭하고 GitHub를 선택합니다.
  2. 기본 설정을 유지하고 Create scan configuration을 클릭합니다.
  3. 다음 페이지에서 Integration Name을 입력하고 Connect를 클릭합니다.
    • 참고: Connect to GitHub 옵션이 표시되지 않으면 페이지를 새로 고침합니다.
  4. GitHub 계정에 Amazon Inspector 액세스를 인가하라는 메시지가 표시되면:
    • 팝업이 나타납니다. Authorize Amazon Inspector를 클릭합니다.
  5. 인가 후 Amazon Inspector 콘솔로 이동됩니다. Go to GitHub connection page를 클릭합니다.
  6. Install a new app을 클릭합니다 — GitHub App 설치 페이지로 이동됩니다.
  7. Only select repositories를 선택합니다.
  8. 포크된 샘플 저장소를 검색하고 선택합니다.
  9. Install & Authorize를 클릭합니다.
  10. 설치 후 Amazon Inspector 콘솔의 Code Security로 돌아갑니다.
  11. Code Repositories로 스크롤하면 저장소가 목록에 표시됩니다.
스캔 설정은 기본적으로 SAST, IaC, SCA 모두 활성화됩니다. 스캔 유형은 Change-based, 주기는 Weekly, 스캔 트리거는 Pull_request/Push로 설정됩니다.

6. Step 4 — 첫 번째 스캔 시작

  1. 통합이 완료되면 저장소가 목록에 표시되고 구성 상태가 Configured로 표시되는지 확인합니다.
  2. 저장소를 선택하고 On-demand scan을 클릭합니다.
  3. 몇 분 후 저장소 이름을 클릭합니다.
  4. Findings 섹션으로 스크롤하면 식별된 취약점과 보안 문제를 확인할 수 있습니다.

5.1 완료 기준

완료 항목확인
GitHub 계정에 저장소 포크 완료자신의 계정에 sample-vulnerable-app 포크 확인
Amazon Inspector Code Security 활성화Account Management에서 Code repository scanning이 Activated로 표시
GitHub 통합 인가Authorize Amazon Inspector 완료
저장소가 Code Repositories 목록에 표시Inspector 콘솔에서 저장소 확인
온디맨드 스캔 완료On-demand scan 실행 및 완료
Inspector 콘솔에서 취약점 발견 표시Findings 섹션에서 발견 확인

5.1 문제 해결

문제해결 방법
GitHub에서 Fork 버튼이 보이지 않음GitHub에 로그인됐는지 확인. Fork 버튼은 우측 상단에 있음
Inspector 콘솔에서 Code Security가 표시되지 않음us-west-2 리전인지 확인. 좌측 메뉴에서 Inspector → Code Security로 이동. 메시지가 표시되면 "Enable code scanning" 클릭
GitHub 인가 팝업이 차단됨브라우저 설정에서 AWS 콘솔 도메인의 팝업 허용
인가 후 저장소가 표시되지 않음Amazon Inspector 콘솔 페이지 새로 고침. "Only select repositories"를 선택하고 포크를 선택했는지 확인. GitHub 통합 연결 해제 후 재연결 시도

7. 5.2 워크플로 가져오기 및 실행

리전 확인: Amazon Inspector 노드를 us-west-2 (오레곤)으로 설정하세요. 봇 실행에 약 10–15분이 소요됩니다.

이 봇은 Amazon Inspector Code Security 발견을 자동으로 분석하고 교정합니다. SAST, SCA, IaC 취약점을 커버하며 autobotAI의 고급 AI 에이전트와 Amazon Bedrock을 활용합니다. 각 발견을 지능적으로 검토하고 영향받은 코드의 컨텍스트를 이해해 변경 사항을 커밋하고 Pull Request를 생성하는 자동화된 수정을 적용합니다. 전통적인 정적 분석 교정을 완전 자율 AI 기반 프로세스로 전환합니다.

8. 봇 설정 단계

Step 1. 공개 라이브러리에서 봇 가져오기

  1. 공개 봇 라이브러리를 방문합니다: https://autobot.live/app#/library
  2. 검색창에 키워드 "code"를 입력합니다.
  3. 결과에서 "Amazon Inspector Code Security With Agentic AI Fixes" 봇을 찾습니다.
  4. 봇을 클릭한 후 Import를 클릭해 워크스페이스로 가져옵니다.
Amazon Inspector가 이미 설정되고 통합됐는지 확인하세요.

Step 2. 저장 전 봇 설정

가져온 봇을 테넌트에 저장하기 전에 필수 워크플로 세부 정보를 설정해야 합니다.

Step 3. "Evaluate" 노드 설정

저장소 이름을 포크하면서 변경했다면 여기서 업데이트하세요. 기본 이름 sample-vulnerable-app을 유지했다면 기본값을 그대로 둡니다.

Step 4. "AI Agent" 노드 설정

항목설정 값
Integration TypeAmazon Bedrock
Integration Account이전에 통합한 Amazon Bedrock 계정 선택
AI Modelglobal.anthropic.claude-sonnet-4-5-20250929-v1:0
Agent ToolsGitHub 도구 포함. 여러 GitHub 통합이 있는 경우 특정 통합 선택. 하나만 있으면 그대로 유지
이 모델에 대한 접근 권한이 Amazon Bedrock 계정에 있어야 합니다.

Step 5. "Create Pull Request" 노드 설정

여러 GitHub 통합이 있는 경우 사용할 특정 통합을 선택합니다. 하나만 있으면 기본값을 유지합니다.

Step 6. "AI Notification" 노드 설정

AI Notifications를 사용하려면 Preferences에서 AI 통합이 설정되어 있어야 합니다. Module 1.3: Global Settings 설정을 참고하세요.
항목설정 값
Recipients필드 우측 상단에서 Events 선택 후 SES에서 인증한 이메일 주소 입력 및 Enter
ServiceAmazon SES
Connection이전에 추가한 Amazon SES 통합 선택
ActionSend Message Using AWS SES
중요: 이 노드의 다른 설정은 수정하지 마세요. 배달 실패 이메일을 받은 경우 도메인의 이메일 서버 설정(SPF, DKIM, DMARC 레코드)을 확인하세요.

Step 7. 봇 저장 및 실행

  1. Save를 클릭해 설정 변경 사항을 저장합니다.
  2. Run을 클릭해 봇 실행을 시작합니다.
봇 실행에 약 10–15분이 소요됩니다. 실행 로그 또는 채팅 인터페이스에서 진행 상황을 모니터링할 수 있습니다.

Step 8. 실행 결과 확인

  1. 봇 실행이 완료되면 Pull Request(PR) 링크가 포함된 알림을 받습니다.
  2. GitHub에서 PR 링크를 열어 AI가 생성한 수정 사항을 검토합니다.
  3. 검토 후 Pull Request를 병합할 수 있습니다.
중요: 병합 후 Amazon Inspector가 업데이트된 코드에서 추가 취약점을 탐지할 수 있습니다. 새 발견이 나타나면 모든 심각한 발견이 해결될 때까지 봇을 다시 실행하세요.

봇 작동 워크플로

[1단계: Inspector 발견 목록 조회]
지정된 저장소의 Amazon Inspector Code Security 발견 검색
심각도 및 리소스 기준으로 필터링 (Critical 우선)
    │
    ▼
[2단계: 발견 평가]
각 발견의 컨텍스트 분석
영향받은 저장소 파일 및 코드 섹션 식별
    │
    ▼
[3단계: Inspector 발견 보강 (Enrich)]
발견 세부 정보, 취약점 설명, 영향받은 코드 위치 파악
    │
    ▼
[4단계: AI 에이전트로 코드 수정]
Amazon Bedrock Claude Sonnet v2가 발견 컨텍스트 이해
GitHub에서 영향받은 소스 코드 조회
보안 취약점을 수정하는 코드 패치 생성
수정된 파일 저장소에 업데이트
    │
    ▼
[5단계: Pull Request 생성]
수정된 코드 변경 사항으로 GitHub PR 생성
발견 수정 사항 요약 포함
    │
    ▼
[6단계: 알림 발송]
PR 링크 및 수정 요약과 함께 Amazon SES 알림 발송
          

9. Module 5 완료 기준

Module 5 성공 기준: 아래 항목을 모두 완료해야 합니다.
완료 항목확인
라이브러리에서 봇 성공적으로 가져오기"Amazon Inspector Code Security With Agentic AI Fixes" 봇 Import
Amazon Inspector 발견 노드를 us-west-2로 설정Inspector 노드 리전 설정 확인
Evaluate 노드 설정 (저장소 이름이 포크와 일치)저장소 이름 확인 및 설정
AI Agent를 Claude Sonnet v2로 설정Bedrock 통합 및 모델 선택 완료
GitHub 도구를 자신의 통합으로 설정GitHub 통합 연결 확인
알림 노드를 SES로 설정이메일 주소 및 SES 연결 설정
봇 성공적으로 실행Run 실행 및 완료 확인
PR 링크가 포함된 알림 수신SES 이메일 또는 알림에서 PR 링크 확인
GitHub PR에서 AI 생성 코드 수정 사항 검토PR의 변경 파일 및 커밋 내용 확인

문제 해결

문제해결 방법
봇이 Inspector 발견을 찾지 못함리전이 us-west-2로 설정됐는지 확인. Module 5.1에서 온디맨드 스캔이 완료됐는지 확인. Inspector 콘솔에서 발견이 존재하는지 확인
Pull Request가 생성되지 않음GitHub 통합이 활성 상태인지 확인. Evaluate 노드의 저장소 이름이 포크와 일치하는지 확인. 실행 로그에서 GitHub API 오류 확인
AI가 생성한 수정 사항이 올바르지 않음Inspector에서 발견 세부 정보 검토. AI는 복잡한 수정에 여러 반복이 필요할 수 있음. PR을 병합 전에 수동으로 조정 가능
알림이 수신되지 않음스팸 폴더 확인. SES 이메일 신원이 인증됐는지 확인. AI Notification 노드 설정 확인

워크샵 완료

Module 5에서 Amazon Inspector Code Security와 autobotAI의 AI 기반 교정을 연동해 코드 저장소의 SAST·SCA·IaC 취약점을 AI가 자율적으로 탐지하고 Pull Request로 수정하는 환경을 구성했습니다.

이것으로 Amazon Bedrock 보안 자동화 워크샵 5개 모듈이 모두 완료됩니다. autobotAI와 Amazon Bedrock을 결합한 에이전틱 SecOps 워크플로를 통해 클라우드 보안의 탐지·분석·교정·알림 전 과정을 자동화하는 방법을 익혔습니다.

Amazon Inspector Code Security 기반 자동 취약점 교정이나 AWS 보안 자동화에 대해 궁금한 점이 있으시면 문의하기로 연락 주세요.