취약점을 찾는 것은 애플리케이션 보안의 시작에 불과합니다.
현대 개발팀은 이미 스캐너, 의존성 검사기(dependency checkers), 정적 분석 도구(static analysis tools), 자동화된 보안 테스트 등을 사용하고 있습니다. 하지만 모든 발견 사항이 조사, 우선순위 지정, 그리고 수정 조치를 필요로 하기 때문에 보안 백로그는 계속해서 증가합니다.
자주 답을 얻지 못하는 중요한 질문이 있습니다.
공격자가 실제로 이 취약점을 우리 환경에서 악용할 수 있을까요? 만약 그렇다면, 무엇에 접근할 수 있을까요?
AWS Continuum for 코드 취약점은 2026년 10월 22일에 일반적으로 사용 가능(GA)해졌습니다. 이는 발견(discovery), 악용 가능성 검증(exploitability validation), 위험 우선순위 지정(risk prioritization), 그리고 수정 조치(remediation)를 지속적인 워크플로우로 연결하여 팀들이 정적 취약점 보고서를 넘어설 수 있도록 돕기 위해 설계되었습니다.
이것이 어떻게 작동하는지, 그리고 개발자, DevOps 엔지니어, 보안팀에게 어떤 의미인지 살펴보겠습니다.
기존의 취약점 스캐닝만으로는 충분하지 않은 이유
당신의 애플리케이션에 150개의 보고된 취약점이 있다고 상상해 보세요.
일부는 오래된 의존성(outdated dependencies)과 관련되어 있습니다. 다른 일부는 프로덕션 환경에서 도달할 수 없을 수도 있는 코드에 영향을 미칩니다. 소수의 취약점은 민감한 데이터를 노출시키거나 공격자에게 핵심 인프라로 진입할 경로를 제공할 수 있습니다.
모든 발견 사항을 동일한 긴급성으로 처리하는 것은 문제를 야기합니다:
- 개발자들은 영향도가 낮은 발견 사항을 조사하는 데 시간을 소비합니다.
- 중요한 문제는 방대한 백로그 속에 묻힐 수 있습니다.
- 보안팀은 애플리케이션 노출에 대한 맥락(context)이 부족합니다.
- 수정 조치 과정 자체가 수동적인 조정 프로세스가 됩니다.
- AI가 생성한 코드는 새로운 검토 요구 사항을 도입합니다.
취약점 스캐너는 문제가 존재한다는 것만 알려줄 수 있습니다. 그것의 실제 위험도를 이해하기 위해서는 더 많은 맥락이 필요합니다.
AWS Continuum이란 무엇인가요?
AWS Continuum for code vulnerabilities는 코드 및 해당 AWS 환경에 대한 정보를 사용하여 팀이 코드 취약점을 조사하고 관리할 수 있도록 돕습니다.
이 서비스의 핵심 워크플로우는 다음과 같이 요약될 수 있습니다:
발견(Discover) → 검증(Validate) → 우선순위 지정(Prioritize) → 복구(Remediate)
각 발견 사항을 고립된 경고로 취급하는 대신, 이 서비스는 어떤 문제가 악용될 수 있는지, 배포된 리소스와 어떻게 관련되는지, 그리고 어떤 복구 옵션이 사용 가능한지를 파악하는 데 도움을 줍니다.
1. 취약점 발견(Discover vulnerabilities)
첫 번째 단계는 코드 내 잠재적인 보안 문제를 식별하는 것입니다.
Continuum은 기존의 취약점 발견 결과와 코드를 스캔하여 취약점을 식별할 수 있습니다. AWS는 GitHub 저장소와 Amazon S3를 지원되는 코드 소스 옵션으로 문서화하고 있습니다.
예를 들어, 여러 타사 패키지를 사용하는 서비스를 고려해 봅시다. 한 패키지는 알려진 취약점을 포함하고 있고, 다른 패키지는 업그레이드가 필요할 수 있는 오래된 버전을 가지고 있을 수 있습니다.
발견(Discovery)은 조사에 대한 출발점을 만듭니다. 하지만 모든 발견 사항이 악용 가능한 공격 경로를 나타낸다고 자동으로 확립하는 것은 아닙니다.
여기서 검증(Validation)이 필요한 것입니다.
2. 악용 가능성 검증(Validate exploitability)
보고된 모든 취약점이 모든 환경에서 악용될 수 있는 것은 아닙니다.
문제가 된 코드가 외부 요청으로부터 도달할 수 없을 수도 있습니다. 취약한 컴포넌트가 배포되지 않았을 수도 있습니다. 네트워크 제어 또는 기타 보안 경계가 공격자의 선택지를 제한할 수 있습니다.
Continuum은 재현 가능한 발견 사항에 대해 격리된 샌드박스(sandbox) 환경에서 악용 가능성을 검증하여, 팀이 잠재적 위험 뒤에 숨겨진 증거를 이해하는 데 도움을 줄 수 있습니다.
이는 중요한 구분점입니다:
- 탐지(Detection): 취약점이 존재할 수 있습니다.
- 검증(Validation): 증거는 그것이 어떻게 그리고 실제로 악용될 수 있는지 여부를 확립하는 데 도움을 줍니다.
- 위험 평가(Risk assessment): 팀은 해당 취약점의 악용이 애플리케이션과 비즈니스에 어떤 의미를 가질지 평가합니다.
검증 결과 역시 신중하게 해석되어야 합니다. 공격 재현에 실패했다고 해서 그 취약점이 무해하다는 증거가 되지는 않습니다.
3. 실제 위험도에 따라 우선순위 지정하기
심각도 점수(Severity scores)는 유용하지만, 심각도만으로는 전체 공격 경로를 설명할 수 없습니다.
가상의 두 가지 발견 사항을 고려해 보겠습니다:
| 발견 사항 | 환경 | 잠재적 우선순위 |
|---|
| 격리된 내부 도구의 심각한 취약점 | 프로덕션 네트워크에서 접근 불가 | 맥락 속 조사 필요 |
| 인터넷에 노출된 애플리케이션의 중간 심각도 취약점 | 민감한 고객 데이터 노출 가능성 있음 | 긴급 주의가 필요할 수 있음 |
두 번째 발견 사항은 증거와 사용 가능한 제어(controls)에 따라 더 즉각적인 비즈니스 위험을 나타낼 수 있습니다.
AWS Continuum은 코드 저장소 및 AWS 환경 정보를 기반으로 구축된 맥락 그래프(context graph)를 사용하여 취약점을 인프라 및 잠재적 공격 경로와 연결하는 데 도움을 줍니다.
이러한 맥락 정보는 팀이 다음과 같은 질문에 답하도록 도울 수 있습니다:
- 영향받은 구성 요소가 노출되어 있습니까?
- 공격자가 잠재적으로 접근할 수 있는 리소스는 무엇입니까?
- 이 문제가 민감한 데이터나 중요한 서비스에 영향을 미칠 수 있습니까?
- 어떤 수정 사항을 먼저 수행해야 합니까?
목표는 심각도 레이블에만 의존하기보다는 증거와 맥락을 기반으로 작업을 우선순위화하는 것입니다.
4. 개발자 워크플로우를 통한 수정
취약점이 조사된 후, 다음 과제는 안전하게 이를 수정하는 것입니다.
Continuum은 다음과 같은 옵션을 포함하여 수정 방안을 제안할 수 있습니다:
- 코드 패치(Code patches)
- 종속성 업그레이드(Dependency upgrades)
- 구성 변경(Configuration changes)
연결된 GitHub 저장소의 경우, 제안된 수정 사항은 풀 리퀘스트(pull requests)와 같은 개발자 워크플로우를 통해 전달될 수 있습니다.
이는 개발자에게 대시보드의 또 다른 경고가 아닌 검토할 구체적인 변경 사항을 제공합니다.
합리적인 수정 워크플로우는 다음과 같습니다:
- 취약점 및 지원 증거 검토.
- 제안된 코드 또는 구성 변경 사항 검사.
- 단위 테스트(unit test) 및 통합 테스트(integration test) 실행.
- 관련 보안 점검 실행.
- 필요한 검토 및 승인 획득.
- 정상적인 릴리스 프로세스를 통해 병합(merge) 및 배포(deploy).
- 회귀(regression)를 유발하지 않으면서 문제가 해결되었는지 확인.
인간의 감독이 중요합니다. 일반 사용 가능 단계(general availability)에서 복구는 인간의 승인으로 시작됩니다. 팀은 Continuum이 검토 없이 모든 수정 사항을 프로덕션에 자동으로 적용한다고 가정해서는 안 됩니다.
이는 AI 생성 코드에 어떤 의미가 있습니까?
AI 코딩 어시스턴트는 개발자가 함수 작성, API 구축, 테스트 생성 및 애플리케이션 구성 요소 생성을 신속하게 할 수 있도록 도울 수 있습니다.
하지만 생성된 코드에는 여전히 다음과 같은 취약점이 포함될 수 있습니다:
- 부적절한 입력 유효성 검사(Inadequate input validation)
- 손상된 권한 부여 확인(Broken authorization checks)
- 안전하지 않은 종속성 선택(Unsafe dependency choices)
- 보안되지 않은 구성(Insecure configuration)
- 민감 데이터의 부적절한 처리
해결책은 AI 지원 개발을 포기하는 것이 아닙니다. 개발 생명주기(development lifecycle)에 보안을 통합하는 것입니다.
실용적인 워크플로는 다음과 같습니다:
이 접근 방식은 엔지니어링 책임성을 유지하면서 보안을 코드와 가깝게 유지합니다.
AWS Continuum은 팀이 취약점을 조사하고, 그 맥락을 이해하며, 제안된 수정 사항을 개발자 워크플로우로 이동하는 것을 도와 이 프로세스를 지원할 수 있습니다.
Amazon Bedrock: 개인 정보 보호 및 데이터 보호
AWS는 또한 Amazon Bedrock의 보안 및 개인 정보 보호 기반을 강조합니다.
AWS가 공개한 Bedrock 보안 및 개인 정보 보호 정보에 따르면:
- 고객의 입력 및 출력은 모델 제공업체와 공유되어 그들의 파운데이션 모델(foundation model) 훈련에 사용되지 않습니다.
- 고객의 입력 및 출력은 기반이 되는 파운데이션 모델을 훈련하는 데 사용되지 않습니다.
- 고객이 파운데이션 모델을 미세 조정(fine-tune)할 때, AWS는 해당 고객의 사용을 위해 비공개 사본을 생성합니다.
- 지원되는 구성에 대해 암호화 및 개인 연결 옵션이 제공됩니다.
이러한 보호 기능은 조직이 소스 코드 또는 기타 민감 정보를 포함하는 AI 기반 워크플로우를 평가할 때 관련성이 높습니다.
하지만 개인 정보 보호 보호 장치가 애플리케이션 수준의 보안을 대체하지는 않습니다. 팀은 여전히 권한을 구성하고, 데이터 처리를 검토하며, 최소 권한(least privilege)을 적용하고, 조직의 규정 준수 요구 사항을 충족해야 합니다.
자세한 내용은 Amazon Bedrock Security and Privacy 문서를 참조하십시오.
실질적인 도입 체크리스트
AWS Continuum을 평가하고 있다면, 소규모 파일럿으로 시작하는 것이 좋습니다.
1단계: 저장소 선택
명확한 소유자, 관리 가능한 범위, 확립된 테스트 스위트를 가진 애플리케이션을 선택합니다.
2단계: 지원되는 코드 소스 구성
지원되는 통합 기능을 검토하고 파일럿에 필요한 권한만 부여합니다.
3단계: 관련 AWS 환경 컨텍스트 추가
적절한 경우, AWS Continuum 수집기(collector)를 구성하여 평가가 인프라 컨텍스트를 사용하여 노출 및 잠재적 영향을 평가하는 데 도움을 받을 수 있도록 합니다.
4단계: 발견된 내용 및 증거 검토
어떤 취약점이 보고되었는지, 어떤 증거가 악용 가능성을 뒷받침하는지, 그리고 해당 문제가 배포된 환경과 어떻게 관련되는지 확인합니다.
5단계: 제안된 수정 사항 검토
생성된 패치는 제안으로 간주하십시오. 변경 사항을 검사하고, 테스트를 실행하며, 병합하기 전에 적절한 승인을 받으십시오.
6단계: 개선 측정
다음과 같은 지표를 추적합니다:
- 발견부터 검증까지의 시간(Time from discovery to validation)
- 검증부터 승인된 수정까지의 시간(Time from validation to approved remediation)
- 취약점 백로그 크기(Vulnerability backlog size)
- 발견 사항 조사에 소요된 개발자 시간
- 재개된 문제 및 회귀 현상(Reopened issues and regressions)
이러한 측정값은 워크플로우가 단순히 더 많은 발견 사항을 생성하는 것이 아니라 보안 결과를 개선하는지 여부를 판단하는 데 도움을 줍니다.
가용성
AWS는 코드 취약점에 대한 AWS Continuum의 일반 사용 가능(General Availability, GA) 출시일을 2026년 10월 22일로 발표했습니다.
출시 시점에는 다음 지역에서 사용할 수 있습니다:
- US East (N. Virginia)
- US West (Oregon)
최신 리전 가용성, 지원되는 통합 기능, 설정 요구 사항 및 가격 책정은 공식 AWS 리소스를 확인해 주십시오.
마무리하며
애플리케이션 보안의 다음 단계는 단순히 더 많은 취약점을 발견하는 것이 아닙니다. 어떤 탐지 결과가 의미 있는 위험을 초래하는지 이해하고, 이를 증거로 검증하며, 개발자가 안전하게 조치(remediate)할 수 있도록 돕는 것입니다.
AWS Continuum은 이러한 활동들을 연결된 워크플로우로 통합하여, 보안 및 개발 팀이 단순히 경고를 관리하는 단계를 넘어 지속적이고 위험 기반의 조치로 나아갈 수 있도록 지원합니다.
AI가 생성한 코드가 더욱 일반화됨에 따라, 보안 프로세스는 테스트, 검토 또는 책임성을 희생하지 않으면서 속도를 맞춰야 합니다.
AI는 개발과 조치를 가속화하는 데 도움을 줄 수 있지만, 안전한 소프트웨어는 여전히 증거, 적절한 통제(appropriate controls), 그리고 책임 있는 인간의 결정에 달려 있습니다.
귀하의 보안 워크플로우에서 가장 큰 차이를 만들 것은 무엇일까요? 더 나은 취약점 탐지, 익스플로잇 가능성 검증, 위험 기반 우선순위 지정, 아니면 더 빠른 조치(remediation)일까요?
댓글에 의견을 공유해 주세요.
AWS #ApplicationSecurity #DevSecOps #AI