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 생성
- 취약점 경보를 위한 알림 시스템 설정
스캐닝 유형
소스 코드를 직접 분석해 SQL 인젝션, XSS, 안전하지 않은 암호화 등 보안 취약점 탐지
알려진 CVE가 있는 취약한 오픈소스 의존성 및 라이브러리 식별
Terraform, CloudFormation 등 IaC 파일에서 보안 미설정 탐지
2. 5.1 Amazon Inspector 코드 보안 설정
3. Step 1 — 샘플 취약 앱 포크
Amazon Inspector로 스캔할 수 있도록 샘플 취약 앱 저장소를 자신의 GitHub 계정으로 포크해야 합니다.
포크할 저장소: fusiongate-inc/sample-vulnerable-app
저장소 포크 방법
- 저장소로 이동
- GitHub에서
fusiongate-inc/sample-vulnerable-app저장소를 방문합니다. - GitHub 저장소 페이지로 이동합니다.
- GitHub에서
- GitHub에 로그인
- 아직 로그인하지 않은 경우 우측 상단의 Sign in을 클릭합니다.
- GitHub 계정 자격 증명을 입력합니다.
- 저장소 포크
- 저장소 페이지 우측 상단의 Fork 버튼을 찾습니다.
- Fork 버튼을 클릭합니다.
- GitHub가 "Create a new fork" 페이지를 표시합니다.
- 포크 설정
- Owner: 자신의 GitHub 사용자 이름 (자동 선택됨)
- Repository name: 기본값
sample-vulnerable-app유지 또는 원하는 이름으로 변경 - Copy the main branch only: 체크 유지 (권장)
- Create fork를 클릭합니다.
- 포크 확인
- 잠시 후 포크된 저장소로 이동됩니다.
- URL이
https://github.com/YOUR-USERNAME/sample-vulnerable-app으로 변경됩니다. - 저장소 이름 아래에
fusiongate-inc/sample-vulnerable-app에서 포크됐음을 나타내는 메모가 표시됩니다.
4. Step 2 — Amazon Inspector에서 Code Security 활성화
- us-west-2 리전에서 Amazon Inspector 콘솔을 엽니다.
- Code Security 섹션으로 이동합니다.
- Code Security가 아직 활성화되지 않은 경우 팝업이 표시됩니다. Enable code scanning을 클릭합니다.
- Account Management로 이동됩니다. Code repository scanning이 Activated로 표시되는지 확인합니다.
- 활성화되지 않은 경우:
- Activate를 클릭합니다.
- Code repository scanning을 선택하고 Submit을 클릭합니다.
5. Step 3 — 포크된 GitHub 저장소와 Amazon Inspector 연결
- Amazon Inspector 콘솔의 Code Security 탭에서 Connect to를 클릭하고 GitHub를 선택합니다.
- 기본 설정을 유지하고 Create scan configuration을 클릭합니다.
- 다음 페이지에서 Integration Name을 입력하고 Connect를 클릭합니다.
- 참고: Connect to GitHub 옵션이 표시되지 않으면 페이지를 새로 고침합니다.
- GitHub 계정에 Amazon Inspector 액세스를 인가하라는 메시지가 표시되면:
- 팝업이 나타납니다. Authorize Amazon Inspector를 클릭합니다.
- 인가 후 Amazon Inspector 콘솔로 이동됩니다. Go to GitHub connection page를 클릭합니다.
- Install a new app을 클릭합니다 — GitHub App 설치 페이지로 이동됩니다.
- Only select repositories를 선택합니다.
- 포크된 샘플 저장소를 검색하고 선택합니다.
- Install & Authorize를 클릭합니다.
- 설치 후 Amazon Inspector 콘솔의 Code Security로 돌아갑니다.
- Code Repositories로 스크롤하면 저장소가 목록에 표시됩니다.
6. Step 4 — 첫 번째 스캔 시작
- 통합이 완료되면 저장소가 목록에 표시되고 구성 상태가 Configured로 표시되는지 확인합니다.
- 저장소를 선택하고 On-demand scan을 클릭합니다.
- 몇 분 후 저장소 이름을 클릭합니다.
- 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 Code Security 발견을 자동으로 분석하고 교정합니다. SAST, SCA, IaC 취약점을 커버하며 autobotAI의 고급 AI 에이전트와 Amazon Bedrock을 활용합니다. 각 발견을 지능적으로 검토하고 영향받은 코드의 컨텍스트를 이해해 변경 사항을 커밋하고 Pull Request를 생성하는 자동화된 수정을 적용합니다. 전통적인 정적 분석 교정을 완전 자율 AI 기반 프로세스로 전환합니다.
8. 봇 설정 단계
Step 1. 공개 라이브러리에서 봇 가져오기
- 공개 봇 라이브러리를 방문합니다:
https://autobot.live/app#/library - 검색창에 키워드 "code"를 입력합니다.
- 결과에서 "Amazon Inspector Code Security With Agentic AI Fixes" 봇을 찾습니다.
- 봇을 클릭한 후 Import를 클릭해 워크스페이스로 가져옵니다.
Step 2. 저장 전 봇 설정
가져온 봇을 테넌트에 저장하기 전에 필수 워크플로 세부 정보를 설정해야 합니다.
Step 3. "Evaluate" 노드 설정
저장소 이름을 포크하면서 변경했다면 여기서 업데이트하세요. 기본 이름 sample-vulnerable-app을 유지했다면 기본값을 그대로 둡니다.
Step 4. "AI Agent" 노드 설정
| 항목 | 설정 값 |
|---|---|
| Integration Type | Amazon Bedrock |
| Integration Account | 이전에 통합한 Amazon Bedrock 계정 선택 |
| AI Model | global.anthropic.claude-sonnet-4-5-20250929-v1:0 |
| Agent Tools | GitHub 도구 포함. 여러 GitHub 통합이 있는 경우 특정 통합 선택. 하나만 있으면 그대로 유지 |
Step 5. "Create Pull Request" 노드 설정
여러 GitHub 통합이 있는 경우 사용할 특정 통합을 선택합니다. 하나만 있으면 기본값을 유지합니다.
Step 6. "AI Notification" 노드 설정
| 항목 | 설정 값 |
|---|---|
| Recipients | 필드 우측 상단에서 Events 선택 후 SES에서 인증한 이메일 주소 입력 및 Enter |
| Service | Amazon SES |
| Connection | 이전에 추가한 Amazon SES 통합 선택 |
| Action | Send Message Using AWS SES |
Step 7. 봇 저장 및 실행
- Save를 클릭해 설정 변경 사항을 저장합니다.
- Run을 클릭해 봇 실행을 시작합니다.
Step 8. 실행 결과 확인
- 봇 실행이 완료되면 Pull Request(PR) 링크가 포함된 알림을 받습니다.
- GitHub에서 PR 링크를 열어 AI가 생성한 수정 사항을 검토합니다.
- 검토 후 Pull Request를 병합할 수 있습니다.
봇 작동 워크플로
[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 완료 기준
| 완료 항목 | 확인 |
|---|---|
| 라이브러리에서 봇 성공적으로 가져오기 | "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 워크플로를 통해 클라우드 보안의 탐지·분석·교정·알림 전 과정을 자동화하는 방법을 익혔습니다.
