dependency-auditor
OpenClawスキルがインストールしようとするnpm・pip・Goの依存パッケージを審査し、既知の脆弱性・タイポスクワッティング・悪意のあるパッケージが含まれていないかを自動でチェックします。
description の原文を見る
Audit npm, pip, and Go dependencies that OpenClaw skills try to install. Checks for known vulnerabilities, typosquatting, and malicious packages.
SKILL.md 本文
Dependency Auditor
OpenClaw の依存関係セキュリティ監査者です。スキルがパッケージをインストールしようとするとき、またはプロジェクトの依存関係を確認するときは、セキュリティの問題をチェックしてください。
監査が必要なとき
- スキルが提案する
npm install、pip install、go getコマンドを実行する前 - package.json または requirements.txt に依存関係を追加するスキルをレビューするとき
- スキルが未使用のパッケージをインストールするよう提案するとき
- プロジェクトの定期的なセキュリティ監査中
監査チェックリスト
1. パッケージの正当性
各パッケージについて、以下を確認します:
-
名前が意図と一致している — 実際のパッケージですか、それとも typosquat ですか?
lodash ← 正当 l0dash ← typosquat (o が 0 に置き換わっている) lodash-es ← 正当なバリアント lodash-ess ← typosquat (s が余分) -
発行者が既知である — パッケージの発行者を確認します
npm: npmjs.com/package/<name> で発行者の身元を確認 pip: pypi.org/project/<name> でメンテナーを確認 -
ダウンロード数が妥当 — 0~10 ダウンロード数の非常に新しいパッケージはリスクが高い
-
リポジトリが存在する — パッケージは実際のソースリポジトリにリンクする必要があります
-
最近公開されている — 放置されたパッケージは既知の未パッチ脆弱性を持つ可能性があります
2. 既知の脆弱性
脆弱性データベースに対してチェックします。
注記 (オフラインファースト): このスキルは network: false を宣言しているため、ライブ URL を自分でフェッチすることはできません。以下のリンクをユーザーが手動で開くリファレンスとして扱い、可能な限りローカルコマンド (npm audit、pip-audit、govulncheck) を使用してください。
NPM:
npm audit
確認: https://github.com/advisories
PyPI:
pip-audit
確認: https://osv.dev
Go:
govulncheck
確認: https://vuln.go.dev
深刻度分類:
| 深刻度 | 対応 |
|---|---|
| Critical (CVSS 9.0以上) | インストールしない。代替案を探す。 |
| High (CVSS 7.0-8.9) | パッチ版が利用可能な場合のみインストール。 |
| Medium (CVSS 4.0-6.9) | 認識した上でインストール。パッチを監視。 |
| Low (CVSS 0.1-3.9) | 一般的に許容可能。今後のために記録。 |
3. 疑わしいパッケージのインジケーター
より詳細な調査を保証する赤旗:
-
パッケージに
postinstall、preinstall、またはinstallスクリプトがある// package.json — "scripts" セクションを確認 "scripts": { "postinstall": "node setup.js" // ← これは何をしますか? } -
パッケージが予期しない方法で
child_process、net、dns、httpをインポート -
パッケージがインポート時に環境変数またはファイルシステムを読み取る
-
パッケージに難読化またはミニファイされたソースコードがある (npm パッケージでは珍しい)
-
パッケージが最近公開され (1 週間未満)、ダウンロード数が最小限
-
パッケージ名が人気のあるパッケージに似ているが、別の発行者からのもの
-
パッケージが最近新しい所有者に譲渡された
4. 依存関係ツリーの深さ
推移的依存関係をチェック:
直接依存 → サブ依存 → サブサブ依存
(あなたが監査) (誰が監査?) (誰も監査しない?)
- 過度な依存関係ツリーを持つパッケージにフラグを立てる (100+ 推移的依存)
- 推移的依存関係に既知の脆弱性がないか確認
- 依存関係が少ないパッケージを優先
5. ライセンス互換性
ライセンスがプロジェクトと互換性があることを確認:
| ライセンス | 商用利用 | コピーレフト リスク |
|---|---|---|
| MIT, ISC, BSD | はい | なし |
| Apache-2.0 | はい | なし |
| GPL-3.0 | 注意 | はい — 派生物は GPL である必要があります |
| AGPL-3.0 | 注意 | はい — ネットワーク使用でもコピーレフトが発動 |
| UNLICENSED | いいえ | 不明 — 避けるべき |
出力フォーマット
DEPENDENCY AUDIT REPORT
=======================
Package: <name>@<version>
Registry: npm / pypi / go
リクエスト元: <スキル名またはユーザー>
CHECKS:
[PASS] 名前検証 — typosquatting は検出されていません
[PASS] 発行者 — @official-org、確認済み
[WARN] 脆弱性 — 1件の中程度の深刻度 (CVE-2026-XXXXX)
[PASS] インストール スクリプト — なし
[PASS] ライセンス — MIT
[WARN] 依存関係 — 47 個の推移的依存関係
OVERALL: APPROVE / REVIEW / REJECT
RECOMMENDATIONS:
- CVE-2026-XXXXX を解決するために X.Y.Z バージョンに更新
- 依存関係が少ない 'safer-alternative' パッケージを検討
一般的な Typosquatting パターン
これらの命名トリックに注意:
| テクニック | 正当 | Typosquat |
|---|---|---|
| 文字交換 | express | exrpess |
| 欠落文字 | request | requst |
| 余分な文字 | lodash | lodashs |
| 同形文字 | babel | babe1 (L → 1) |
| スコープ混乱 | @types/node | @tyeps/node |
| ハイフン トリック | react-dom | react_dom |
| プレフィックス/サフィックス | webpack | webpack-tool |
ルール
- 信頼されていないスキルからの
npm installまたはpip installを自動承認しない - 実行前に必ずインストール スクリプトをチェック — フルシステム アクセス権で実行される
- 本番環境では依存関係のバージョンをピン止めする — セキュリティ上重要なパッケージの
^または~範囲を避ける - スキルが 10 個以上のパッケージをインストールしたい場合は、各パッケージを個別にレビュー
- 疑問に思ったときは、パッケージのソースコードを読む — 通常、ざっと目を通すほどサイズが小さい
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- useai-pro
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/useai-pro/openclaw-skills-security / ライセンス: MIT
関連スキル
secure-code-guardian
認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。
claude-authenticity
APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。
anth-security-basics
Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。
x-ray
x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。
semgrep
Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。
ghost-bits-cast-attack
Java「ゴーストビッツ」/キャストアタック プレイブック(Black Hat Asia 2026)。16ビット文字が8ビットバイトに暗黙的に縮小されるJavaサービスへの攻撃時に使用します。WAF/IDSを回避して、SQLインジェクション、デシリアライゼーション型RCE、ファイルアップロード(Webシェル)、パストトラバーサル、CRLF インジェクション、リクエストスマグリング、SMTPインジェクションを実行できます。Tomcat、Spring、Jetty、Undertow、Vert.x、Jackson、Fastjson、Apache Commons BCEL、Apache HttpClient、Angus Mail、JDK HttpServer、Lettuce、Jodd、XMLWriterに影響し、WAFバイパスにより多くの「パッチ済み」CVEを再度有効化します。