F API (Stripe, OpenAI, Notion & 100+ more)
REST API reference for 147 services. Authentication patterns, endpoints, rate limits, and common gotchas.
- Безопасность 60%
- Качество 40%
- Тесты бонус
Чем это грозит
Скилл содержит фрагменты, которые в чужих руках стоят денег или данных. Ниже, что рискует потерять тот, кто установит, и что должен сделать автор.
Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».
Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.
Как улучшить
- Разберите находки высокой серьёзности: каждая стоит 18 баллов безопасности. Если это ложное срабатывание, добавьте id правила в guard.allow в spec.yaml.
- Добавьте evals/evals.json с 4–6 реальными запросами и ожидаемыми ответами: тогда полная проверка использует ваши кейсы, а не черновик модели.
- Добавьте spec.yaml с триггерами и утверждениями (skilltest init): это контракт поведения для CI.
Находки guard · 51
-
высокая Утечка данных
exfil-webhook-urlapis/communication.md:719URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес)https://api.telegram.org/bot{TOKEN}
Средние и низкие: 50
-
средняя Утечка данных
net-credential-useapis/communication.md:671Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl -X POST "https://discord.com/api/webhooks/$WEBHOOK_ID/$WEBHOOK_TOKEN" \
-
средняя Утечка данных
net-credential-useapis/communication.md:724Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" \
-
средняя Утечка данных
net-credential-useapis/communication.md:731Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" \
-
средняя Утечка данных
net-credential-useapis/communication.md:742Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendPhoto" \
-
средняя Утечка данных
net-credential-useapis/communication.md:750Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getUpdates?offset=0&limit=10"
-
средняя Утечка данных
exfil-secret-in-urlapis/crm.md:238Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (в кавычках — упоминание, а не команда)curl "https://api.pipedrive.com/v1/deals?api_token=…"
в кавычках -
средняя Утечка данных
net-credential-useapis/crm.md:238Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl "https://api.pipedrive.com/v1/deals?api_token=…"
-
средняя Утечка данных
exfil-secret-in-urlapis/crm.md:249Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (в кавычках — упоминание, а не команда)curl "https://api.pipedrive.com/v1/deals?api_token=…&status=open&limit=50"
в кавычках -
средняя Утечка данных
net-credential-useapis/crm.md:249Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl "https://api.pipedrive.com/v1/deals?api_token=…&status=open&limit=50"
-
средняя Утечка данных
exfil-secret-in-urlapis/crm.md:254Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (в кавычках — упоминание, а не команда)curl -X POST "https://api.pipedrive.com/v1/deals?api_token=…" \
в кавычках -
средняя Утечка данных
net-credential-useapis/crm.md:254Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl -X POST "https://api.pipedrive.com/v1/deals?api_token=…" \
-
средняя Утечка данных
exfil-secret-in-urlapis/crm.md:267Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (в кавычках — упоминание, а не команда)curl "https://api.pipedrive.com/v1/persons/123?api_token=…"
в кавычках -
средняя Утечка данных
net-credential-useapis/crm.md:267Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl "https://api.pipedrive.com/v1/persons/123?api_token=…"
-
средняя Утечка данных
exfil-secret-in-urlapis/crm.md:272Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (в кавычках — упоминание, а не команда)curl -X POST "https://api.pipedrive.com/v1/activities?api_token=…" \
в кавычках -
средняя Утечка данных
net-credential-useapis/crm.md:272Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl -X POST "https://api.pipedrive.com/v1/activities?api_token=…" \
-
средняя Утечка данных
net-credential-useapis/database.md:453Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl --digest -u "$ATLAS_PUBLIC_KEY:$ATLAS_PRIVATE_KEY" \
-
средняя Утечка данных
net-credential-useapis/database.md:461Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl --digest -u "$ATLAS_PUBLIC_KEY:$ATLAS_PRIVATE_KEY" \
-
средняя Утечка данных
net-credential-useapis/productivity.md:869Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl "https://api.trello.com/1/members/me?key=…&token=…"
-
средняя Утечка данных
net-credential-useapis/productivity.md:886Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl "https://api.trello.com/1/boards/$BOARD_ID?key=…&token=…"
-
средняя Утечка данных
net-credential-useapis/productivity.md:891Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl "https://api.trello.com/1/boards/$BOARD_ID/lists?key=…&token=…"
-
средняя Утечка данных
net-credential-useapis/productivity.md:896Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl "https://api.trello.com/1/boards/$BOARD_ID/cards?key=…&token=…"
-
средняя Утечка данных
net-credential-useapis/productivity.md:901Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)curl -X POST "https://api.trello.com/1/cards?key=…&token=…" \
-
низкая Утечка данных
exfil-secret-in-urlapis/auth-providers.md:362Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (значение-заглушка)https://test.stytch.com/v1/public/oauth/google/start?public_token=…
заглушка -
низкая Утечка данных
exfil-webhook-urlapis/communication.md:671URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)curl -X POST "https://discord.com/api/webhooks/$WEBHOOK_ID/$WEBHOOK_TOKEN" \
заглушка -
низкая Утечка данных
exfil-webhook-urlapis/communication.md:724URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)curl "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" \
заглушка -
низкая Утечка данных
exfil-webhook-urlapis/communication.md:731URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)curl "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" \
заглушка -
низкая Утечка данных
exfil-webhook-urlapis/communication.md:742URL вебхука / коллбэка, типичный для эксфильтрации (проверьте адрес) (значение-заглушка)curl "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendPhoto" \
заглушка -
низкая Утечка данных
exfil-secret-in-urlapis/database.md:206Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (значение-заглушка)curl "https://$PROJECT_ID.firebaseio.com/users/user123.json?auth=…"
заглушка -
низкая Утечка данных
net-credential-useapis/database.md:206Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (адрес назначения — переменная конфигурации)curl "https://$PROJECT_ID.firebaseio.com/users/user123.json?auth=…"
переменный хост -
низкая Утечка данных
exfil-secret-in-urlapis/database.md:211Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (значение-заглушка)curl -X PUT "https://$PROJECT_ID.firebaseio.com/users/user123.json?auth=…" \
заглушка -
низкая Утечка данных
net-credential-useapis/database.md:211Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (адрес назначения — переменная конфигурации)curl -X PUT "https://$PROJECT_ID.firebaseio.com/users/user123.json?auth=…" \
переменный хост -
низкая Утечка данных
exfil-secret-in-urlapis/database.md:217Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (значение-заглушка)curl -X PATCH "https://$PROJECT_ID.firebaseio.com/users/user123.json?auth=…" \
заглушка -
низкая Утечка данных
net-credential-useapis/database.md:217Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (адрес назначения — переменная конфигурации)curl -X PATCH "https://$PROJECT_ID.firebaseio.com/users/user123.json?auth=…" \
переменный хост -
низкая Утечка данных
exfil-secret-in-urlapis/media.md:613Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (адрес назначения — известный публичный сервис; в кавычках — упоминание, а не команда)curl "https://www.googleapis.com/youtube/v3/videos?id=…&part=…&key=…"
известный сервисв кавычках -
низкая Утечка данных
net-credential-useapis/media.md:613Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (адрес назначения — известный публичный сервис)curl "https://www.googleapis.com/youtube/v3/videos?id=…&part=…&key=…"
известный сервис -
низкая Утечка данных
exfil-secret-in-urlapis/media.md:630Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (адрес назначения — известный публичный сервис; в кавычках — упоминание, а не команда)curl "https://www.googleapis.com/youtube/v3/videos?id=…&part=…&key=…"
известный сервисв кавычках -
низкая Утечка данных
net-credential-useapis/media.md:630Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (адрес назначения — известный публичный сервис)curl "https://www.googleapis.com/youtube/v3/videos?id=…&part=…&key=…"
известный сервис -
низкая Утечка данных
exfil-secret-in-urlapis/media.md:635Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (адрес назначения — известный публичный сервис; в кавычках — упоминание, а не команда)curl "https://www.googleapis.com/youtube/v3/search?q=cats&type=video&maxResults=10&key=…"
известный сервисв кавычках -
низкая Утечка данных
net-credential-useapis/media.md:635Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (адрес назначения — известный публичный сервис)curl "https://www.googleapis.com/youtube/v3/search?q=cats&type=video&maxResults=10&key=…"
известный сервис -
низкая Утечка данных
exfil-secret-in-urlapis/media.md:640Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (адрес назначения — известный публичный сервис; в кавычках — упоминание, а не команда)curl "https://www.googleapis.com/youtube/v3/channels?id=…&part=…&key=…"
известный сервисв кавычках -
низкая Утечка данных
net-credential-useapis/media.md:640Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (адрес назначения — известный публичный сервис)curl "https://www.googleapis.com/youtube/v3/channels?id=…&part=…&key=…"
известный сервис -
низкая Утечка данных
exfil-secret-in-urlapis/media.md:645Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (адрес назначения — известный публичный сервис; в кавычках — упоминание, а не команда)curl "https://www.googleapis.com/youtube/v3/playlistItems?playlistId=…&part=…&maxResults=50&key=…"
известный сервисв кавычках -
низкая Утечка данных
net-credential-useapis/media.md:645Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (адрес назначения — известный публичный сервис)curl "https://www.googleapis.com/youtube/v3/playlistItems?playlistId=…&part=…&maxResults=50&key=…"
известный сервис -
низкая Утечка данных
exfil-secret-in-urlapis/productivity.md:869Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (значение-заглушка)curl "https://api.trello.com/1/members/me?key=…&token=…"
заглушка -
низкая Утечка данных
exfil-secret-in-urlapis/productivity.md:886Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (значение-заглушка)curl "https://api.trello.com/1/boards/$BOARD_ID?key=…&token=…"
заглушка -
низкая Утечка данных
exfil-secret-in-urlapis/productivity.md:891Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (значение-заглушка)curl "https://api.trello.com/1/boards/$BOARD_ID/lists?key=…&token=…"
заглушка -
низкая Утечка данных
exfil-secret-in-urlapis/productivity.md:896Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (значение-заглушка)curl "https://api.trello.com/1/boards/$BOARD_ID/cards?key=…&token=…"
заглушка -
низкая Утечка данных
exfil-secret-in-urlapis/productivity.md:901Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (значение-заглушка)curl -X POST "https://api.trello.com/1/cards?key=…&token=…" \
заглушка -
низкая Утечка данных
net-credential-usecredentials.md:38Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (хост вендора самого скилла)curl https://api.stripe.com/v1/charges -H "Authorization: Bearer $API_KEY"
vendor-host -
низкая Утечка данных
net-credential-usecredentials.md:41Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис) (хост вендора самого скилла)curl https://api.stripe.com/v1/charges -H "Authorization: Bearer $STRIPE_PROD_API_KEY"
vendor-host
Просканировано файлов: 25. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
Lint
- предупреждение
name-formatname должен быть в kebab-case (строчные буквы, цифры, дефисы) - заметка
frontmatter-keyнеизвестное поле фронтматтера "slug" - заметка
frontmatter-keyнеизвестное поле фронтматтера "homepage" - заметка
frontmatter-keyнеизвестное поле фронтматтера "changelog"
Процессная зрелость 49/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 5, без проверки текущего состояния
- 40Согласованность. Имя во frontmatter (API (Stripe, OpenAI, Notion & 100+ more)) не совпадает с папкой (api-tmp)
- 60Инструменты и файлы. Используются инструменты (web), но во frontmatter они не объявлены
- 100Шаги. Шагов: 26
- 100Ошибки и развилки. Развилок: 1, есть раздел про ошибки
- 100Стоимость исполнения. Тело инструкции 1238 токенов
- low Разделов верхнего уровня: 12. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 105: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Структура: 13 заголовков
- +3Пошаговые инструкции: 26 пунктов
- +4Есть примеры (2 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 73.