DB helius
Создавайте приложения Solana с инфраструктурой Helius. Включает отправку транзакций (Sender), запросы активов/NFT (DAS API), потоковую передачу в реальном времени (WebSockets, Laserstream), конвейеры событий (webhooks), приоритетные комиссии, анализ кошельков и онбординг агентов.
машинный переводПоказать оригиналСкрыть оригинал«Build Solana applications with Helius infrastructure. Covers transacti…»
Build Solana applications with Helius infrastructure. Covers transaction sending (Sender), asset/NFT queries (DAS API), real-time streaming (WebSockets, Laserstream), event pipelines (webhooks), priority fees, wallet analysis, and agent onboarding.
Создавайте приложения Solana с инфраструктурой Helius.
Как процесс B 72/100 · Почти готов — слабые места: результат и критерий готовности
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Инструкции или скрипты отправляют данные наружу: переменные окружения, ключи, содержимое файлов, историю чата. Вы можете не заметить этого в диалоге, потому что агент выполнит отправку как «часть задачи».
Если отправка не нужна для задачи, уберите её: каталоги помечают такие скиллы как подозрительные и снимают с выдачи. Если нужна, назовите адрес явно, объясните, что именно уходит, и дайте пользователю выключатель.
Как улучшить
- Скажите в description, КОГДА применять скилл («используй, когда…», примеры запросов): это главный сигнал для агента.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 33
✓ Критических и высоких находок нет
Средние и низкие: 33
-
средняя Утечка данных
net-credential-usereferences/priority-fees.md:30Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)const response = await fetch(`https://mainnet.helius-rpc.com/?api-key=… { -
средняя Утечка данных
net-credential-usereferences/priority-fees.md:53Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)const response = await fetch(`https://mainnet.helius-rpc.com/?api-key=… { -
средняя Утечка данных
net-credential-usereferences/wallet-api.md:130Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)const identity = await fetch(`${BASE}/v1/wallet/${address}/identity?api-key=${KEY}`).then(r => r.ok ? r.json() : null); -
средняя Утечка данных
net-credential-usereferences/wallet-api.md:131Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)const funding = await fetch(`${BASE}/v1/wallet/${address}/funded-by?api-key=${KEY}`).then(r => r.ok ? r.json() : null); -
средняя Утечка данных
net-credential-usereferences/wallet-api.md:132Учётные данные используются в сетевом вызове (проверьте, что адрес — нужный сервис)const { data: history } = await fetch(`${BASE}/v1/wallet/${address}/history?api-key=${KEY}&limit=20`).then(r => r.json()); -
низкая Секреты в коде
secret-high-entropy-tokenreferences/das.md:169Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"token_program": "Toke…5DA",
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/das.md:170Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"associated_token_address": "H7iL…ki9",
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/enhanced-transactions.md:61Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"description": "Transfer 0.1 SOL to FXvS…kuD",
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/enhanced-transactions.md:65Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"feePayer": "M2mx…F7K",
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/enhanced-transactions.md:71Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"fromUserAccount": "M2mx…F7K",
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/enhanced-transactions.md:72Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"toUserAccount": "FXvS…kuD",
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/laserstream.md:98Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)accountInclude: ["Toke…5DA"],
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/laserstream.md:159Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"owner": ["Toke…5DA"],
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/laserstream.md:244Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"account_include": ["Toke…5DA"],
в кавычках -
низкая Утечка данных
exfil-secret-in-urlreferences/priority-fees.md:30Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (значение-заглушка)const response = await fetch(`https://mainnet.helius-rpc.com/?api-key=… {заглушка -
низкая Секреты в коде
secret-high-entropy-tokenreferences/priority-fees.md:38Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)accountKeys: ['JUP6…aV4'],
в кавычках -
низкая Утечка данных
exfil-secret-in-urlreferences/priority-fees.md:53Учётные данные в строке запроса URL (для части API это норма — проверьте, что хост нужный) (значение-заглушка)const response = await fetch(`https://mainnet.helius-rpc.com/?api-key=… {заглушка -
низкая Секреты в коде
secret-high-entropy-tokenreferences/priority-fees.md:185Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)accountKeys: ['JUP6…aV4'],
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/priority-fees.md:193Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)account_keys: Some(vec!["JUP6…aV4".to_string()]),
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/sender.md:34Строка, похожая на токен (может быть id, хеш или секрет)4ACf…DEE
-
низкая Секреты в коде
secret-high-entropy-tokenreferences/sender.md:35Строка, похожая на токен (может быть id, хеш или секрет)D2L6…7NZ
-
низкая Секреты в коде
secret-high-entropy-tokenreferences/sender.md:36Строка, похожая на токен (может быть id, хеш или секрет)9bnz…Sta
-
низкая Секреты в коде
secret-high-entropy-tokenreferences/sender.md:37Строка, похожая на токен (может быть id, хеш или секрет)5VY9…kwn
-
низкая Секреты в коде
secret-high-entropy-tokenreferences/sender.md:38Строка, похожая на токен (может быть id, хеш или секрет)2nyh…YgD
-
низкая Секреты в коде
secret-high-entropy-tokenreferences/webhooks.md:121Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"feePayer": "HXsK…664",
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/webhooks.md:125Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"fromUserAccount": "HXsK…664",
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/webhooks.md:126Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)"toUserAccount": "9Pej…DTF",
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/websockets.md:125Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)accountInclude: ['JUP6…aV4'],
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/websockets.md:258Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)'Toke…5DA', // Token Program
в кавычках -
низкая Секреты в коде
secret-high-entropy-tokenreferences/websockets.md:335Строка, похожая на токен (может быть id, хеш или секрет) (строка таблицы в документации)| Jupiter swaps | `accountInclude` | `JUP6…aV4` |
таблица -
низкая Секреты в коде
secret-high-entropy-tokenreferences/websockets.md:336Строка, похожая на токен (может быть id, хеш или секрет) (строка таблицы в документации)| Magic Eden NFT sales | `accountInclude` | `M2mx…F7K` |
таблица -
низкая Секреты в коде
secret-high-entropy-tokenreferences/websockets.md:337Строка, похожая на токен (может быть id, хеш или секрет) (строка таблицы в документации)| Pump AMM data | `accountInclude` | `pAMM…XEA` |
таблица -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:26Строка, похожая на токен (может быть id, хеш или секрет) (в кавычках — упоминание, а не команда)**Path B — Agentic signup:** `generateKeypair` → user funds wallet with **~0.001 SOL** for fees + **USDC** (USDC mint: `EPjF…t1v`) — **1 USDC** basic, **$49** Devel
в кавычках
Просканировано файлов: 12. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- предупреждение
description-no-whendescription не говорит, КОГДА применять скилл (нет "use when / используй когда")
Процессный рейтинг: все десять параметров 72/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 50Когда включается. Не сказано, при каком запросе скилл включается
- 55Ошибки и развилки. Развилок: 1
- 70Входы и предусловия. Входные данные и предусловия перечислены
- 100Инструменты и файлы. Внешние инструменты не нужны
- 100Шаги. Шагов: 36
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 2664 токенов
- 100Повторный запуск. Изменяющие операции проверяют текущее состояние
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Формат ответа не описан: модель каждый раз решает сама
- +4Нет примеров входа/выхода
- +1Лицензия не указана
- +2Инструкции на одном языке
- +3Длина description 248 символов: достаточно сигнала, не съедает бюджет
- +4Структура: 28 заголовков
- +3Пошаговые инструкции: 36 пунктов
- +4Справочные файлы упоминаются в инструкциях (9 из 9)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 72.