우리는 Dependency Audit를 새로운 ClawMoat 탐지로 전환했습니다

발행: (2026년 3월 18일 AM 05:13 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

Prototype Pollution (__proto__ injection)

CVE family: axios mergeConfig, lodash merge

공격자는 {"__proto__": {"admin": true}}와 같은 JSON을 취약한 라이브러리에 보낼 수 있습니다. AI 에이전트가 해당 내용을 처리하거나 전달하면 호스트 애플리케이션의 프로토타입 체인이 손상될 수 있습니다.

ClawMoat이 이제 감지합니다:

{"__proto__": {"isAdmin": true}}
{"constructor": {"prototype": {"role": "admin"}}}

ReDoS via Nested Extglobs

CVE family: minimatch GHSA-952p-6rrq-rcjv, GHSA-f8q6-p94x-37v3

minimatch 라이브러리는 *(*(*(a)))와 같은 패턴이나 인접한 ** 구간이 여러 개 있을 때 심각하게 백트래킹합니다. 에이전트가 이러한 패턴을 사용해 파일 경로를 검증하면 서비스 거부(DoS) 공격에 노출될 수 있습니다.

ClawMoat이 이제 표시합니다:

  • 중첩된 *() extglob 패턴
  • 인접한 GLOBSTAR 구간이 여러 개인 경우 (예: **abc**def**)
  • (.+)+와 같은 고전적인 중첩 수량자

JWT Algorithm Confusion

CVE family: PyJWT GHSA-m695-7mj6-7w6v, jose alg:none

alg: none 공격은 JWT 라이브러리에게 서명 검증을 완전히 건너뛰도록 지시합니다. kid 삽입 공격은 키 ID 헤더에 SQL이나 경로 탐색 페이로드를 숨길 수 있습니다.

ClawMoat이 이제 감지합니다:

{"alg": "none", "typ": "JWT"}
{"kid": "../../keys/../../etc/passwd"}
{"crit": ["custom-header"]}

Decompression Bombs

CVE family: urllib3 GHSA-g4mx-q9vg-27p4

urllib3는 이전에 압축 해제 체인의 깊이에 제한이 없었으며, 공격자는 gzip을 brotli 안에, brotli를 zstd 안에 중첩시켜 메모리를 고갈시킬 수 있었습니다. 에이전트가 신뢰할 수 없는 소스의 콘텐츠를 압축 해제하면 이는 실질적인 공격 벡터가 됩니다.

ClawMoat은 중첩된 압축 지시문과 의심스러울 정도로 큰 Base64 인코딩 페이로드를 감지합니다.

Drive‑Relative Path Traversal

CVE family: tar GHSA-qffp-2rhf-9h96

Windows에서 C:target과 같이 백슬래시 없이 경로를 지정하면 C:\target이 아니라 현재 C: 드라이브 디렉터리로 해석됩니다. 이러한 항목을 포함한 아카이브는 ../ 검사를 우회하여 의도된 추출 디렉터리 밖에 파일을 쓸 수 있습니다.

ClawMoat의 멀티모달 스캐너는 C:filename 패턴은 물론 절대 경로(C:\, /)와 UNC 경로(\\server\share)도 포착합니다.

The Flywheel

실제 취약점 → 실제 패턴 → 실제 방어.
공개된 모든 CVE는 공격자에게 로드맵을 제공합니다; 우리는 같은 로드맵을 사용해 탐지를 구축합니다. ingest하는 CVE가 많을수록 ClawMoat은 강력해집니다.

New Scanner

새 스캐너 scanDependencyAttacks()가 이제 ClawMoat에 제공되며, 의존성이 없고 순수 정규식으로 구현되었습니다.

const { scanDependencyAttacks } = require('clawmoat');

const result = scanDependencyAttacks(userInput);
if (!result.clean) {
  console.log('Attack pattern detected:', result.findings);
}

ClawMoat on GitHub | clawmoat.com

0 조회
Back to Blog

관련 글

더 보기 »