yon11b

[SK 쉴더스 루키즈] 공급망 보안 취약점 본문

보안/SK 쉴더스 루키즈

[SK 쉴더스 루키즈] 공급망 보안 취약점

yon11b 2026. 5. 1. 01:23
반응형

실습: [NodeGoat] marked 라이브러리 취약점

: markdown → html 변환 과정에서 발생하는 js 취약점

 

 

 

 

그냥 모든 XSS 가 되는게 아니라 마크다운 형식의 공격만 통한다.!!! 그래서 <script> 공격은 안 통한 것.

→ NodeGoat가 HTML 태그는 차단(escape)하지만, 마크다운 링크의 URL은 검증을 안 한다.

  1. [Hello](javascript:alert(1)) → 차단됨
  2. [Hello world](javascript:alert(1)) → 차단됨
  3. [Hello everyone](javascript&#58this;alert(1))) → 차단 실패하나 동작은 안됨
  4. [I'm here!](javascript&#58this;alert%281%29) → 공격 성공!!

 

공급망 취약점 찾는 도구들

1. npm audit

node.js 패키지 취약점 검사 도구

- 검사 대상: package.json, node_modules

 

docker exec nodegoat-web-1 npm audit

 

nodegoat에는 697개의 취약점이 존재한다.

 

 

2. Trivy

범용 보안 스캐너

 

검사 대상:

  • OS 패키지 (apt, apk 등)
  • Docker 이미지
  • 라이브러리 (Node, Python 등)
  • IaC (Terraform 등)
  • Secret (키, 토큰)

 

1. 도커 이미지를 검사하기

trivy image nodegoat-web:latest > result.txt

 

 

 

아까 실습했던 marked XSS 취약점도 확인해 볼 수 있다.

 

 

url을 타고 들어가면 CVE 정보들도 확인할 수 있다.

 

 

2. 현재 소스코드 디렉토리 검사하기

cd ~/NodeGoat
trivy filesystem --ignore-unfixed --pkg-types os,library \
                 --scanners vuln,secret,misconfig ./ > fs-result.txt
vi fs-result.txt

 

 

3. VM 서버 전체 검사하기

sudo trivy fs / --pkg-types os,library --scanners vuln,secret,misconfig

 

 

 

 

 

728x90