Skip to content
KitploitKITPLOIT
도구블로그
Log in
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
url-regex-safe — URL용 정규식 매칭. url-regex의 유지 관리되고 안전하며 브라우저 친화적인 버전입니다. Node.js 서버의 CVE-2020-7661을 해결합니다. | Kitploit
도구/GitHubGitHub/spamscanner/url-regex-safe
General Purpose UtilitiesStatic AnalysisVulnerability AnalysisScripting & AutomationWeb Security
GitHubspamscanner/url-regex-safe

url-regex-safe

URL용 정규식 매칭. url-regex의 유지 관리되고 안전하며 브라우저 친화적인 버전입니다. Node.js 서버의 CVE-2020-7661을 해결합니다.

저장소 보기
8116143년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
웹사이트
공유

url-regex-safe

build status code style styled with prettier made with lass license npm downloads

URL을 위한 정규식 매칭. [url-regex][]의 유지 관리되는 안전한 브라우저 친화적 버전입니다. Node.js 서버용 [CVE-2020-7661][cve]을 해결합니다. Node v14+ 및 브라우저에서 작동합니다. [Spam Scanner][spam-scanner] 및 [Forward Email][forward-email]을 위해 유지 관리됩니다.

목차

  • 머리말
  • 설치
  • 사용법
    • Node
    • 브라우저
  • 옵션
  • url-regex에서의 빠른 팁과 마이그레이션
  • 제한 사항
  • 기여자
  • 라이선스

머리말

[CVE-2020-7661][cve]을 발견하고 ([Spam Scanner][spam-scanner] 및 [Forward Email][forward-email]에서의 작업을 통해) 공개적으로 공개한 후 – 잘못된 URL 매치를 걸러내기 위해 [url-regex][] 구현체에 약간의 추가 접착 코드를 더해 사용했습니다.

그러나 주당 수십만 통의 이메일을 처리하는 [Forward Email][forward-email] 프로덕션에서 사용한 후, [url-regex][]에서 핵심 문제 몇 가지를 더 발견하고 문서화했습니다.

[url-regex][]가 더 이상 활발히 유지 관리되지 않고, 이 글을 쓰는 시점에 9개의 열린 풀 리퀘스트가 있으며, 브라우저 지원도 부족하다는 것을 깨닫고 – 이 패키지를 모든 사람을 위해 작성하고 모든 열린 풀 리퀘스트를 병합하기로 결정했습니다.

이 패키지는 URL 정규식의 실제 의도된 사용 방식에 더 가깝게 동작하고, 사용자가 원하는 대로 구성할 수도 있기를 바랍니다. 이 패키지가 도움이 되었다면 [Forward Email][forward-email]을 확인해 주시고, GitHub에서 이 패키지를 어떻게 사용하는지 보여주는 소스 코드도 살펴보세요.

설치

참고: 이 패키지의 기본 동작은 re2를 로드하려 시도합니다 (정규식 서비스 거부 공격 등을 방지하는 데 사용되는 선택적 peer dependency입니다). 이 동작을 사용하려면 npm install re2를 통해 re2를 설치해야 합니다. 그렇지 않으면 일반 RegExp 인스턴스를 사용하도록 대체됩니다. v4.0.0부터는 이 패키지가 re2 로드를 시도조차 하지 않도록 강제하려는 경우를 위한 옵션을 추가했습니다 (예: node_modules에 있지만 사용하고 싶지 않은 경우) – 옵션으로 re2: false를 전달하기만 하면 됩니다.

[npm][]:

npm install url-regex-safe

사용법

Node

Node.js 사용을 위해 [RE2][]를 포함하여 [CVE-2020-7661][cve]을 해결했습니다. 이제 url-regex-safe를 통해 URL 정규식을 수동으로 new RE2(urlRegex())로 감쌀 필요가 없습니다 (자동으로 처리합니다).

const urlRegexSafe = require('url-regex-safe');

const str = 'some long string with url.com in it';
const matches = str.match(urlRegexSafe());

for (const match of matches) {
  console.log('match', match);
}

console.log(urlRegexSafe({ exact: true }).test('github.com'));

브라우저

[RE2][]는 브라우저용이 아니므로 사용되지 않으며, 따라서 [CVE-2020-7661][cve]은 여전히 클라이언트 측 문제입니다. 그러나 최악의 경우 브라우저 탭이 충돌할 뿐이므로 심각하지 않습니다 (Node.js 측에서는 전체 프로세스가 충돌하고 메모리 부족 예외가 발생했을 것입니다).

VanillaJS

모든 곳에서 <script> 태그만 사용하고 있다면 이것이 해결책입니다!

<script src="https://unpkg.com/url-regex-safe"></script>
<script type="text/javascript">
  (function() {
    var str = 'some long string with url.com in it';
    var matches = str.match(urlRegexSafe());

    for (var i=0; i<matches.length; i++) {
      console.log('match', matches[i]);
    }

    console.log(urlRegexSafe({ exact: true }).test('github.com'));
  })();
</script>

번들러

[browserify][], [webpack][], [rollup][] 또는 다른 번들러를 사용하고 있다면 위의 Node 사용법을 따르면 됩니다.

TypeScript

이 패키지를 TypeScript와 함께 사용하려면 타입 정의를 위해 @types/url-regex-safe 패키지를 설치할 수 있습니다.

npm install --save-dev @types/url-regex-safe

옵션

도구 다운로드