C memory-engine
Memory guardian for OpenClaw — three-layer anti-amnesia with capacity management. v6.0: MEMORY.md soft cap (5000 chars) + USER.md cap (1500 chars) prevent prompt explosion. Auto-snapshot before compaction/GC. Integrity monitoring restores from snapshot if MEMORY.md is wiped. Works alongside OpenClaw native memorySearch (vector+hybrid) when available, falls back to built-in FTS5 when not. Focuses on what native lacks: auto-write, session extraction, watcher daemon, GC, health checks, backup, capacity management. Layer 1 (system): cron every 1h + watcher detects resets <30s + integrity checks. Layer 2 (platform): memory-flush + session-memory hook. Layer 3 (agent): write/search/maintain/boot scripts. Use when: recalling past conversations, writing memory entries, checking memory health, maintaining search index. Triggers: 'remember', 'recall', 'what did we discuss', 'memory status', 'search memory', 'reindex'.
- Безопасность 60%
- Качество 40%
- Тесты бонус
Чем это грозит
Находки средней серьёзности: скорее всего скилл честный, но прочитайте, что именно насторожило сканер.
Ниже описан худший случай для этой категории. Здесь находка средней серьёзности: guard увидел признак, но не доказательство.
Скилл содержит команды, которые удаляют файлы, переписывают диски или исполняют код, скачанный из сети. Агент может выполнить их без вопроса, если считает, что так требует инструкция.
Замените разрушительные команды на безопасные аналоги с подтверждением, ограничьте область действия конкретной папкой и не тяните код через curl | bash: укажите версию и контрольную сумму.
Как улучшить
- Добавьте evals/evals.json с 4–6 реальными запросами и ожидаемыми ответами: тогда полная проверка использует ваши кейсы, а не черновик модели.
- Добавьте spec.yaml с триггерами и утверждениями (skilltest init): это контракт поведения для CI.
Находки guard · 13
✓ Критических и высоких находок нет
Средние и низкие: 13
-
средняя Опасные команды
cmd-persistenceREADME.md:88Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (документация security-скилла)(crontab -l 2>/dev/null; echo "0 * * * * $(pwd)/scripts/memory-cron.sh") | crontab -
security-скилл -
средняя Опасные команды
cmd-persistencescripts/memory-cron.sh:3Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (комментарий в коде)# Install: (crontab -l; echo "0 * * * * /path/to/memory-cron.sh") | crontab -
комментарий -
средняя Опасные команды
cmd-persistenceSKILL.md:100Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (документация security-скилла)(crontab -l 2>/dev/null; echo "0 * * * * $(pwd)/scripts/memory-cron.sh") | crontab -
security-скилл -
средняя Опасные команды
cmd-persistenceSKILL.md:116Механизм закрепления (cron / launchd / планировщик / автозапуск в реестре) (документация security-скилла)(crontab -l 2>/dev/null; echo "0 * * * * $(pwd)/scripts/memory-cron.sh") | crontab -
security-скилл -
низкая Опасные команды
cmd-cron-mentionREADME.md:88Упоминание редактирования crontab (документация security-скилла)(crontab -l 2>/dev/null; echo "0 * * * * $(pwd)/scripts/memory-cron.sh") | crontab -
security-скилл -
низкая Опасные команды
cmd-cron-mentionscripts/memory-backup.sh:21Упоминание редактирования crontabcrontab -l > "$WORKSPACE/crontab.backup" 2>/dev/null || true
-
низкая Опасные команды
cmd-cron-mentionscripts/memory-cron.sh:3Упоминание редактирования crontab (комментарий в коде)# Install: (crontab -l; echo "0 * * * * /path/to/memory-cron.sh") | crontab -
комментарий -
низкая Опасные команды
cmd-background-processscripts/memory-cron.sh:142Запуск фонового / автозапускаемого процессаnohup bash "$SCRIPT_DIR/memory-watcher.sh" >> "$WORKSPACE/.memory/watcher.log" 2>&1 &
-
низкая Опасные команды
cmd-cron-mentionscripts/memory-migrate.js:159Упоминание редактирования crontab (в кавычках — упоминание, а не команда)const crontab = require('child_process').execSync('crontab -l', { encoding: 'utf8' });в кавычках -
низкая Опасные команды
cmd-cron-mentionscripts/memory-migrate.js:205Упоминание редактирования crontab (в кавычках — упоминание, а не команда)const crontab = execSync('crontab -l', { encoding: 'utf8' });в кавычках -
низкая Опасные команды
cmd-background-processscripts/memory-watcher.sh:6Запуск фонового / автозапускаемого процесса (комментарий в коде)# Usage: nohup bash memory-watcher.sh &
комментарий -
низкая Опасные команды
cmd-cron-mentionSKILL.md:100Упоминание редактирования crontab (документация security-скилла)(crontab -l 2>/dev/null; echo "0 * * * * $(pwd)/scripts/memory-cron.sh") | crontab -
security-скилл -
низкая Опасные команды
cmd-cron-mentionSKILL.md:116Упоминание редактирования crontab (документация security-скилла)(crontab -l 2>/dev/null; echo "0 * * * * $(pwd)/scripts/memory-cron.sh") | crontab -
security-скилл
Просканировано файлов: 18. Улики замаскированы. Пометки в серых чипах объясняют, почему серьёзность понижена.
Lint
✓ Lint: замечаний нет
Процессная зрелость 53/100
- 0Результат и критерий готовности. Не сказано, что считать результатом
- 20Когда включается. Не сказано, при каком запросе скилл включается
- 30Повторный запуск. Изменяющих операций: 4, без проверки текущего состояния
- 40Согласованность. Имя во frontmatter (memory-engine) не совпадает с папкой (memory-engine-3layer)
- 50Ошибки и развилки. Развилок: 0, есть раздел про ошибки
- 60Инструменты и файлы. Используются инструменты (bash), но во frontmatter они не объявлены
- 70Входы и предусловия. Входные данные и предусловия перечислены
- 100Шаги. Шагов: 42
- 100Стоимость исполнения. Тело инструкции 3776 токенов
- 100Отчётность по ходу. Скилл сообщает о ходе работы
Всё перечисленное измерено по тексту скилла, а не оценено моделью: цифры проверяемы. Вес параметра тем больше, чем чаще из-за него процесс встаёт.
Сигналы качества
- +5В description нет примеров фраз, по которым скилл должен срабатывать
- +4Описание не говорит, когда скилл НЕ применять (ложные срабатывания)
- +3Длина description 921: рекомендуется 120–800 символов
- +3Формат ответа не описан: модель каждый раз решает сама
- -223 эмодзи в инструкциях: шум для модели
- -31 из 14 скриптов не упомянуты в SKILL.md
- +1Лицензия не указана
- +2Инструкции на одном языке
- +4Структура: 32 заголовков
- +3Пошаговые инструкции: 42 пунктов
- +4Есть примеры (20 блоков кода)
База качества 70; замечания lint вычитаются, сигналы прибавляют до 100. Итог: 76.