Nodejs 프로젝트를 위한 종단간 DevSecOps 파이프라인 생성
파이프라인을 이해하는 것부터 시작하겠습니다.
Github에서 nodejs 프로젝트를 가져오고 workflow.yml을 작성합니다.
이 yml 파일에서 내가 만든
github 저장소 설정에서 토큰 양식 Synk 및 Sonar 클라우드(SYNK_TOKENS & SONAR_TOKEN)를 생성해야 했습니다.
그런 다음 워크플로를 커밋하면 github의 작업 탭에서 스캔이 실행되기 시작합니다.
name: Build code, run unit test, run SAST, SCA, DAST security scan for NodeJs App
on: push
jobs:
build:
runs-on: ubuntu-latest
name: Run unit tests and SAST scan on the source code
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
cache: npm
- run: npm install
- name: SonarCloud Scan
uses: sonarsource/sonarcloud-github-action@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
with:
args: >
-Dsonar.organization=<PUT YOUR ORGANIZATION NAME>
-Dsonar.projectKey=< PUT YOUR PROJECT KEY NAME>
security:
runs-on: ubuntu-latest
needs: build
name: Run the SCA scan on the source code
steps:
- uses: actions/checkout@master
- name: RunSnyk to check for vulnerabilities
uses: snyk/actions/node@master
continue-on-error: true
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKENS }}
zap_scan:
runs-on: ubuntu-latest
needs: security
name: Run DAST scan on the web application
steps:
- name: Checkout
uses: actions/checkout@v2
with:
ref: master
- name: ZAP Scan
uses: zaproxy/[email protected]
with:
docker_name: 'owasp/zap2docker-stable'
target: 'http://example.com/'
rules_file_name: '.zap/rules.tsv'
cmd_options: '-a'
보고서는 스캔 이름을 클릭하거나 언급될 대시보드 URL을 통해 아티팩트 또는 작업으로 생성됩니다.
SAST 보고서
SCA 보고서
DAST 보고서
github 저장소-https://github.com/asecurityguru/devsecops-with-github-actions-end-to-end-nodejs-project
이것이 문제에 대한 해결책을 찾는 데 도움이 되기를 바랍니다.
고맙습니다
Reference
이 문제에 관하여(Nodejs 프로젝트를 위한 종단간 DevSecOps 파이프라인 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aksrao1998/created-a-end-to-end-devsecops-pipeline-for-nodejs-project-3kcc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)