# upload-insecure-files

Скилл даёт готовый сценарий для проверки безопасности загрузки файлов в веб-приложениях. Он помогает обнаружить обход валидации, уязвимости хранилища и ошибки в фоновых конвертерах.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 3500 установок · ★ 2547
- Автор: yaklang
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/yaklang/hack-skills/tree/HEAD/skills/upload-insecure-files/SKILL.md
- Обновлён: 2026-09-13
- HTML: https://affpapa.org/nevibecode/skills/upload-insecure-files

## Что делает

Плейбук делит проверку механизма загрузки на четыре границы доверия: приём файла, сохранение на диск, фоновая обработка и выдача пользователю. Ошибки чаще возникают не на этапе валидации расширения, а позже, когда файл попадает в асинхронный конвейер.

Скилл направляет аудит по ключевым векторам риска. Он помогает разобрать подмену MIME-типов, обход чёрных списков расширений, перезапись чужих путей и запуск команд через внешние утилиты вроде FFmpeg или ImageMagick. Если в приложении отражаются оригинальные имена файлов в отчётах или HTML, инструкция подскажет проверить их как векторы инъекций.

Для разбора специфических уязвимостей серверов вроде парсинга в IIS, Nginx или конкретных CVE для Tomcat и WebLogic плейбук требует загрузки отдельного файла `SCENARIOS.md`. Без него анализ ограничен общей логикой валидации и цепочками обработки.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add yaklang/hack-skills --skill upload-insecure-files -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/upload-insecure-files/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/upload-insecure-files/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add yaklang/hack-skills --skill upload-insecure-files -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/upload-insecure-files/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add yaklang/hack-skills --skill upload-insecure-files -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/upload-insecure-files/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install yaklang/hack-skills upload-insecure-files
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/upload-insecure-files/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add yaklang/hack-skills --skill upload-insecure-files -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/yaklang/hack-skills --path skills/upload-insecure-files
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/upload-insecure-files/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add yaklang/hack-skills --skill upload-insecure-files -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/yaklang/hack-skills/tree/HEAD/skills/upload-insecure-files/SKILL.md

## Когда брать
- проверить устойчивость фильтров расширений и MIME-типов
- выявить риски перезаписи файлов и обхода путей в хранилище
- протестировать безопасность фоновых обработчиков медиа и архивов
- обнаружить инъекции через имена файлов в отчётах и логах

## Примеры запросов агенту
- Проверь эндпоинт загрузки аватарок на обход ограничений по типу и расширению файла.
- Оцени безопасность фонового парсера архивов и конвертера изображений в проекте.

## Похожие
- [gws-drive-upload](https://affpapa.org/nevibecode/skills/gws-drive-upload.md) — скилл · 49300 установок
- [experience-ui-bundle-file-upload-generate](https://affpapa.org/nevibecode/skills/experience-ui-bundle-file-upload-generate.md) — скилл · 5200 установок
- [application-security-testing](https://affpapa.org/nevibecode/skills/application-security-testing.md) — скилл · 12600 установок
- [security-payloads](https://affpapa.org/nevibecode/skills/security-payloads.md) — скилл · 564 установки
- [fix-finding](https://affpapa.org/nevibecode/skills/fix-finding.md) — скилл · 27 установок
- [defense-in-depth-validation](https://affpapa.org/nevibecode/skills/defense-in-depth-validation.md) — скилл · 413 установок

Из того же набора: [yaklang/hack-skills](https://affpapa.org/nevibecode/by/yaklang/hack-skills.md) — 93 карточки

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
