file-uploads
Безопасная загрузка файлов и облачное хранилище
Загружайте файлы безопасно без блокировки приложения и утечки конфиденциальных данных. Этот навык предоставляет проверенные паттерны для presigned URL, валидации по magic bytes и безопасной интеграции с облачными хранилищами.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «file-uploads». Загрузить видеофайл 500МБ в облачное хранилище
Ожидаемый результат:
- 1. Клиент запрашивает presigned URL для multipart загрузки
- 2. Сервер генерирует 5 URL для частей загрузки (по 100МБ каждая)
- 3. Клиент загружает части параллельно напрямую в S3
- 4. Клиент вызывает API завершения multipart загрузки
- 5. Файл доступен по адресу s3://bucket/videos/user123/video.mp4
Использование «file-uploads». Валидировать тип загруженного файла изображения
Ожидаемый результат:
- Проверены байты заголовка файла: FF D8 FF (обнаружена сигнатура JPEG)
- Значение заголовка Content-Type: image/jpeg - VALID
- Размер файла: 2.3MB - в пределах лимита 5MB
- Имя файла санитизировано: 'photo.jpg' -> 'uploads/user123/abc123.jpg'
- Загрузка авторизована и возвращён presigned URL
Аудит безопасности
Безопасно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)
Оценка качества
Что вы можете построить
Функция загрузки файлов в веб-приложении
Создайте безопасную функцию загрузки изображений для системы пользовательских профилей с автоматической валидацией и облачным хранилищем.
Обработка больших видеофайлов
Реализуйте multipart загрузку для видеофайлов размером более 100МБ без проблем с памятью сервера.
Система управления документами
Создайте безопасный пайплайн загрузки документов с валидацией типов и организованной структурой путей в облачном хранилище.
Попробуйте эти промпты
Сгенерируйте код для загрузки изображения аватара пользователя в S3 с использованием presigned URL. Валидируйте файл как корректное изображение с помощью magic bytes перед разрешением загрузки.
Создайте обработчик multipart загрузки для файлов размером более 100МБ. Включите клиентскую нарезку на чанки, отслеживание прогресса и интеграцию с S3 multipart API.
Напишите функцию, которая санитизирует имена загружаемых файлов для предотвращения path traversal атак. Удалите опасные символы, нормализуйте unicode и генерируйте уникальные ключи хранения.
Конвертируйте существующий код загрузки S3 для работы с Cloudflare R2. Включите генерацию presigned URL, корректную настройку endpoint и советы по оптимизации стоимости.
Лучшие практики
- Всегда валидируйте типы файлов с помощью magic bytes, никогда не доверяйте расширениям файлов или предоставленным клиентом заголовкам Content-Type
- Используйте presigned URL для загрузки клиентами напрямую в облачное хранилище, избегая затрат на пропускную способность сервера
- Устанавливайте явные ограничения по размеру и применяйте их как на уровне API gateway, так и в ваших обработчиках загрузки
Избегать
- Хранение загруженных файлов в файловой системе приложения вместо облачного хранилища
- Использование оригинального имени файла в качестве ключа хранения без санитизации
- Проксирование загрузки файлов через ваш backend сервер вместо использования presigned URL