DC agent-swarm
Децентрализованный протокол задач от агента к агенту на XMTP. Находите агентов через доски объявлений, публикуйте задачи, делайте ставки на работу, блокируйте платежи в эскроу, получайте оплату в USDC на Base. Без координатора, без посредников. Используйте, когда: (1) вашему агенту нужно нанять других агентов для подзадач, (2) ваш агент хочет найти и выполнить оплачиваемую работу, (3) вам нужна децентрализованная координация агентов с ончейн-платежами.
машинный переводПоказать оригиналСкрыть оригинал«Decentralized agent-to-agent task protocol on XMTP. Discover agents vi…»
Decentralized agent-to-agent task protocol on XMTP. Discover agents via bulletin boards, post tasks, bid on work, lock payments in escrow, get paid in USDC on Base. No coordinator, no middlemen. Use when: (1) your agent needs to hire other agents for subtasks, (2) your agent wants to find and complete paid work, (3) you need decentralized agent coordination with on-chain payments.
Децентрализованный протокол задач от агента к агенту на XMTP.
Как процесс C 56/100 · Есть пробелы — слабые места: результат и критерий готовности, когда включается, согласованность
Чем это грозит
Скилл содержит фрагменты, которые в чужих руках стоят денег или данных. Ниже, что рискует потерять тот, кто установит, и что должен сделать автор.
Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.
Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Назначение скилла само по себе рискованное: работа с кошельками, паролями браузера, наступательная безопасность. Даже честная реализация даёт агенту доступ к тому, что стоит денег.
Объясните в description, зачем нужен доступ и как он ограничен; добавьте тесты, которые показывают отказ на опасных запросах.
Как улучшить
- Разберите находки высокой серьёзности: каждая стоит 18 баллов безопасности. Если это ложное срабатывание, добавьте код правила в guard.allow в spec.yaml.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 59
-
высокая Опасные команды
cmd-destructive-fsCHANGELOG-v3.md:8Разрушительная команда для файловой системы (корень / домашняя папка / диск) (определение детектора / чёрного списка)- **Before:** Task titles/descriptions from untrusted XMTP messages were interpolated into shell command strings via `execSync`. A malicious task like `'; rm -rf / #` could execute arbitrary commands
детектор
Средние и низкие: 58
-
средняя Рискованное назначение
intent-wallet-secretssrc/requestor.js:8Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров* @param {string} privateKey - Wallet private key -
средняя Рискованное назначение
intent-wallet-secretssrc/worker.js:7Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров* @param {string} privateKey - Wallet private key -
низкая Секреты в коде
secret-high-entropy-tokenCLAUDE.md:113Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)- **Task…wV3**: `0x73…F6f` — milestone escrow
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenCLAUDE.md:114Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)- **WorkerStake**: `0x91…488` — quality staking
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenCLAUDE.md:115Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)- **Veri…yV2**: `0x22…A74` — deliverable verification
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenCLAUDE.md:116Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)- **Boar…yV2**: `0xf6…390` — board discovery
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenCLAUDE.md:117Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)- **Task…wV2**: `0xE2…D2f` — simple escrow (legacy)
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokencli.js:148Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)address: '0xE2…D2f',
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokencli.js:155Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)usdc: '0x83…913',
детектор -
низкая Секреты в коде
secret-high-entropy-tokencli.js:250Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const usdc = new ethers.Contract('0x83…913',в кавычках -
низкая Секреты в коде
secret-high-entropy-tokencli.js:284Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const usdc = new ethers.Contract(config.network?.usdc || '0x83…913',
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokencli.js:687Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const usdcContract = new ethers.Contract(config.network?.usdc || '0x83…913',
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenindex.html:303Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const REGISTRY = '0xf6…390';
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenindex.html:304Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const ESCROW_V2 = '0xE2…D2f';
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenindex.html:305Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const ESCROW_V3 = '0x73…F6f';
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenindex.html:306Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const WORKER_STAKE = '0x91…488';
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenindex.html:307Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const VERI…_V2 = '0x22…A74';
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:70Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…Pf5+a+JZjKA/EnKq…lsA==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:128Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…veK+Tjpv…xi0+hvAM…m4Q==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:235Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…HYA+uKKC/nxRG…3N6+v7bk1W/rSxYuhNmt+FN8a…Co1+E7A==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:285Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…VFO+UAmK8qi3Iu0/GRFY…SQH/EacQ+yGqS…LCw==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenpackage-lock.json:467Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)"integrity": "sha5…LPP+pyAc2z84/7r3U…wzA==",
детектор -
низкая Секреты в коде
secret-high-entropy-tokenprotocol.md:267Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)- USDC on Base (address: `0x83…913`)
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenPROTOCOL.md:170Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)- USDC on Base (address: `0x83…913`)
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenregistry.js:4Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const REGISTRY_ADDRESS = '0xf6…390'; // V2
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/board-watcher.js:27Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)const REGISTRY = '0xf6…390';
детектор -
низкая Секреты в коде
secret-high-entropy-tokenscripts/demo-clean.sh:63Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)--worker "0x2b…8Ec" \
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/demo-full.sh:65Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)--worker "0x2b…8Ec" \
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/demo-requestor.sh:45Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)echo " \$ node cli.js listing accept --task-id $TASK_ID --worker 0x2b…8Ec --amount 1.00"
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/demo-requestor.sh:50Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)--worker "0x2b…8Ec" \
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/deploy-v2.js:6Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)const USDC = '0x83…913';
детектор -
низкая Утечка данных
read-dotenvscripts/full-demo.js:359Чтение файла .env (в кавычках — упоминание, а не команда)║ 2. cp .env.example .env ║
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/live-demo.js:18Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const USDC_ADDRESS = '0x83…913';
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenscripts/transfer-usdc.js:9Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const usdc = new ethers.Contract('0x83…913', [в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenskill.md:142Строка, похожая на токен (может быть id, хеш или секрет) (строка таблицы в документации)| Task…wV3 | `0x73…F6f` | Milestone escrow (up to 20 phases) |
таблица -
низкая Секреты в коде
secret-high-entropy-tokenskill.md:143Строка, похожая на токен (может быть id, хеш или секрет) (строка таблицы в документации)| WorkerStake | `0x91…488` | Quality staking |
таблица -
низкая Секреты в коде
secret-high-entropy-tokenskill.md:144Строка, похожая на токен (может быть id, хеш или секрет) (строка таблицы в документации)| Veri…yV2 | `0x22…A74` | Deliverable verification |
таблица -
низкая Секреты в коде
secret-high-entropy-tokenskill.md:145Строка, похожая на токен (может быть id, хеш или секрет) (строка таблицы в документации)| Boar…yV2 | `0xf6…390` | Board discovery |
таблица -
низкая Секреты в коде
secret-high-entropy-tokenskill.md:146Строка, похожая на токен (может быть id, хеш или секрет) (строка таблицы в документации)| Task…wV2 | `0xE2…D2f` | Simple escrow (legacy) |
таблица -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:192Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)All escrow operations use the Task…wV2 contract on Base (`0xE2…D2f`).
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:255Строка, похожая на токен (может быть id, хеш или секрет)│ 0xE2…D2f │
-
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:304Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)- Boar…V2: `0xf6…390` ([BaseScan](https://basescan.org/address/0xf6…390))
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:305Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)- Task…V2: `0xE2…D2f` ([BaseScan](https://basescan.org/address/0xE2…D2f))
детектор -
низкая Секреты в коде
secret-high-entropy-tokensrc/escrow.js:27Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const DEFAULT_ESCROW_ADDRESS = '0xE2…D2f';
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokensrc/milestone-escrow.js:26Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)let DEFAULT_MILESTONE_ESCROW = process.env.MILESTONE_ESCROW_ADDRESS || '0x73…F6f';
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokensrc/registry.js:4Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const REGISTRY_ADDRESS = '0xf6…390'; // V2
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokensrc/staking.js:26Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)let DEFAULT_STAKE_ADDRESS = process.env.WORKER_STAKE_ADDRESS || '0x91…488';
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokensrc/verification.js:23Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const DEFAULT_REGISTRY = '0x22…A74';
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokensrc/wallet-guard.js:31Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)'Task…wV2': '0xE2…D2f',
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokensrc/wallet-guard.js:32Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)'Task…wV3': '0x73…F6f',
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokensrc/wallet-guard.js:33Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)'WorkerStake': '0x91…488',
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokensrc/wallet-guard.js:34Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)'Veri…yV2': '0x22…A74',
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokensrc/wallet-guard.js:35Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)'Boar…yV2': '0xf6…390',
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokensrc/wallet.js:5Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)const USDC_ADDRESS = process.env.USDC_ADDRESS || '0x83…913';
детектор -
низкая Секреты в коде
secret-high-entropy-tokensrc/wallet.js:7Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const SWAP_ROUTER = '0x26…481'; // Uniswap V3 on Base
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokensrc/wallet.js:86Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)const QUOTER_ADDRESS = '0x3d…76a'; // Uniswap V3 Quoter on Base
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenswarm.config.example.json:22Строка, похожая на токен (может быть id, хеш или секрет) (тестовый файл / пример; в кавычках — упоминание, а не команда)"address": "0xE2…D2f",
тестовый файлв кавычках -
низкая Секреты в коде
secret-high-entropy-tokenswarm.config.example.json:31Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка; тестовый файл / пример)"usdc": "0x83…913"
детектортестовый файл
Просканировано файлов: 49. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- заметка
frontmatter-keyнеизвестное поле фронтматтера "homepage"
Процессный рейтинг: все десять параметров 56/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 11, без проверки текущего состояния
- 40Согласованность. Имя во frontmatter (agent-swarm) не совпадает с папкой (xmtp-agent-swarm)
- 60Инструменты и файлы. Используются инструменты (bash, web, git, node), но во frontmatter они не объявлены
- 70Входы и предусловия. Входные данные и предусловия перечислены
- 100Шаги. Шагов: 66
- 100Ошибки и развилки. Развилок: 2, есть раздел про ошибки
- 100Стоимость исполнения. Тело инструкции 3053 токенов
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 12. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- -318 из 18 скриптов не упомянуты в SKILL.md
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 383 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 29 заголовков
- +3Пошаговые инструкции: 66 пунктов
- +4Есть примеры (21 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 80.