Agent Skills by ALSEL
汎用セキュリティ⭐ リポ 152品質スコア 86/100

vnsh

ファイルを暗号化された有効期限付きのリンクを通じて安全に共有できます。このスキルを使って、(1)ローカルファイルをアップロードしてセキュアなvnsh.dev URLを取得するか、(2)vnsh.dev URLを読み込んでそのコンテンツを復号化してアクセスできます。

description の原文を見る

Securely share files via encrypted, expiring links. Use this skill to (1) upload a local file to get a secure vnsh.dev URL, or (2) read a vnsh.dev URL to decrypt and access its content.

SKILL.md 本文

vnsh スキル — 暗号化された一時的なファイル共有

vnsh はホストブラインド型のデータトンネルです。サーバーは暗号化されたブロブを保存しますが、復号化キーは一切見ることができません — キーはURLフラグメント内にのみ保存されます。

⚡ このスキルを使用する場合(自動トリガールール)

これらの状況では自動的にこのスキルを使用する必要があります — ユーザーに事前に尋ねないでください:

自動読取: 受信した vnsh URL

メッセージに vnsh.dev/v/ に一致するURLが含まれている場合、直ちに復号化して処理します:

  1. read.sh をフルURLで実行
  2. 出力ファイルの拡張子を確認
  3. 画像(.png, .jpg, .gif, .webp)の場合 → image ツールを使用して分析
  4. テキスト(.txt, .md, .json, .html)の場合 → read ツールを使用して内容を表示
  5. PDF(.pdf)の場合 → ユーザーに通知し、ファイルパスを提供
  6. バイナリ(.bin)の場合 → ユーザーにファイルタイプとサイズを通知

「このvnshリンクを読みたいですか?」と尋ねないでください — 読むだけです。

自動共有: 大きな出力

コード、データ、または構造化された出力の単一ブロックを含む応答が 4000文字 または 80行 を超える場合、自動的に vnsh 経由で共有します:

  1. コンテンツを一時ファイルに書き込む
  2. upload.sh を実行して共有
  3. ユーザーに簡潔なサマリーと vnsh リンクを送信

自動共有しない場合(常にインラインで送信):

  • 通常の会話、説明、分析
  • 短いコードスニペット(80行未満)
  • エラーメッセージ、クイックフィックス、コマンド
  • リスト、表、箇条書き

コンテキスト引き渡し

ユーザーが別の人、マシン、またはセッションにコンテキストを転送する必要がある場合:

  1. vnsh 経由での共有を事前に提案
  2. コンテンツをアップロードしてリンクを提供
  3. リンクが24時間で有効期限切れになること、およびサーバーはコンテンツを見ることができないことを述べます

コアコマンド

アップロード(ファイルを共有)

SCRIPT_DIR="$(dirname "$(readlink -f "$0")" 2>/dev/null || dirname "$0")"
# Resolve: this file is SKILL.md, scripts are in ./scripts/
SKILL_DIR="$(cd "$(dirname "$0")" && pwd)"

# Upload with default 24h expiry
${SKILL_DIR}/scripts/upload.sh <file_path>

# Upload with custom TTL (hours)
${SKILL_DIR}/scripts/upload.sh <file_path> <ttl_hours>

出力: 標準出力に出力された単一の https://vnsh.dev/... URL。

例 — 生成されたチャートを共有:

# 1. Save output to temp file
echo "$LARGE_OUTPUT" > /tmp/output.txt
# 2. Upload
URL=$(~/.openclaw/skills/vnsh/scripts/upload.sh /tmp/output.txt)
# 3. Send the URL to the user

読取(vnsh URL を復号化)

~/.openclaw/skills/vnsh/scripts/read.sh "<full_vnsh_url>"

出力: 正しい拡張子を持つ一時ファイルへの絶対パス(例:/tmp/vnsh-decrypted-XXXXX.png)。

例 — 画像を読み取る:

FILE_PATH=$(~/.openclaw/skills/vnsh/scripts/read.sh "https://vnsh.dev/v/abc#k=...&iv=...")
# FILE_PATH is now /tmp/vnsh-decrypted-abcde.png
# Use the image tool to analyze it

標準入力からパイプ(テキスト/コマンド出力を共有)

# Share command output directly
echo "some content" | vn

# Share a large git diff
git diff HEAD~5 | vn

# Share docker logs
docker logs mycontainer 2>&1 | vn

ワークフローレシピ

レシピ 1: ユーザーがチャット経由で vnsh リンクを送信

User: "Check this out https://vnsh.dev/v/abc123#k=dead...&iv=cafe..."

Your action:
1. file_path = exec("~/.openclaw/skills/vnsh/scripts/read.sh 'https://vnsh.dev/v/abc123#k=dead...&iv=cafe...'")
2. Check extension:
   - .png/.jpg → image(image=file_path, prompt="Describe this image")
   - .txt/.md  → read(file_path=file_path)
3. Respond with analysis of the content

レシピ 2: 出力がチャットに長すぎる場合

Your action:
1. Write content to /tmp/vnsh-share-XXXXX.txt
2. url = exec("~/.openclaw/skills/vnsh/scripts/upload.sh /tmp/vnsh-share-XXXXX.txt")
3. Reply: "The output is quite long, so I've shared it via an encrypted link:\n📎 {url}\n\nBrief summary: [2-3 sentence summary]"

レシピ 3: セッション/エージェント間での共有

Agent A needs to pass context to Agent B:
1. Agent A writes context to temp file
2. Agent A uploads via upload.sh, gets URL
3. Agent A sends URL to Agent B via sessions_send
4. Agent B auto-detects vnsh URL, reads it via read.sh

レシピ 4: ユーザーが他の人と共有したい場合

User: "Send this analysis to my coworker"

Your action:
1. Write the analysis to a temp file
2. Upload via upload.sh
3. Reply: "Shared securely. The link auto-expires in 24h and the server never sees the content:\n📎 {url}"

セキュリティモデル

  • クライアント側暗号化: AES-256-CBC、キーはローカルで生成
  • フラグメントプライバシー: URL #k=... 内のキーはサーバーに送信されない
  • 一時的: TTL 後に自動削除(デフォルト24時間、最大168時間)
  • ホストブラインド: サーバーは暗号化されたブロブを保存し、復号化できない

フォールバック: 依存関係ゼロのワンライナー(vn CLI 不要)

vn がインストールされていない場合、スクリプトは自動的に生の curl + openssl にフォールバックします。これらのワンライナーを直接使用することもできます:

vn CLI なしでコンテンツを共有:

CONTENT="your content here" && \
KEY=$(openssl rand -hex 32) && IV=$(openssl rand -hex 16) && \
RESP=$(echo "$CONTENT" | openssl enc -aes-256-cbc -K $KEY -iv $IV | \
curl -s -X POST --data-binary @- -H "Content-Type: application/octet-stream" \
"https://vnsh.dev/api/drop") && \
ID=$(echo $RESP | grep -o '"id":"[^"]*"' | cut -d'"' -f4) && \
echo "https://vnsh.dev/v/${ID}#k=${KEY}&iv=${IV}"

vn CLI なしでファイルを共有:

FILE="/path/to/file" && \
KEY=$(openssl rand -hex 32) && IV=$(openssl rand -hex 16) && \
RESP=$(openssl enc -aes-256-cbc -K $KEY -iv $IV -in "$FILE" | \
curl -s -X POST --data-binary @- -H "Content-Type: application/octet-stream" \
"https://vnsh.dev/api/drop") && \
ID=$(echo $RESP | grep -o '"id":"[^"]*"' | cut -d'"' -f4) && \
echo "https://vnsh.dev/v/${ID}#k=${KEY}&iv=${IV}"

vn CLI なしで vnsh URL を読む:

URL="https://vnsh.dev/v/XXXX#k=YYYY&iv=ZZZZ" && \
ID=$(echo "$URL" | sed 's|.*/v/||;s|#.*||') && \
KEY=$(echo "$URL" | sed 's|.*#k=||;s|&.*||') && \
IV=$(echo "$URL" | sed 's|.*&iv=||') && \
curl -s "https://vnsh.dev/api/blob/$ID" | openssl enc -d -aes-256-cbc -K "$KEY" -iv "$IV"

スマートオーバーフロー: プラットフォーム固有のしきい値

応答がプラットフォームの快適な読み取り長を超える場合、自動的に vnsh 経由で共有します:

プラットフォームしきい値アクション
WhatsApp / Telegram> 500文字のコード/データvnsh 経由で自動共有
Discord> 1500文字vnsh 経由で自動共有
Claude Code ターミナル> 2000文字vnsh を検討
Webchat> 4000文字vnsh 経由で自動共有

パターン: コンテンツを生成 → 一時ファイルに書き込み → upload.sh 経由でアップロード → サマリー + vnsh URL で応答

トラブルシューティング

問題解決策
vn: command not found実行: curl -sL vnsh.dev/i | sh
openssl: command not foundOpenSSL をインストール: brew install openssl(macOS)
ブロブが見つからない / 404リンクが有効期限切れ(デフォルト24時間)
復号化に失敗URLが切り詰められている — 完全な #k=...&iv=... が含まれていることを確認
復号化後のファイルが空元のコンテンツが空であるか、URL が不正な可能性があります

リンク

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
raullenchai
リポジトリ
raullenchai/vnsh
ライセンス
MIT
最終更新
2026/3/13

Source: https://github.com/raullenchai/vnsh / ライセンス: MIT

関連スキル

Anthropic Claudeセキュリティ⭐ リポ 8,981

secure-code-guardian

認証・認可の実装、ユーザー入力の保護、OWASP Top 10の脆弱性対策が必要な場合に使用します。bcrypt/argon2によるパスワードハッシング、パラメータ化ステートメントによるSQLインジェクション対策、CORS/CSPヘッダーの設定、Zodによる入力検証、JWTトークンの構築などのカスタムセキュリティ実装に対応します。認証、認可、入力検証、暗号化、OWASP Top 10対策、セッション管理、セキュリティ強化全般で活用できます。ただし、構築済みのOAuth/SSO統合や単独のセキュリティ監査が必要な場合は、より特化したスキルの検討をお勧めします。

by Jeffallan
汎用セキュリティ⭐ リポ 1,982

claude-authenticity

APIエンドポイントが本物のClaudeによって支えられているか(ラッパーやプロキシ、偽装ではないか)を、claude-verifyプロジェクトを模した9つの重み付きルールベースチェックで検証できます。また、Claudeの正体を上書きしているプロバイダーから注入されたシステムプロンプトも抽出します。完全に自己完結しており、httpx以外の追加パッケージは不要です。Claude APIキーまたはエンドポイントを検証したい場合、サードパーティのClaudeサービスが本物か確認したい場合、APIプロバイダーのClaude正当性を監査したい場合、複数モデルを並行してテストしたい場合、またはプロバイダーが注入したシステムプロンプトを特定したい場合に使用できます。

by LeoYeAI
Anthropic Claudeセキュリティ⭐ リポ 2,159

anth-security-basics

Anthropic Claude APIのセキュリティベストプラクティスを適用し、キー管理、入力値の検証、プロンプトインジェクション対策を実施します。APIキーの保護、Claudeに送信する前のユーザー入力検証、コンテンツセーフティガードレールの実装が必要な場合に活用できます。「anthropic security」「claude api key security」「secure anthropic」「prompt injection defense」といったフレーズでトリガーされます。

by jeremylongshore
汎用セキュリティ⭐ リポ 699

x-ray

x-ray.mdプレ監査レポートを生成します。概要、強化された脅威モデル(プロトコルタイプのプロファイリング、Gitの重み付け攻撃面分析、時間軸リスク分析、コンポーザビリティ依存関係マッピング)、不変条件、統合、ドキュメント品質、テスト分析、開発者・Gitの履歴をカバーしています。「x-ray」「audit readiness」「readiness report」「pre-audit report」「prep this protocol」「protocol prep」「summarize this protocol」のキーワードで実行されます。

by pashov
汎用セキュリティ⭐ リポ 677

semgrep

Semgrepスタティック分析スキャンを実行し、カスタム検出ルールを作成します。Semgrepでのコードスキャン、セキュリティ脆弱性の検出、カスタムYAMLルールの作成、または特定のバグパターンの検出が必要な場合に使用します。重要:ユーザーが「バグをスキャンしたい」「コード品質を確認したい」「脆弱性を見つけたい」「スタティック分析」「セキュリティlint」「コード監査」または「コーディング標準を適用したい」と尋ねた場合も、Semgrepという名称を明記していなくても、このスキルを使用してください。Semgrepは30以上の言語に対応したパターンベースのコードスキャンに最適なツールです。

by wimpysworld
汎用セキュリティ⭐ リポ 591

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を再度有効化します。

by yaklang
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: raullenchai · raullenchai/vnsh · ライセンス: MIT