Socket - サプライチェーン&悪意あるパッケージ検出チートシート
Socketはソフトウェアサプライチェーンセキュリティツールで、既知のCVEにマッチするだけではなく、悪意あるパッケージを動作ベースで検出することに焦点を当てています。依存関係が実際に何をするか、インストールスクリプト、ネットワークとファイルシステムアクセス、難読化されたコード、その他のリスク機能を検査して、署名ベースのスキャナーでは見逃すタイポスクワッティングや侵害されたリリースをキャッチします。npm、PyPI、Go、Maven等のエコシステムをカバーし、CLI、GitHubアプリ、CIを通じて開発者ワークフローに統合されます。
インストール
| 方法 | コマンド |
|---|
| npm(CLI) | npm install -g @socketsecurity/cli |
| npx(インストール不要) | npx @socketsecurity/cli --help |
| Homebrew | brew install socket |
| pip(Python CLI) | pip install socketsecurity |
| GitHubアプリ | GitHub Marketplaceからソケットアプリをインストール |
| 認証 | socket login(APIトークン設定) |
コアCLIコマンド
| コマンド | 説明 |
|---|
socket scan create . | 現在のプロジェクトの新しいサプライチェーンスキャンを作成 |
socket scan list | 組織の以前のスキャンを一覧表示 |
socket scan view <ID> | 特定のスキャン結果を表示 |
socket package score npm react | パッケージのサプライチェーンスコアを取得 |
socket npm install <pkg> | インストール前にパッケージをチェックするnpmラッパー |
socket npx <pkg> | パッケージを最初に検証する安全なnpx |
socket ci | CI用にチューニングされたスキャン(問題がある場合は0以外の終了) |
socket --help | 完全なコマンドリファレンス |
Socketがフラグを立てるもの
| 機能・信号 | 重要な理由 |
|---|
| インストールスクリプト | postinstallフックはマルウェアの一般的なベクトル |
| ネットワークアクセス | インストール・ランタイム時の予期しない外部接続 |
| ファイルシステムアクセス | SSH鍵、env ファイルなど機密パスの読み取り |
| シェル・プロセス実行 | シェルまたは子プロセスの生成 |
| 難読化されたコード | 動作を隠すミニファイ・エンコードペイロード |
| タイポスクワット | 人気パッケージに似た名前 |
| テレメトリ・流出 | データ収集と流出パターン |
パッケージスコア
# 追加前に1つの依存関係を検査
socket package score npm left-pad
socket package score pypi requests
# リスク候補と代替案を比較
socket package score npm chalk
スコアはサプライチェーンリスク、品質、保守性、脆弱性の次元を要約するため、依存関係を迅速に判断できます。
CI / GitHub統合
| 統合 | 動作 |
|---|
| GitHubアプリ | 危険な依存関係の変更を導入するPRにコメント |
socket ci | スキャンが閾値を超えたときパイプラインを失敗 |
| 設定ファイル | socket.ymlどの問題タイプがブロック対警告かを調整 |
| 差分認識 | PRが追加するものに焦点を当て、ノイズを削減 |
設定(socket.yml)
version: 2
issueRules:
installScripts: error
networkAccess: warn
telemetry: warn
obfuscatedCode: error
| フィールド | 目的 |
|---|
issueRules | 各機能・問題をerror、warn、ignoreに設定 |
projectIgnorePaths | スキャンから除外するパス |
一般的なワークフロー
# package.jsonに入る前に依存関係を検証
socket npm install some-package
# CI のプルリクエストをゲート
socket ci
# 既存リポジトリの全依存関係ツリーを監査
socket scan create . && socket scan list
Socket 対 従来のSCA
| 側面 | Socket | 従来のSCA(CVEマッチャーなど) |
|---|
| プライマリ信号 | 動作・機能 | 既知CVEデータベースマッチ |
| ゼロデイマルウェアをキャッチ | はい(動作ベース) | いいえ(既知CVEが必要) |
| タイポスクワット検出 | はい | 限定的 |
| 最適ペアリング | Syft/Grype、Sigstore | Socket でマルウェアカバレッジ |
リソース