アップデート一覧に戻る
New releaseJul 24, 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アドレス、ホスト名、メールアドレス
  • 設定可能な感度モード(保守的/攻撃的)と拡張可能なプローブシステム
  • 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 package READMEを参照してください。

Workspaces

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

プロジェクトに貢献したい開発者の方は、まず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 に保存されます。このファイルは手動で編集しないでください。プルリクエストごとに自動的に更新されます。

Contributors ✨

All Contributors

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

License

MIT

カテゴリ