memory-safety-patterns
Применение паттернов безопасности памяти в системном коде
Ошибки памяти вызывают сбои и уязвимости безопасности в системном коде. Этот навык обучает паттернам RAII, владения и управления ресурсами в Rust, C++ и C.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «memory-safety-patterns». Summarize safe resource management options in C, C++, and Rust.
Ожидаемый результат:
- C: use goto cleanup blocks or explicit create and destroy functions
- C++: use RAII with destructors and smart pointers
- Rust: rely on ownership, borrowing, and Drop semantics
Использование «memory-safety-patterns». When should I use unique_ptr versus shared_ptr?
Ожидаемый результат:
- Use unique_ptr when a single owner controls the lifetime
- Use shared_ptr when multiple owners must share the resource
- Prefer unique_ptr with move semantics over shared_ptr when possible
Использование «memory-safety-patterns». How does Rust prevent use-after-free?
Ожидаемый результат:
- The compiler tracks ownership and enforces single owner by default
- References (borrows) have checked lifetimes
- Memory is freed automatically when the owner goes out of scope
Аудит безопасности
БезопасноThe skill is a static educational markdown guide containing code examples for memory safety patterns. It has no executable scripts, no runtime tool calls, no network behavior, and no file system access. All 67 static findings are false positives caused by the scanner pattern-matching on educational keywords in legitimate systems programming content.
Факторы риска
🌐 Доступ к сети (4)
⚙️ Внешние команды (23)
📁 Доступ к файловой системе (1)
Оценка качества
Что вы можете построить
Предотвращение ошибок памяти
Применяйте паттерны RAII и владения для уменьшения утечек и ошибок use after free.
Модернизация обработки ресурсов
Замените сырые указатели на умные указатели и более безопасный доступ к контейнерам.
Понимание правил владения
Изучите заимствование, время жизни и паттерны безопасного совместного владения.
Попробуйте эти промпты
Объясните RAII на коротком примере C++ для работы с файлами и мьютексами. Будьте краткими и практичными.
Для дерева с ссылками на родителя и потомки рекомендуйте умные указатели и объясните, как избежать циклов.
Покажите, как класс RAII C++ отображается на владение, заимствование и Drop в Rust. Приведите краткий пример.
Рекомендуйте подход к предотвращению гонок данных в C++ и Rust для общего счётчика и карты.
Лучшие практики
- Связывайте время жизни ресурса с областью видимости с помощью RAII или владения
- Предпочитайте безопасные контейнеры и доступ с проверкой границ
- Используйте санитайзеры и статический анализ во время разработки
Избегать
- Использование сырых указателей без чётких правил владения
- Возврат ссылок на стековые локальные данные
- Игнорирование предупреждений компилятора о небезопасном доступе
Часто задаваемые вопросы
Is this skill compatible with Claude, Codex, and Claude Code?
What are the limits of the guidance?
Can it integrate with my build or CI system?
Does it access my files or data?
What if I still see memory errors?
How does it compare to a linter or sanitizer?
Сведения для разработчиков
Автор
wshobsonЛицензия
MIT
Репозиторий
https://github.com/wshobson/agents/tree/main/plugins/systems-programming/skills/memory-safety-patternsСсылка
main
Структура файлов
📄 SKILL.md