Skip to main content

pilot-blocklist

Maintain and share blocklists of untrusted agents in Pilot Protocol networks. Use this skill when: 1. You need to block malicious or compromised agents from connecting 2. You want to share blocklists across multiple agents in your network 3. You need to maintain a persistent deny-list for security Do NOT use this skill when: - You need temporary connection filtering (use firewall rules) - You're managing trust approvals (use pilot-auto-trust) - You need allowlist-only mode (use trust circles instead)

ソース情報

リポジトリ
TeoSlayer/pilot-skills
ソースの最終更新活動
2026年5月19日 03:16
検出された SKILL.md の言語
英語
スター
8
フォーク
2

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
2 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
pilot-blocklist
description
Maintain and share blocklists of untrusted agents in Pilot Protocol networks. Use this skill when: 1. You need to block malicious or compromised agents from connecting 2. You want to share blocklists across multiple agents in your network 3. You need to maintain a persistent deny-list for security Do NOT use this skill when: - You need temporary connection filtering (use firewall rules) - You're managing trust approvals (use pilot-auto-trust) - You need allowlist-only mode (use trust circles instead)
tags
["pilot-protocol","trust-security","blocklist"]
license
AGPL-3.0
compatibility
Requires pilot-protocol skill and pilotctl binary on PATH. The daemon must be running (pilotctl daemon start).
metadata
{"author":"vulture-labs","version":"1.0","openclaw":{"requires":{"bins":"[Truncated]"},"homepage":"https://pilotprotocol.network"}}
allowed-tools
["Bash"]
# Pilot Blocklist Manage blocklists of untrusted agents with support for sharing and synchronization across networks. ## Commands **Create blocklist:** ```bash mkdir -p ~/.pilot/blocklists cat > ~/.pilot/blocklists/default.json <<EOF {"name":"default","description":"Primary blocklist","entries":[]} EOF ``` **Add agent to blocklist:** ```bash AGENT="malicious.pilot" NODE_ID=$(pilotctl --json find "$AGENT" | jq -r '.[0].node_id') # Untrust and reject pilotctl --json untrust "$NODE_ID" pilotctl --json reject "$NODE_ID" "Spam activity" # Add to blocklist jq --arg agent "$AGENT" --arg node "$NODE_ID" --arg reason "Spam activity" \ '.entries += [{hostname: $agent, node_id: $node, reason: $reason, blocked_at: (now | strftime("%Y-%m-%dT%H:%M:%SZ"))}]' \ ~/.pilot/blocklists/default.json > /tmp/blocklist.json && mv /tmp/blocklist.json ~/.pilot/blocklists/default.json ``` **Remove from blocklist:** ```bash jq --arg agent "$AGENT" '.entries = [.entries[] | select(.hostname != $agent)]' \ ~/.pilot/blocklists/default.json > /tmp/blocklist.json && mv /tmp/blocklist.json ~/.pilot/blocklists/default.json ``` **List blocked agents:** ```bash jq -r '.entries[] | "\(.hostname) - \(.reason)"' ~/.pilot/blocklists/default.json ``` **Enforce blocklist:** ```bash BLOCKED=$(jq -r '.entries[].hostname' ~/.pilot/blocklists/default.json) # Reject pending handshakes from blocked agents pilotctl --json pending | jq -r '.[] | .hostname' | while read -r HOSTNAME; do if echo "$BLOCKED" | grep -q "^${HOSTNAME}$"; then NODE_ID=$(pilotctl --json pending | jq -r --arg h "$HOSTNAME" '.[] | select(.hostname == $h) | .node_id') pilotctl --json reject "$NODE_ID" "Blocklisted" fi done ``` ## Workflow Example ```bash #!/bin/bash # Automatic blocklist enforcement BLOCKLIST=~/.pilot/blocklists/default.json block_agent() { local AGENT=$1 local REASON=$2 NODE_ID=$(pilotctl --json find "$AGENT" | jq -r '.[0].node_id') pilotctl --json untrust "$NODE_ID" 2>/dev/null || true jq --arg agent "$AGENT" --arg node "$NODE_ID" --arg reason "$REASON" \ '.entries += [{hostname: $agent, node_id: $node, reason: $reason, blocked_at: (now | strftime("%Y-%m-%dT%H:%M:%SZ"))}] | .entries |= unique_by(.hostname)' \ "$BLOCKLIST" > /tmp/blocklist.json && mv /tmp/blocklist.json "$BLOCKLIST" } # Block peers with hostnames matching a blacklist pattern pilotctl --json peers | jq -r '.[] | select(.hostname | test("^untrusted-|-evil$")) | .hostname' | \ while read -r AGENT; do block_agent "$AGENT" "Hostname on blocklist" done echo "Blocklist enforcement complete" ``` ## Dependencies Requires `pilot-protocol` skill, `pilotctl` binary, running daemon, and `jq` for JSON management.
GitHubで見る