المهارات file-uploads
📦

file-uploads

آمن

Gestionar Subidas de Archivos y Almacenamiento en la Nube de Forma Segura

Sube archivos de forma segura sin bloquear tu aplicación ni exponer datos sensibles. Esta skill proporciona patrones probados para URLs prefirmadas, validación de magic bytes e integración segura con almacenamiento en la nube.

يدعم: Claude Codex Code(CC)
🥉 74 برونزي
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "file-uploads". Subir un archivo de video de 500MB al almacenamiento en la nube

النتيجة المتوقعة:

  • 1. El cliente solicita URLs prefirmadas para subida multiparte
  • 2. El servidor genera 5 URLs de parte de subida (100MB cada una)
  • 3. El cliente sube las partes en paralelo directamente a S3
  • 4. El cliente llama a la API de completar subida multiparte
  • 5. Archivo disponible en s3://bucket/videos/user123/video.mp4

استخدام "file-uploads". Validar tipo de archivo de imagen subida

النتيجة المتوقعة:

  • Bytes de cabecera del archivo verificados: FF D8 FF (firma JPEG detectada)
  • Contenido del header Content-Type: image/jpeg - VÁLIDO
  • Tamaño del archivo: 2.3MB - dentro del límite de 5MB
  • Nombre de archivo sanitizado: 'photo.jpg' -> 'uploads/user123/abc123.jpg'
  • Subida autorizada y URL prefirmada 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
الامتثال للمواصفات

ماذا يمكنك بناءه

Funcionalidad de subida de archivos para aplicación web

Construye una funcionalidad segura de subida de imágenes para un sistema de perfiles de usuario con validación automática y almacenamiento en la nube.

Manejo de archivos de video grandes

Implementa subidas multiparte para archivos de video que exceden 100MB sin problemas de memoria del servidor.

Sistema de gestión de documentos

Crea un pipeline seguro de subida de documentos con validación de tipos y rutas organizadas de almacenamiento en la nube.

جرّب هذه الموجهات

Configuración Básica de Subida a S3
Genera código para subir una imagen de avatar de usuario a S3 usando una URL prefirmada. Valida que el archivo sea una imagen válida usando magic bytes antes de permitir la subida.
Implementación de Subida Multiparte
Crea un manejador de subida multiparte para archivos mayores a 100MB. Incluye fragmentación del lado del cliente, seguimiento de progreso e integración con la API multipart de S3.
Sanitización Segura de Nombres de Archivo
Escribe una función que sanitice nombres de archivo subidos para prevenir ataques de path traversal. Elimina caracteres peligrosos, normaliza unicode y genera claves de almacenamiento únicas.
Migración a Cloudflare R2
Convierte código de subida a S3 existente para que funcione con Cloudflare R2. Incluye generación de URLs prefirmadas, configuración adecuada del endpoint y consejos de optimización de costos.

أفضل الممارسات

  • Siempre valida tipos de archivo usando magic bytes, nunca confíes en extensiones de archivo o headers Content-Type proporcionados por el cliente
  • Usa URLs prefirmadas para permitir que los clientes suban directamente al almacenamiento en la nube, evitando costos de ancho de banda del servidor
  • Establece límites de tamaño explícitos y aplícalos tanto en el API gateway como en tus manejadores de subida

تجنب

  • Almacenar archivos subidos en el sistema de archivos del servidor de aplicación en lugar de almacenamiento en la nube
  • Usar el nombre de archivo original como clave de almacenamiento sin sanitización
  • Proxificar subidas de archivos a través de tu servidor backend en lugar de usar URLs prefirmadas

الأسئلة المتكررة

¿Qué es una URL prefirmada y por qué debería usarla?
Una URL prefirmada es una URL con tiempo limitado que otorga acceso temporal para subir o descargar desde almacenamiento en la nube. Usar URLs prefirmadas permite a los clientes subir directamente a S3 o R2, reduciendo la carga del servidor y los costos de ancho de banda mientras se mantiene la seguridad mediante credenciales temporales.
¿Cómo valido tipos de archivo de forma segura?
Verifica los magic bytes del archivo (firma de cabecera) en lugar de confiar en la extensión del archivo o el header Content-Type. Por ejemplo, los archivos JPEG comienzan con los bytes FF D8 FF. Esto previene que atacantes suban archivos maliciosos con extensiones falsas.
¿Qué límites de tamaño debería establecer para las subidas?
Establece límites según tu caso de uso: imágenes de perfil (5MB), documentos (25MB), videos (500MB+). Siempre aplica límites en múltiples capas: API gateway, lógica de aplicación y políticas del bucket de almacenamiento en la nube.
¿Cómo prevengo ataques de path traversal en nombres de archivo?
Nunca uses el nombre de archivo original directamente. Elimina todos los componentes de ruta, quita o reemplaza caracteres especiales, normaliza unicode y considera generar claves de almacenamiento aleatorias mientras mapeas los nombres originales en tu base de datos.
¿Qué es la subida multiparte y cuándo debería usarla?
La subida multiparte divide archivos grandes en fragmentos subidos en paralelo. Úsala para archivos mayores a 100MB. Los beneficios incluyen: subidas reanudables, velocidad de transferencia paralela y capacidad de manejar archivos de hasta 5TB en S3.
¿Puedo usar esta skill con proveedores de almacenamiento distintos a S3?
Sí. Los patrones funcionan con cualquier almacenamiento compatible con S3 incluyendo Cloudflare R2, MinIO, DigitalOcean Spaces y Wasabi. Solo la URL del endpoint y las credenciales necesitan cambiarse.

تفاصيل المطور

المؤلف

sickn33

الترخيص

MIT

مرجع

main

بنية الملفات

📄 SKILL.md