방금 출시된 AWS CodeBuild를 사용하여 VAddy 취약성 진단 자동 실행

VAddy Advent 캘린더 둘째 날 기사입니다.
VAddy는 지속적인 웹 취약성 진단을 쉽게 실현할 수 있는 SaaS입니다.

내가 좋아하는 맥주의 종류는 PaleAle과 IPA (India Pale Ale)입니다. IPA는 18세기경 영국에서 인도에 맥주를 수출할 때 배로 며칠 동안 운반했기 때문에 도중에 맥주가 열화되는 문제가 있었기 때문에 방부작용이 있는 홉을 대량으로 넣어 알코올 도수도 높게 한 것이 시작으로, 죄송합니다.

AWS CodeBuild란?





어젯밤에 re:Invent에서 발표된 풀매니지드의 빌드 툴입니다. Jenkins나 CircleCI와 같은 것으로, 뭔가를 설치하거나 인스턴스를 미리 준비할 필요도 없고, 빌드하는 타이밍에 인스턴스가 사용되어 빌드가 끝나면 자동으로 인스턴스가 파기됩니다.
이쪽의 블로그가 상세하므로 상세를 알고 싶은 분은 봐 주세요.
htp : //에서 v.ぁsss d. jp / e tc / rein ゔ t-2016

CodeBuild용 리포지토리를 github에 생성



github의 리포지토리를 기반으로 빌드를 실행해보십시오.
우선 github에 리포지토리를 만들어 아래와 같은 buildspec.yml을 커밋해 둡니다.
이 buildspec.yml이 리포지토리에 있으면 빌드가 진행됩니다. 이번에는 post_build(빌드가 끝난 후의 처리)에서 VAddy의 CLI 도구을 다운로드하여 취약성 검사를 실행하고 확인하는 명령을 실행하고 있습니다.
version: 0.1

phases:
  install:
    commands:
      - echo Nothing to do in the install phase...
  pre_build:
    commands:
      - echo Nothing to do in the pre_build phase...
  build:
    commands:
      - echo Nothing to do in the build phase...
  post_build:
    commands:
      - git clone https://github.com/vaddy/go-vaddy.git govaddy ; govaddy/bin/vaddy-linux-64bit 
      - echo Build completed on `date`

CodeBuild로 시험에 빌드 해보기



여기에서 AWS CodeBuild 관리 화면을 조작합니다. 현재 도쿄 지역에서는 제공되지 않으므로 미국 지역에서 사용하고 있습니다.
h tps : // u s ぇ st-2. 안녕하세요. 아 ws. 아마존. 코 m/코데부이 ld

Create Project 버튼을 눌러 프로젝트를 만듭니다.
리포지토리는 github를 선택하면 github의 인증 화면이 나오므로 액세스 허용합니다. 그러면 github 리포지토리 목록이 표시되므로 선택하십시오.


Current build specification 항목은 Using buildspec.yml in the source code root directory를 선택합니다. 이제 저장소의 builspec.yml이 사용됩니다.

이 상태에서 빌드를 실행하면 오류가 발생한다고 생각합니다. VAddy의 CLI 도구에 필요한 토큰이나 사용자 이름을 지정하지 않았기 때문입니다.

CodeBuild 빌드 실행 후 VAddy 취약성 검사 실행



VAddy API를 통해 취약성 검사를 수행하기 위한 정보를 환경 변수에 설정합니다.
방금 만든 CodeBuild 프로젝트의 편집 화면에 가면 아래쪽에 "Show Advanced Settings"라는 메뉴가 있으므로 거기를 클릭하여 VAddy API를 이용하는 데 필요한 정보를 "Environment Variables"로 설정합니다. 합니다.


빌드를 실행하고 취약성 건수가 0건이면 빌드가 모두 성공합니다.


취약점이 1건이라도 발견된 경우



만약 취약성이 한 건이라도 발견되었다면, VAddy CLI 도구 가 이상 종료하므로 거기에서 빌드가 실패합니다.


사이고에게



AWS CodeBuild는 방금 출시되었기 때문에 브랜치 지정 등 세세한 대응은 할 수 없지만 곧 업데이트되어 대응한다고 생각합니다.
현재 VAddy의 개발 환경에서는 항상 EC2 인스턴스를 시작하여 Jenkins를 가동하고 있기 때문에 앞으로는 이러한 필요할 때만 빌드하여 인스턴스 가격을 줄이는 방향도 생각해 가고 싶습니다.

좋은 웹페이지 즐겨찾기