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

file-uploads

آمن

파일 업로드 및 클라우드 스토리지 보안 처리

애플리케이션을 블로킹하거나 민감한 데이터를 노출하지 않고 안전하게 파일을 업로드하세요. 이 스킬은 사전 서명된 URL, 매직 바이트 검증 및 안전한 클라우드 스토리지 통합을 위한 검증된 패턴을 제공합니다.

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

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

2

رفع في Claude

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

3

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

اختبرها

استخدام "file-uploads". 500MB 비디오 파일을 클라우드 스토리지에 업로드

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

  • 1. 클라이언트가 멀티파트 업로드를 위한 사전 서명 URL 요청
  • 2. 서버가 5 개의 업로드 파트 URL 생성 (각각 100MB)
  • 3. 클라이언트가 S3 로 직접 병렬로 파트 업로드
  • 4. 클라이언트가 멀티파트 업로드 완료 API 호출
  • 5. 파일이 s3://bucket/videos/user123/video.mp4 에서 사용 가능

استخدام "file-uploads". 업로드된 이미지 파일 타입 검증

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

  • 파일 헤더 바이트 확인: FF D8 FF (JPEG 서명 감지됨)
  • Content-Type 헤더 주장: image/jpeg - 유효함
  • 파일 크기: 2.3MB - 5MB 제한 이내
  • 파일명 소독됨: 'photo.jpg' -> 'uploads/user123/abc123.jpg'
  • 업로드 승인됨 및 사전 서명 URL 반환됨

التدقيق الأمني

آمن
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
الامتثال للمواصفات

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

웹 애플리케이션 파일 업로드 기능

자동 검증 및 클라우드 스토리지를 포함한 사용자 프로필 시스템용 보안 이미지 업로드 기능 구축.

대용량 비디오 파일 처리

서버 메모리 문제 없이 100MB 를 초과하는 비디오 파일을 위한 멀티파트 업로드 구현.

문서 관리 시스템

타입 검증 및 정리된 클라우드 스토리지 경로를 갖춘 보안 문서 업로드 파이프라인 생성.

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

기본 S3 업로드 설정
사전 서명 URL 을 사용하여 사용자 아바타 이미지를 S3 에 업로드하는 코드를 생성하세요. 업로드를 허용하기 전에 매직 바이트를 사용하여 파일이 유효한 이미지인지 검증하세요.
멀티파트 업로드 구현
100MB 보다 큰 파일을 위한 멀티파트 업로드 핸들러를 생성하세요. 클라이언트 측 청킹, 진행 상황 추적 및 S3 멀티파트 API 통합을 포함하세요.
보안 파일명 소독
경로 이동 공격을 방지하기 위해 업로드된 파일명을 소독하는 함수를 작성하세요. 위험한 문자를 제거하고, 유니코드를 정규화하며, 고유한 스토리지 키를 생성하세요.
Cloudflare R2 마이그레이션
기존 S3 업로드 코드를 Cloudflare R2 에서 작동하도록 변환하세요. 사전 서명 URL 생성, 적절한 엔드포인트 설정 및 비용 최적화 팁을 포함하세요.

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

  • 파일 확장자나 클라이언트 제공 Content-Type 헤더를 신뢰하지 말고 항상 매직 바이트를 사용하여 파일 타입을 검증하세요
  • 사전 서명 URL 을 사용하여 클라이언트가 클라우드 스토리지로 직접 업로드하도록 하여 서버 대역폭 비용 절감
  • 명시적인 사이즈 제한을 설정하고 API 게이트웨이와 업로드 핸들러 모두에서 강제하세요

تجنب

  • 업로드된 파일을 클라우드 스토리지 대신 애플리케이션 서버 파일시스템에 저장
  • 소독 없이 원본 파일명을 스토리지 키로 사용
  • 사전 서명 URL 대신 백엔드 서버를 통해 파일 업로드 프록시

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

사전 서명 URL 이란 무엇이며 왜 사용해야 하나요?
사전 서명 URL 은 클라우드 스토리지에 업로드하거나 다운로드할 수 있는 임시 액세스 권한을 부여하는 시간 제한 URL 입니다. 사전 서명 URL 을 사용하면 클라이언트가 S3 나 R2 로 직접 업로드할 수 있어 임시 자격 증명을 통한 보안을 유지하면서 서버 부하와 대역폭 비용을 줄일 수 있습니다.
파일 타입을 안전하게 검증하려면 어떻게 해야 하나요?
파일 확장자나 Content-Type 헤더를 신뢰하는 대신 파일의 매직 바이트 (헤더 서명) 를 확인하세요. 예를 들어, JPEG 파일은 바이트 FF D8 FF 로 시작합니다. 이렇게 하면 가짜 확장자를 가진 악성 파일을 업로드하는 공격자를 방지할 수 있습니다.
업로드에 어떤 사이즈 제한을 설정해야 하나요?
사용 사례에 따라 제한을 설정하세요: 프로필 이미지 (5MB), 문서 (25MB), 비디오 (500MB+). API 게이트웨이, 애플리케이션 로직 및 클라우드 스토리지 버킷 정책 등 여러 계층에서 항상 제한을 강제하세요.
파일명에서 경로 이동 공격을 어떻게 방지하나요?
원본 파일명을 직접 사용하지 마세요. 모든 경로 구성 요소를 제거하고 특수 문자를 제거하거나 교체하며, 유니코드를 정규화하고, 데이터베이스에서 원본 이름을 매핑하면서 무작위 스토리지 키를 생성하는 것을 고려하세요.
멀티파트 업로드란 무엇이며 언제 사용해야 하나요?
멀티파트 업로드는 대용량 파일을 병렬로 업로드되는 청크로 분할합니다. 100MB 이상의 파일에 사용하세요. 장점은 다음과 같습니다: 재개 가능한 업로드, 병렬 전송 속도, S3 에서 최대 5TB 파일 처리 가능.
이 스킬을 S3 이외의 스토리지 공급자와 함께 사용할 수 있나요?
네. 패턴은 Cloudflare R2, MinIO, DigitalOcean Spaces, Wasabi 를 포함한 모든 S3 호환 스토리지에서 작동합니다. 엔드포인트 URL 과 자격 증명만 변경하면 됩니다.

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

المؤلف

sickn33

الترخيص

MIT

مرجع

main

بنية الملفات

📄 SKILL.md