アップデート一覧に戻る
New releaseSep 19, 2026

js-x-ray @nodesecure/[email protected]

JavaScript & Node.js オープンソース SAST スキャナー。最も一般的な悪意のあるパターンを検出する静的解析ツール 🔬。

共有

@nodesecure/js-x-ray

npm version license ossf scorecard slsa level3 github ci workflow

JS-X-Ray は、悪意のあるパターン、セキュリティ脆弱性、コードの異常を特定するための JavaScript & TypeScript 向け SAST です。ESLint のようなものですが、セキュリティ分析に特化していると考えてください。もともとは NodeSecure CLI のために作られましたが、JS-X-Ray はサプライチェーン保護のための独立した本格的な選択肢となっています。

🔎 仕組み

JS-X-Ray は JS または TS のコードを 抽象構文木 (AST) にパースし、RegEx や Semgrep ルールを多用しません。これにより、変数の追跡、動的インポートの解決、パターンマッチングツールでは見逃される高度な難読化の検出が可能になります。トレードオフとして、JS-X-Ray は JavaScript/TypeScript エコシステムに純粋に特化しています。

💡 機能

  • 完全な変数追跡による require()import、動的インポートの追跡
  • 難読化されたコードの検出と使用ツールの特定 (jsfuck、jjencode、obfuscator.io など)
  • 悪意のあるパターンの検出: データ流出、process.env のシリアライズ、安全でないシェルコマンド
  • 脆弱なコードの検出: eval()Function() コンストラクタ、ReDoS を引き起こす正規表現、SQL インジェクション
  • 弱い暗号アルゴリズム (MD5、SHA1 など) の検出
  • インフラストラクチャ指標の抽出: URL、IP、ホスト名、メールアドレス
  • 設定可能な感度モード (conservative/aggressive) と拡張可能なプローブシステム
  • JavaScript と TypeScript の両方をサポート

💃 はじめに

これらのパッケージは Node パッケージリポジトリで入手可能で、npm または yarn で簡単にインストールできます。

$ npm i @nodesecure/js-x-ray
# or
$ yarn add @nodesecure/js-x-ray

👀 使用方法

import { AstAnalyser } from "@nodesecure/js-x-ray";

const scanner = new AstAnalyser();

const { warnings, dependencies } = await scanner.analyseFile("./file.js");

console.log(dependencies);
console.dir(warnings, { depth: null });

完全な API ドキュメント、警告カタログ、高度な使用方法については、@nodesecure/js-x-ray パッケージ README を参照してください。

ワークスペース

🐥 コントリビューターガイド

プロジェクトに貢献したい開発者は、まず CONTRIBUTING ガイドを読む必要があります。

開発が完了したら、次のスクリプトを実行してテスト (およびリンター) がまだ良好であることを確認してください:

$ npm run check

[!CAUTION] 新機能を導入したりバグを修正したりする場合は、必ずそのテストも含めてください。

内部 API

JS-X-Ray の内部に取り組むコントリビューター向けに、以下のリソースは低レベルのユーティリティと AST 操作パターンを文書化しています:

ベンチマーク

js-x-ray のパフォーマンスは mitata を使用して測定および追跡されています。

ベンチマークを実行するには:

  1. workspaces/js-x-ray に移動します。
  2. npm run bench を実行します。

ベンチマーク結果は workspaces/js-x-ray/benchmark/report.json に保存されます。このファイルを手動で編集しないでください。プルリクエストごとに自動的に更新されます。

コントリビューター ✨

All Contributors

これらの素晴らしい人々に感謝します (emoji key):

ライセンス

MIT

カテゴリ