# rust-security

Скилл для проверки Rust-проектов на уязвимости: cargo-audit, cargo-deny, RUSTSEC, безопасный FFI, фаззинг и Miri.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 544 установки · ★ 267
- Автор: mohitmishra786
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/mohitmishra786/low-level-dev-skills/tree/HEAD/skills/rust/rust-security/SKILL.md
- Обновлён: 2026-06-27
- HTML: https://affpapa.org/nevibecode/skills/rust-security

## Что делает

Скилл ведёт агента по шагам аудита Rust-проекта. Сначала `cargo-audit` сканирует зависимости и lockfile, выдаёт отчёт по RUSTSEC-2023-0052 и подобным записям с указанием, до какой версии обновиться. Дальше `cargo-deny` берёт на себя политику: в `deny.toml` задаются запрет уязвимых и yanked-версий, белый список лицензий, баны конкретных крейтов вроде `openssl` и проверка источников. Отдельный блок — работа с базой RUSTSEC: как выгрузить advisory-db и различать типы записей (vulnerability, unmaintained, unsound, yanked).

Для небезопасного кода на границе с C скилл показывает, как валидировать указатель и длину до `from_raw_parts`, и советует обёртки вроде `nix` или `windows`. Есть разделы про `cargo-fuzz` и `honggfuzz` с санитайзерами, а также про Miri на nightly, который ловит use-after-free, висячие ссылки и гонки данных. Для цепочки поставок — `cargo tree -d`, `cargo fetch --locked`, `cargo-vet` и `cargo machete`.

Учтите: Miri требует nightly-тулчейн и компонент `miri`, а `cargo-fuzz` и `honggfuzz` ставятся отдельно через `cargo install`. Если в проекте уже есть свой `deny.toml`, скилл разберёт его по секциям, а не предложит конфиг заново.

## Установка

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

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill rust-security -a claude-code
```

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

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill rust-security -a codex
```

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

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill rust-security -a cursor
```

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

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install mohitmishra786/low-level-dev-skills rust-security
```

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

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill rust-security -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/mohitmishra786/low-level-dev-skills --path skills/rust/rust-security
```

### Windsurf (Devin Desktop)

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

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add mohitmishra786/low-level-dev-skills --skill rust-security -a opencode
```

### Claude.ai

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

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/mohitmishra786/low-level-dev-skills/tree/HEAD/skills/rust/rust-security/SKILL.md

## Когда брать
- найти CVE в зависимостях Rust-проекта
- запретить GPL-лицензии в проприетарной сборке
- проверить указатель и длину перед `from_raw_parts`
- поймать use-after-free в unsafe-коде через Miri
- настроить фаззинг парсера с address-санитайзером

## Примеры запросов агенту
- проверь зависимости проекта через cargo-audit и покажи найденные RUSTSEC-записи
- настрой deny.toml: запрети yanked-версии и GPL-лицензии
- прогони тесты под Miri и объясни, что нашлось в unsafe-блоке

## Похожие
- [cargo-fuzz](https://affpapa.org/nevibecode/skills/cargo-fuzz.md) — скилл · 5400 установок
- [rust-best-practices](https://affpapa.org/nevibecode/skills/rust-best-practices.md) — скилл · 21100 установок
- [rust-engineer](https://affpapa.org/nevibecode/agents/rust-engineer.md) — субагент · 262 установки
- [rust-deps-visualizer](https://affpapa.org/nevibecode/skills/rust-deps-visualizer.md) — скилл · 3000 установок
- [rust-router](https://affpapa.org/nevibecode/skills/rust-router.md) — скилл · 2700 установок
- [rust](https://affpapa.org/nevibecode/skills/rust.md) — скилл · 922 установки

Из того же набора: [mohitmishra786/low-level-dev-skills](https://affpapa.org/nevibecode/by/mohitmishra786/low-level-dev-skills.md) — 62 карточки

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

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