FB RentAPerson.ai — OpenClaw Agent Skill
1. RentAPerson: Зарегистрируйте своего агента (POST /api/agents/register) и сохраните свой API-ключ — он вам понадобится для всех вызовов API. 2. OpenClaw: Включите хуки в вашем шлюзе OpenClaw, чтобы он мог получать веб-хуки HTTP...
машинный переводПоказать оригиналСкрыть оригинал«1. RentAPerson: Register your agent (POST /api/agents/register) and sa…»
1. RentAPerson: Register your agent (POST /api/agents/register) and save your API key — you need it for all API calls. 2. OpenClaw: Enable hooks in your OpenClaw gateway so it can receive HTTP webh...
1. RentAPerson: Зарегистрируйте своего агента (POST /api/agents/register) и сохраните свой API-ключ — он вам понадобится для всех вызовов API. 2. OpenClaw…
Как процесс B 72/100 · Почти готов — слабые места: согласованность, стоимость исполнения
Чем это грозит
Скилл содержит фрагменты, которые в чужих руках стоят денег или данных. Ниже, что рискует потерять тот, кто установит, и что должен сделать автор.
Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».
Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.
Как улучшить
- Разберите находки высокой серьёзности: каждая стоит 18 баллов безопасности. Если это ложное срабатывание, добавьте код правила в guard.allow в spec.yaml.
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 24
-
высокая Утечка данных
exfil-webhook-urlbridge/README.md:54URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес)# https://abc1….io
-
высокая Утечка данных
exfil-webhook-urlscripts/verify-setup.md:39URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес)curl -X POST https://velia-regardable-reed.ngrok-free.dev \
-
высокая Утечка данных
exfil-webhook-urlscripts/verify-setup.md:52URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес)node test-webhook.js https://velia-regardable-reed.ngrok-free.dev
Средние и низкие: 21
-
средняя Утечка данных
net-redirectable-api-keybridge/server.js:35Скрипт отправляет API-ключ на хост из переменной окружения — ключ можно перенаправить на другой серверAPI key + configurable base URL from environment
-
средняя Утечка данных
exfil-webhook-urlINSTALLATION.md:152URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (в кавычках — упоминание, а не команда)"webhookUrl": "https://abc1….io"
в кавычках -
средняя Утечка данных
exfil-webhook-urlINSTALLATION.md:180URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (в кавычках — упоминание, а не команда)"webhookUrl": "https://abc1….io/hooks/rentaperson"
в кавычках -
средняя Утечка данных
exfil-webhook-urlrentaperson-agent.json:6URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (в кавычках — упоминание, а не команда)"webhookUrl": "https://velia-regardable-reed.ngrok-free.dev",
в кавычках -
средняя Утечка данных
net-redirectable-api-keyscripts/fetch-test-ids.js:31Скрипт отправляет API-ключ на хост из переменной окружения — ключ можно перенаправить на другой серверAPI key + configurable base URL from environment
-
средняя Утечка данных
net-credential-usescripts/inject-api-key.js:37Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)const curlArgs = ['-H', `X-API-Key: ${key}`, ...args]; -
средняя Утечка данных
exfil-webhook-urlscripts/verify-setup.md:14URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (в кавычках — упоминание, а не команда)- **Forwarding**: `https://velia-regardable-reed.ngrok-free.dev -> http://localhost:XXXX`
в кавычках -
низкая Опасные команды
cmd-background-processbridge/README.md:104Запуск фонового / автозапускаемого процессаsudo systemctl enable rentaperson-bridge
-
низкая Утечка данных
exfil-webhook-urlINSTALLATION.md:142URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (демонстрация атаки / пример; в кавычках — упоминание, а не команда)Copy the HTTPS URL (e.g., `https://abc1….io`)
демонстрацияв кавычках -
низкая Опасные команды
cmd-background-processINSTALLATION.md:286Запуск фонового / автозапускаемого процессаsudo systemctl enable rentaperson-bridge
-
низкая Утечка данных
net-credential-usescripts/inject-api-key.js:12Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (комментарий в коде)* → Runs curl with -H "X-API-Key: $RENTAPERSON_API_KEY" prepended.
комментарий -
низкая Утечка данных
exfil-webhook-urlscripts/setup.js:448URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (демонстрация атаки / пример; в кавычках — упоминание, а не команда)'Gateway base URL (e.g. https://abc1….io)',
демонстрацияв кавычках -
низкая Утечка данных
exfil-webhook-urlscripts/setup.js:465URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (демонстрация атаки / пример; в кавычках — упоминание, а не команда)const ngrokUrl = await ask(rl, 'Public webhook URL (e.g. https://abc1….io)', '');
демонстрацияв кавычках -
низкая Утечка данных
net-credential-usescripts/setup.js:845Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (в кавычках — упоминание, а не команда)Example: \`curl -H "X-API-Key: ${apiKey}" "${apiBase}/api/conversations"\`в кавычках -
низкая Утечка данных
exfil-webhook-urlscripts/test-webhook.js:5URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (комментарий в коде; тестовый файл / пример)* Example: node test-webhook.js https://abc1….io
комментарийтестовый файл -
низкая Утечка данных
exfil-webhook-urlscripts/test-webhook.js:12URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (тестовый файл / пример; в кавычках — упоминание, а не команда)console.error('Example: node test-webhook.js https://abc1….io');тестовый файлв кавычках -
низкая Утечка данных
exfil-webhook-urlscripts/test-webhook.js:83URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (тестовый файл / пример; в кавычках — упоминание, а не команда)console.error(' https://velia-regardable-reed.ngrok-free.dev');тестовый файлв кавычках -
низкая Утечка данных
exfil-webhook-urlscripts/verify-setup.md:65URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)- Visit `https://velia-regardable-reed.ngrok-free.dev` in your browser first
заглушка -
низкая Утечка данных
exfil-webhook-urlSKILL.md:52URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (демонстрация атаки / пример; в кавычках — упоминание, а не команда)- **Webhook URL** (e.g. your ngrok HTTPS URL, e.g. `https://abc1….io`)
демонстрацияв кавычках -
низкая Утечка данных
exfil-webhook-urlSKILL.md:129URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (демонстрация атаки / пример; в кавычках — упоминание, а не команда)Copy the **HTTPS** URL (e.g. `https://abc1….io`), then register:
демонстрацияв кавычках -
низкая Утечка данных
exfil-webhook-urlWEBHOOK_API_KEY_SOLUTION.md:341URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)4. Point RentAPerson webhook at: `https://your-ngrok.ngrok.io` (bridge port)
заглушка
Просканировано файлов: 20. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
name-formatname должен быть в kebab-case (строчные буквы, цифры, дефисы) - предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда") - предупреждение
body-longтело SKILL.md ≈ 14132 токенов (рекомендуется < 5000); вынесите детали в references/
Процессный рейтинг: все десять параметров 72/100
- 40Согласованность. Имя во frontmatter (RentAPerson.ai — OpenClaw Agent Skill) не совпадает с папкой (rent-a-person-ai)
- 40Стоимость исполнения. Тело инструкции 14132 токенов: вытесняет саму задачу из окна
- 50Когда включается. Не сказано, при каком запросе скилл включается
- 60Инструменты и файлы. Используются инструменты (bash, web, node), но во frontmatter они не объявлены
- 60Шаги. Шагов: 127, расплывчатых формулировок: 11
- 100Результат и критерий готовности. Формат результата и критерий готовности описаны
- 100Входы и предусловия. Входные данные и предусловия перечислены
- 100Ошибки и развилки. Развилок: 10, есть раздел про ошибки
- 100Повторный запуск. Изменяющие операции проверяют текущее состояние
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 12. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- -2Ссылки на localhost: у другого пользователя не заработает
- -36 из 10 скриптов не упомянуты в SKILL.md
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 200 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 41 заголовков
- +3Пошаговые инструкции: 127 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (49 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 55.