技能 file-uploads
📦

file-uploads

安全

Gerencie Uploads de Arquivos e Armazenamento em Nuvem com Segurança

Faça upload de arquivos com segurança sem bloquear sua aplicação ou expor dados sensíveis. Esta skill fornece padrões comprovados para URLs pré-assinadas, validação de magic bytes e integração segura com armazenamento em nuvem.

支持: Claude Codex Code(CC)
🥉 74 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“file-uploads”。 Fazer upload de um arquivo de vídeo de 500MB para armazenamento em nuvem

预期结果:

  • 1. Cliente solicita URLs pré-assinadas para upload multipart
  • 2. Servidor gera 5 URLs de partes de upload (100MB cada)
  • 3. Cliente faz upload das partes em paralelo diretamente para o S3
  • 4. Cliente chama a API de completar upload multipart
  • 5. Arquivo disponível em s3://bucket/videos/user123/video.mp4

正在使用“file-uploads”。 Validar tipo de arquivo de imagem enviada

预期结果:

  • Bytes do cabeçalho do arquivo verificados: FF D8 FF (assinatura JPEG detectada)
  • Alegação do cabeçalho Content-Type: image/jpeg - VÁLIDO
  • Tamanho do arquivo: 2,3MB - dentro do limite de 5MB
  • Nome do arquivo sanitizado: 'photo.jpg' -> 'uploads/user123/abc123.jpg'
  • Upload autorizado e URL pré-assinada retornada

安全审计

安全
v1 • 2/25/2026

This skill is a documentation-only file (SKILL.md) providing guidance on secure file upload handling. Static analysis flagged 'weak cryptographic algorithm' at lines 3 and 26, but both are FALSE POSITIVES. Line 3 contains only a YAML description field, and line 26 is plain documentation text. No actual code execution, network calls, or cryptographic operations exist in this skill.

1
已扫描文件
27
分析行数
1
发现项
1
审计总数
低风险问题 (1)
Static analysis false positive - weak cryptographic algorithm
The static analyzer flagged 'weak cryptographic algorithm' at SKILL.md:3 and SKILL.md:26. Both are false positives. Line 3 contains only a YAML frontmatter description field mentioning presigned URLs. Line 26 contains plain documentation text. No actual cryptographic code exists in this file.
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
100
安全
91
规范符合性

你能构建什么

Funcionalidade de upload de arquivos em aplicações web

Construa uma funcionalidade de upload de imagens segura para um sistema de perfil de usuário com validação automática e armazenamento em nuvem.

Manuseio de arquivos de vídeo grandes

Implemente uploads multipart para arquivos de vídeo maiores que 100MB sem problemas de memória no servidor.

Sistema de gerenciamento de documentos

Crie um pipeline de upload de documentos seguro com validação de tipo e caminhos organizados no armazenamento em nuvem.

试试这些提示

Configuração Básica de Upload no S3
Gere código para fazer upload de uma imagem de avatar de usuário para o S3 usando uma URL pré-assinada. Valide se o arquivo é uma imagem válida usando magic bytes antes de permitir o upload.
Implementação de Upload Multipart
Crie um manipulador de upload multipart para arquivos maiores que 100MB. Inclua chunking no lado do cliente, rastreamento de progresso e integração com a API multipart do S3.
Sanitização Segura de Nomes de Arquivo
Escreva uma função que sanitiza nomes de arquivos enviados para prevenir ataques de path traversal. Remova caracteres perigosos, normalize unicode e gere chaves de armazenamento únicas.
Migração para Cloudflare R2
Converta o código de upload existente do S3 para funcionar com o Cloudflare R2. Inclua geração de URL pré-assinada, configuração adequada do endpoint e dicas de otimização de custos.

最佳实践

  • Sempre valide tipos de arquivo usando magic bytes, nunca confie em extensões de arquivo ou cabeçalhos Content-Type fornecidos pelo cliente
  • Use URLs pré-assinadas para permitir que clientes façam upload diretamente para o armazenamento em nuvem, evitando custos de largura de banda do servidor
  • Defina limites explícitos de tamanho e aplique-os tanto no API gateway quanto nos seus manipuladores de upload

避免

  • Armazenar arquivos enviados no sistema de arquivos do servidor de aplicação em vez de armazenamento em nuvem
  • Usar o nome do arquivo original como chave de armazenamento sem sanitização
  • Fazer proxy de uploads de arquivos através do seu servidor backend em vez de usar URLs pré-assinadas

常见问题

O que é uma URL pré-assinada e por que devo usá-la?
Uma URL pré-assinada é uma URL com tempo limitado que concede acesso temporário para fazer upload ou download do armazenamento em nuvem. O uso de URLs pré-assinadas permite que clientes façam upload diretamente para o S3 ou R2, reduzindo a carga do servidor e custos de largura de banda enquanto mantém a segurança através de credenciais temporárias.
Como valido tipos de arquivo com segurança?
Verifique os magic bytes (assinatura do cabeçalho) do arquivo em vez de confiar na extensão do arquivo ou no cabeçalho Content-Type. Por exemplo, arquivos JPEG começam com os bytes FF D8 FF. Isso impede que atacantes façam upload de arquivos maliciosos com extensões falsas.
Quais limites de tamanho devo definir para uploads?
Defina limites com base no seu caso de uso: imagens de perfil (5MB), documentos (25MB), vídeos (500MB+). Sempre aplique limites em múltiplas camadas: API gateway, lógica de aplicação e políticas do bucket de armazenamento em nuvem.
Como previno ataques de path traversal em nomes de arquivo?
Nunca use o nome do arquivo original diretamente. Remova todos os componentes de caminho, remova ou substitua caracteres especiais, normalize unicode e considere gerar chaves de armazenamento aleatórias enquanto mapeia nomes originais no seu banco de dados.
O que é upload multipart e quando devo usá-lo?
O upload multipart divide arquivos grandes em chunks enviados em paralelo. Use para arquivos maiores que 100MB. Os benefícios incluem: uploads retomáveis, velocidade de transferência paralela e capacidade de lidar com arquivos de até 5TB no S3.
Posso usar esta skill com provedores de armazenamento diferentes do S3?
Sim. Os padrões funcionam com qualquer armazenamento compatível com S3, incluindo Cloudflare R2, MinIO, DigitalOcean Spaces e Wasabi. Apenas a URL do endpoint e as credenciais precisam ser alteradas.

开发者详情

文件结构

📄 SKILL.md