FD sui-agent-wallet
(описание отсутствует)
Как процесс D 41/100 · Процесс не доведён — слабые места: результат и критерий готовности, когда включается, входы и предусловия
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Назначение скилла само по себе рискованное: работа с кошельками, паролями браузера, наступательная безопасность. Даже честная реализация даёт агенту доступ к тому, что стоит денег.
Объясните в description, зачем нужен доступ и как он ограничен; добавьте тесты, которые показывают отказ на опасных запросах.
Как улучшить
- Добавьте description во фронтматтер: без него скилл никогда не сработает.
- Свои кейсы (evals/evals.json, 4–6 реальных запросов с ожидаемыми ответами): тогда полная проверка прогонит именно их, а не черновик от модели.
- spec.yaml с триггерными фразами и утверждениями — контракт поведения для CI; `skilltest init` создаст шаблон.
Находки guard · 26
✓ Критических и высоких находок нет
Средние и низкие: 26
-
средняя Рискованное назначение
intent-wallet-secretsserver/index.ts:344Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров// Get seed phrase (DANGEROUS - only for backup)
-
средняя Рискованное назначение
intent-wallet-secretsserver/index.ts:352Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров// Import from seed phrase
-
средняя Рискованное назначение
intent-wallet-secretsserver/keychain.ts:2Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров* macOS Keychain integration for secure seed phrase storage
-
средняя Рискованное назначение
intent-wallet-secretsserver/keychain.ts:11Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров* Store seed phrase in macOS Keychain
-
средняя Рискованное назначение
intent-wallet-secretsserver/keychain.ts:34Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров* Retrieve seed phrase from macOS Keychain
-
средняя Рискованное назначение
intent-wallet-secretsserver/keychain.ts:49Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров* Delete seed phrase from Keychain
-
средняя Рискованное назначение
intent-wallet-secretsserver/wallet.ts:4Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров* Seed phrase is stored securely in macOS Keychain.
-
средняя Рискованное назначение
intent-wallet-secretsSKILL.md:14Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров(Wallet Standard) (Seed Phrase)
-
средняя Рискованное назначение
intent-wallet-secretsSKILL.md:37Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеровThe server automatically generates a 12-word seed phrase and stores it in **macOS Keychain**:
-
средняя Рискованное назначение
intent-wallet-secretsSKILL.md:44Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеровSeed phrase stored securely in macOS Keychain.
-
средняя Рискованное назначение
intent-wallet-secretsSKILL.md:46Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеровTo view your seed phrase for backup:
-
средняя Рискованное назначение
intent-wallet-secretsSKILL.md:59Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров| macOS Keychain | Seed phrase (encrypted) |
-
низкая Обфускация
obf-base64-blobscripts/install.sh:38Длинный blob, похожий на base64 (в кавычках — упоминание, а не команда)echo -n "iVBO…ggg==" | base64 -d > "$ICONS_DIR/icon16.png"
в кавычках -
низкая Рискованное назначение
intent-wallet-secretsserver/index.ts:342Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (определение детектора / чёрного списка)// === Seed Phrase Management ===
детектор -
низкая Рискованное назначение
intent-wallet-secretsserver/index.ts:506Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)console.log(` GET /mnemonic - Get seed phrase (backup)`);
в кавычках -
низкая Рискованное назначение
intent-wallet-secretsserver/index.ts:507Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)console.log(` POST /import - Import from seed phrase`);
в кавычках -
низкая Рискованное назначение
intent-wallet-secretsserver/keychain.ts:25Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)console.log('✅ Seed phrase stored in macOS Keychain');в кавычках -
низкая Рискованное назначение
intent-wallet-secretsserver/wallet.ts:73Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)console.log('🔐 Loaded seed phrase from macOS Keychain');в кавычках -
низкая Рискованное назначение
intent-wallet-secretsserver/wallet.ts:87Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)console.log(' Seed phrase stored securely in macOS Keychain.');в кавычках -
низкая Рискованное назначение
intent-wallet-secretsserver/wallet.ts:89Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)console.log(' To view your seed phrase for backup:');в кавычках -
низкая Рискованное назначение
intent-wallet-secretsserver/wallet.ts:101Работает с секретами криптокошелька (сид-фраза / приватный ключ) — классическая цель стилеров (в кавычках — упоминание, а не команда)console.log('⚠️ Failed to store in Keychain. SAVE THIS SEED PHRASE:');в кавычках -
низкая Секреты в коде
secret-high-entropy-tokentest-dapp/frontend/pnpm-lock.yaml:143Строка, похожая на токен (может быть id, хеш или секрет)resolution: {integrity: sha5…SzS+cfgl…B0A==} -
низкая Секреты в коде
secret-high-entropy-tokentest-dapp/frontend/pnpm-lock.yaml:147Строка, похожая на токен (может быть id, хеш или секрет)resolution: {integrity: sha5…Om3+5ZRS…Lw6+EGyk…kl3+UP9+sdz7…Y3g==} -
низкая Секреты в коде
secret-high-entropy-tokentest-dapp/frontend/pnpm-lock.yaml:150Строка, похожая на токен (может быть id, хеш или секрет)resolution: {integrity: sha5…ToE+vYgD…UJ8+N1Am3Mz4+xOBy…f4D+CpkA==} -
низкая Секреты в коде
secret-high-entropy-tokentest-dapp/frontend/pnpm-lock.yaml:222Строка, похожая на токен (может быть id, хеш или секрет)resolution: {integrity: sha5…mp4+hpaf…WbT//d20x…uaA/eGVw==} -
низкая Секреты в коде
secret-high-entropy-tokentest-dapp/frontend/pnpm-lock.yaml:270Строка, похожая на токен (может быть id, хеш или секрет)resolution: {integrity: sha5…HlP+kuwq…IXN/mDJIfGXvcMqCgYKekoQw==}
Просканировано файлов: 20. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
По спецификации Agent Skills
- ошибка
frontmatterSKILL.md: no YAML frontmatter block found - ошибка
name-missingSKILL.md: нет поля name во фронтматтере - ошибка
description-missingSKILL.md: нет description — скилл никогда не сработает
Процессный рейтинг: все десять параметров 41/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 0Когда включается. Не сказано, при каком запросе скилл включается
- 0Входы и предусловия. Не сказано, что нужно иметь на входе
- 0Ошибки и развилки. Линейный процесс без обработки сбоев
- 0Отчётность по ходу. Скилл ничего не сообщает по ходу работы
- 30Повторный запуск. Изменяющих операций: 2, без проверки текущего состояния
- 60Инструменты и файлы. Используются инструменты (web), но во frontmatter они не объявлены
- 100Шаги. Шагов: 27
- 100Согласованность. Имя и обязательные поля на месте
- 100Стоимость исполнения. Тело инструкции 1642 токенов
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 10. Похоже на несколько доменов в одном скилле
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 0: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- -2Ссылки на localhost: у другого пользователя не заработает
- -31 из 1 скриптов не упомянуты в SKILL.md
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Структура: 21 заголовков
- +3Пошаговые инструкции: 27 пунктов
- +4Есть примеры (14 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 0.