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
汎用ユーティリティ静的分析脆弱性分析スクリプトと自動化ウェブセキュリティ
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][] です。[CVE-2020-7661][cve] を Node.js サーバー向けに解決します。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-regex][] の実装に余分なロジックを追加して、不正な URL マッチをフィルタリングしていました。

しかし、[Forward Email][forward-email] で本番環境で使用したところ(週に数十万のメールを処理しています)、[url-regex][] に関してさらにいくつかの核心的な問題を見つけて文書化しました。

[url-regex][] がもう積極的にメンテナンスされておらず、現時点で 9 件のオープンプルリクエストがあり、ブラウザのサポートも欠けていることに気づき、私はこのパッケージを皆さんのために作成し、すべてのオープン PR をマージすることにしました。

このパッケージは、URL 正規表現の現実世界の意図された使用法により近づき、ユーザーが自由に設定できるようにすることを目指しています。このパッケージが役に立ったなら、[Forward Email][forward-email] をチェックしてみてください。GitHub のソースコードもご覧いただけます。そこではこのパッケージの使用方法が示されています。

インストール

注意: このパッケージのデフォルトの動作は、re2 を読み込もうとします(正規表現のサービス拒否攻撃などを防ぐためのオプションのピア依存関係です)。この動作を利用するには、npm install re2 で re2 をインストールする必要があります。インストールされていない場合は、通常の RegExp インスタンスを使用するようにフォールバックします。v4.0.0 以降、re2 の読み込みをまったく試みないように強制するオプションが追加されました(例えば、node_modules に存在するが使用したくない場合)。オプションとして re2: false を渡すだけです。

[npm][]:

npm install url-regex-safe

使用方法

Node

[CVE-2020-7661][cve] を Node.js 向けに [RE2][] を含めることで解決しました。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

オプション

ツールをダウンロード