Escreva código seguro e sem falhas usando padrões comprovados de segurança de memória em Rust, C++ e C. Previna vazamentos, use-after-free e estouros de buffer com RAII, modelos de ownership e smart pointers.
スキルZIPをダウンロード
Claudeでアップロード
設定 → 機能 → スキル → スキルをアップロードへ移動
オンにして利用開始
テストする
「memory-safety-patterns」を使用しています。 Como previno vazamentos de memória ao abrir arquivos em C++?
期待される結果:
Use RAII com uma classe wrapper de arquivo inteligente ou std::fstream. O arquivo fecha automaticamente quando o objeto é destruído, mesmo se uma exceção ocorrer. Exemplo: std::fstream file("data.txt"); - o destruidor lida com cleanup automaticamente.
「memory-safety-patterns」を使用しています。 Qual é a diferença entre Box, Rc e Arc em Rust?
期待される結果:
Box<T> para ownership único com alocação em heap. Rc<T> para ownership compartilhado (single-threaded) - incrementa contagem de referências no clone. Arc<T> para ownership compartilhado atômico entre threads - contagem de referências thread-safe.
「memory-safety-patterns」を使用しています。 Como faço verificação de limites de forma segura?
期待される結果:
Em C++, use std::vector::at() que lança std::out_of_range, ou std::span para visualizações de array. Em Rust, indexar com [] causa panic fora dos limites, enquanto .get() retorna Option para manipulação segura. Prefira iteradores para evitar verificação manual de limites.
セキュリティ監査
安全All 56 static findings are false positives. The skill contains only documentation and code examples for memory safety patterns. Thread spawning (thread::spawn) was misidentified as process spawning. Markdown backticks for code formatting were misidentified as shell execution. Documentation URLs and debugging tool references are legitimate educational content.
品質スコア
作れるもの
Programação de Sistemas
Escreva sistemas operacionais, drivers ou software embarcado livre de vulnerabilidades de corrupção de memória.
Aplicações Críticas para Segurança
Construa aplicações onde segurança de memória é obrigatória: criptografia, serviços de rede, processamento de arquivos.
Modernização de Código Legado
Aplique padrões de segurança de memória ao refatorar codebases C/C++ para reduzir bugs e melhorar confiabilidade.
これらのプロンプトを試す
Mostre como implementar um padrão RAII em C++ para uma classe de file handle. Inclua semântica adequada de cópia/movimento e garanta que o arquivo seja fechado automaticamente quando o objeto sair do escopo.
Explique como o ownership do Rust previne bugs de use-after-free. Mostre um exemplo com uma struct que holds uma referência, incluindo anotações de lifetime e quando usar Box, Rc e Arc.
Escreva uma função em C que abre um arquivo, aloca memória e processa dados. Use o padrão goto-cleanup para garantir que todos os recursos sejam adequadamente liberados em caso de erro.
Implemente um contador thread-safe em C++ usando atomics e mutex, e em Rust usando Arc e Mutex. Mostre como cada linguagem previne data races.
ベストプラクティス
- Preferir RAII e smart pointers em vez de gerenciamento manual de memória para garantir cleanup automático
- Usar o borrow checker do Rust em vez de lutar contra ele - ele previne bugs reais
- Executar AddressSanitizer e Valgrind durante o desenvolvimento para detectar problemas de memória cedo
回避
- Usar ponteiros brutos em C++ em vez de smart pointers - leva a vazamentos e ponteiros pendentes
- Ignorar avisos do compilador sobre referências pendentes - eles indicam bugs reais
- Usar blocos unsafe em Rust sem documentar o porquê e isolá-los do código seguro