C camscanner
CamScanner document processing - an intelligent document conversion and processing platform and official CamScanner Skill. Use this skill when the user mentions CamScanner, document conversion, image to Word, image to Excel, image to PDF, PDF to Word, PDF to Excel, PDF to Markdown, image enhancement, image upscaling, photo restoration, OCR, text recognition, image translation, formula extraction, adding watermarks, removing watermarks, merging PDFs, image text editing, document scanning, invoice recognition, receipt recognition, cloud document search, cloud document download, cloud document move, cloud folder management, or saving processed results to CamScanner cloud documents. Supports image enhancement/upscaling/restoration, OCR, format conversion (image/PDF to Word/Excel/Markdown; image to PDF), watermark add/remove, image translation, formula extraction, multi-image merge, document scanning and editing, invoice/receipt recognition, cloud document search/download/move/folder management, and saving results to the user's CamScanner account.
CamScanner document processing - an intelligent document conversion and processing platform and official CamScanner Skill.
- Безопасность 60%
- Качество 40%
- Тесты бонус
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.
Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.
Как улучшить
- Сократите description до 1024 символов.
- Тело SKILL.md длиннее 5 000 токенов: вынесите справочные детали в references/ и подключайте по необходимости.
- Добавьте evals/evals.json с 4–6 реальными запросами и ожидаемыми ответами: тогда полная проверка использует ваши кейсы, а не черновик модели.
- Добавьте spec.yaml с триггерами и утверждениями (skilltest init): это контракт поведения для CI.
Находки guard · 4
✓ Критических и высоких находок нет
Средние и низкие: 4
-
средняя Опасные команды
cmd-pipe-to-shellscripts/setup.sh:7Скачивание и запуск удалённого кода с неизвестного хоста (pipe в shell) (комментарий в коде)# curl -fsSL <CDN>/setup.sh | sh
комментарий -
низкая Опасные команды
cmd-execpolicy-bypassscripts/setup.ps1:2Запуск PowerShell с обходом execution policy (комментарий в коде)# Usage: powershell -ExecutionPolicy Bypass -File scripts\setup.ps1
комментарий -
низкая Опасные команды
cmd-execpolicy-bypassSKILL.md:69Запуск PowerShell с обходом execution policy (строка таблицы в документации; документация security-скилла)| Windows | `powershell -ExecutionPolicy Bypass -File scripts/setup.ps1` |
таблицаsecurity-скилл -
низкая Секреты в коде
secret-high-entropy-tokenSKILL.md:462Строка, похожая на токен (может быть id, хеш или секрет) (определение детектора / чёрного списка)camscanner-cli doc download 7DD6…rd1
детектор
Просканировано файлов: 16. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
Lint
- ошибка
description-longdescription 1058 символов, лимит 1024 - предупреждение
body-longтело SKILL.md ≈ 10909 токенов (рекомендуется < 5000); вынесите детали в references/ - заметка
frontmatter-keyнеизвестное поле фронтматтера "display_name" - заметка
frontmatter-keyнеизвестное поле фронтматтера "display_name_en" - заметка
frontmatter-keyнеизвестное поле фронтматтера "description_en" - заметка
frontmatter-keyнеизвестное поле фронтматтера "homepage"
Процессная зрелость 66/100
- 40Согласованность. Имя во frontmatter (camscanner) не совпадает с папкой (cs-cli)
- 40Стоимость исполнения. Тело инструкции 10909 токенов: вытесняет саму задачу из окна
- 60Инструменты и файлы. Используются инструменты (bash, node), но во frontmatter они не объявлены
- 60Шаги. Шагов: 106, расплывчатых формулировок: 7
- 60Результат и критерий готовности. Формат результата описан, критерия завершения нет
- 70Когда включается. Сказано, когда применять, но не сказано, когда не стоит
- 70Входы и предусловия. Входные данные и предусловия перечислены
- 100Ошибки и развилки. Развилок: 12, есть раздел про ошибки
- 100Повторный запуск. Изменяющие операции проверяют текущее состояние
- 100Отчётность по ходу. Скилл сообщает о ходе работы
- medium Правила безопасности и запреты внутри скилла: их место в системном промпте, здесь они не защищают
- low Разделов верхнего уровня: 10. Похоже на несколько доменов в одном скилле
- low Ответ описан самодельной разметкой (7 тегов): типизированный вызов надёжнее
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 1058: рекомендуется 120–800 символов
- -31 из 4 скриптов не упомянуты в SKILL.md
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Структура: 37 заголовков
- +3Пошаговые инструкции: 106 пунктов
- +3Формат ответа описан явно
- +4Есть примеры (20 блоков кода)
- +4Справочные файлы упоминаются в инструкциях (8 из 8)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 47.