Security Scanner
誰でも作れてしまう、
という恐怖。
yomii
SPAビルド成果物を静的解析し、本番環境に出てはいけない
セキュリティリスクを検出するCLIツール
Scroll
For the AI Era
誰でも作れる時代、
誰でも狙われる時代。
AIが生み出すコードの死角
- 動くけど、何が埋まっているかわからない
- 環境変数の展開ミスで本番キーがハードコード
- ビルド設定ミスでソースマップが残存
- サードパーティライブラリに潜むシークレット
作るのはAI。
守るのはyomii。
ビルド後の最終成果物をスキャン。
攻撃者より先に、穴を見つける。
バイブコーディング時代の、最後の砦。
WHY BUILD ARTIFACTS?
なぜビルド成果物を解析するのか
対象
ツール例
タイミング
ソースコード
ESLint, SonarQube
開発中・PR
git履歴
gitleaks, trufflehog
コミット時
依存関係
npm audit, Snyk
インストール時
ビルド成果物
yomii
デプロイ直前
ソース解析だけでは不十分な理由
01
ソースにはないがビルド時に埋め込まれる(環境変数のミス)
02
ソースマップが残る(ビルド設定ミス)
03
最終成果物の確認(本番デプロイ直前)
04
サードパーティのビルド済みコード(自分で書いてない部分)
本番に出る直前の、最後の砦。
あなたのSPAには
何が隠れていますか?
ビルドされたSPAには、意図せず機密情報が含まれていることがあります。
APIキー、ソースマップ、認証トークン...
ハードコードされたAPIキー
- 不正利用
- 高額請求
- データ漏洩
残存するソースマップ
- ソースコード流出
- ビジネスロジック露出
安全でない認証実装
- アカウント乗っ取り
- 不正アクセス
汚染されたnpmパッケージ
- 認証情報の外部送信
- バックドア設置
- サプライチェーン攻撃
DETECTION
yomiiが検出するセキュリティリスク
API Keys & Tokens
AWS, GCP, Stripe, OpenAI等、主要サービスのAPIキー・トークンパターンを検出
Source Maps
.mapファイル、sourceMappingURL参照の残存を検出。ソースコード漏洩を防止
Auth Flows
JWTのlocalStorage保存など、セキュリティベストプラクティスに反する認証実装を検出
Bundle Analysis
バンドルサイズ・初期ロード時間を推定。パフォーマンス最適化のインサイトを提供
HOW IT WORKS
シンプルなCLIコマンドで即座にスキャン
01
インストール
npm install -g spa-scan
→
02
スキャン実行
spa-scan ./dist
→
03
レポート出力
spa-scan ./dist -o ./result
Terminal
$ spa-scan ./dist
========================================
SPA Security Scan Report
========================================
🔴 CRITICAL: 2件
🟠 HIGH: 3件
🟡 MEDIUM: 1件
🟢 LOW: 0件
----------------------------------------
[トークン露出]
🔴 CRITICAL: 2件
🟠 HIGH: 3件
[ソースマップ]
🟡 MEDIUM: 1件
----------------------------------------
※ 詳細表示: --verbose オプションを使用
Scanned: 42 ファイルをスキャンしました
Path: ./dist
Exit code: 1 (CRITICAL/HIGH検出) CI/CD INTEGRATION
パイプラインに組み込んでセキュリティチェックを自動化
0
問題なし
MEDIUM以下の検出のみ。パイプライン続行
1
CRITICAL/HIGH検出
パイプライン自動停止。デプロイをブロック
→
→
CONTACT
yomiiの導入・ご相談はこちら