mcpField
B
Bankr Dev - Safety & Access Control

Bankr Dev - Safety & Access Control

github.com/bankrbotセキュリティ88321 回インストール31 週間前に更新
リポジトリ

Bankr Dev - Safety & Access Control について

Bankr Dev - Safety & Access Control は、Bankr API を統合する開発者向けのスキルです。API キーの権限、ネットワーク制限、キー管理、レート制限、トランザクションの安全策を扱います。

主な機能

  1. 01API キー機能の設定
  2. 02IP によるアクセス制限
  3. 03Agent と LLM キーの分離
  4. 04レート制限とエラーへの対応
  5. 05トランザクションの安全確認

活用シーン

  1. 01Agent を読み取り専用ツールに限定
  2. 02サーバー IP からのリクエストに限定
  3. 03専用 Agent ウォレットの設定
  4. 04トランザクション送信フローの保護

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bankrbot/claude-plugins --skill bankr-dev---safety-&-access-control

インストール後、Claude Code で/bankr-dev---safety-&-access-controlを入力して読み込まれたか確認します。

詳細

安全性とアクセス制御

Bankr API 統合のセキュリティパターンとベストプラクティスです。

API キーの機能フラグ

各 API キーには、bankr.bot/api で管理する独立した切り替え設定があります。

フラグ制御対象デフォルト
agentApiEnabled/agent/* エンドポイントfalse
llmGatewayEnabledllm.bankr.bot の LLM Gatewayfalse
readOnlyエージェントを読み取り専用ツールに制限false
エージェント用キーと LLM 用キーの分離
設定エージェント API キーLLM Gateway キー
環境変数BANKR_API_KEYBANKR_LLM_KEY(API キーにフォールバック)
CLI 設定apiKeyllmKey(apiKey にフォールバック)

読み取り専用キー

readOnly: true の場合:

  • /agent/prompt は動作しますが、読み取りツールのみ利用できます
  • /agent/sign は 403 を返します
  • /agent/submit は 403 を返します
// Handle read-only 403 errors
const response = await fetch(`${API_URL}/agent/sign`, { ... });
if (response.status === 403) {
  const error = await response.json();
  // error.message: "This API key has read-only access..."
}

IP ホワイトリスト

// Requests from non-whitelisted IPs get 403
// Configure allowedIps at bankr.bot/api
const response = await fetch(`${API_URL}/agent/prompt`, { ... });
if (response.status === 403) {
  const error = await response.json();
  // error.message: "IP address not allowed for this API key"
}

専用エージェントウォレット

自律型エージェントを利用する場合は、別の Bankr アカウントを作成します。

  1. 別のメールアドレスを使って bankr.bot/api で登録します
  2. Agent API を有効にした API キーを生成します
  3. アクセス制御(readOnly、allowedIps)を設定します
  4. 少額を入金します
アクセス制御の組み合わせ
用途readOnlyallowedIps入金額
監視ボットはいはい(サーバー IP)なし
取引ボット(サーバー)いいえはい(サーバー IP)少額
開発/テストいいえいいえ最小限
リサーチエージェントはいいいえなし

レート制限

ティア1 日あたりの上限
Standard100 件/日
Bankr Club1,000 件/日
CustomAPI キーごとに設定
// Handle 429 rate limit responses
const response = await fetch(`${API_URL}/agent/prompt`, { ... });
if (response.status === 429) {
  const error = await response.json();
  // error.resetAt: Unix timestamp when counter resets
  // error.limit: Daily limit
  // error.used: Messages used
  const retryAfter = error.resetAt - Date.now();
}

キー管理のパターン

// Always use environment variables
const API_KEY = process.env.BANKR_API_KEY;
const LLM_KEY = process.env.BANKR_LLM_KEY || API_KEY;

if (!API_KEY) {
  throw new Error("BANKR_API_KEY not set. Get one at https://bankr.bot/api");
}

保管ルール:

  • サーバーサイドのエージェントと CI/CD では環境変数を使用します
  • ローカル開発では ~/.bankr/config.json を使用します(CLI が管理します)
  • キーをソース管理にコミットしないでください
  • ~/.bankr/、.env を .gitignore に追加します
  • 定期的にローテーションし、漏えいした場合は直ちに失効させます

トランザクションの安全性

  • /agent/submit は確認プロンプトなしで即時に実行されます
  • 重要なトランザクションでは、必ず waitForConfirmation: true を使用します
  • まず Base/Polygon で少額を使ってテストします
  • 任意のトランザクションでは、calldata のソースを確認します

関連スキル

  • bankr-client-patterns - エラーハンドリングを含むクライアントのセットアップ
  • bankr-api-basics - API の基礎
  • bankr-sign-submit-api - 特に注意が必要な同期エンドポイント

コメント