# s800-vehicle-network-security-testing

A skill for automotive network security work: CAN traffic analysis, fuzzing, ECU scanning and replay. Useful when you have authorization to test a vehicle.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 723 installs · ★ 12
- Author: reason-machines
- License: LicenseRef-Unknown · policy=link-only · description only; the file stays with the author
- Source: https://github.com/reason-machines/security-skills/tree/HEAD/skills/s800-vehicle-network-security-testing/SKILL.md
- Updated: 2026-10-09
- HTML: https://affpapa.org/en/nevibecode/skills/s800-vehicle-network-security-testing

## What it does

The skill hands your agent a toolkit for in-vehicle networks: capturing and parsing CAN traffic, fuzzing messages, scanning for ECUs, replaying recorded sessions, and bridging two interfaces to intercept traffic. The pieces live in `s800.can_analyzer`, `s800.fuzzer`, `s800.ecu_scanner`, `s800.replay` and `s800.mitm`, plus a UDS client (ISO 14229) for reading identifiers such as VIN and pulling diagnostic trouble codes.

Settings sit in `config.yaml` — interfaces, capture buffer size, frame delay for fuzzing, scanner timeouts, logging. There is also a base class `ProtocolDecoder` with a `decode` method if you need to handle a proprietary protocol.

You need Python 3.7 or higher, SocketCAN kernel modules on Linux, a CAN adapter, and root access to configure the interface. No hardware at hand? A virtual `vcan0` interface lets you exercise your own scripts, though it tells you nothing about a real bus. The skill's own note is blunt: testing networks you are not authorized to touch can be illegal and dangerous.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/security-skills --skill s800-vehicle-network-security-testing -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/s800-vehicle-network-security-testing/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/s800-vehicle-network-security-testing/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/security-skills --skill s800-vehicle-network-security-testing -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/s800-vehicle-network-security-testing/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/security-skills --skill s800-vehicle-network-security-testing -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/s800-vehicle-network-security-testing/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install reason-machines/security-skills s800-vehicle-network-security-testing
```

2. **Manually: put the files in place**
- File: `.github/skills/s800-vehicle-network-security-testing/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/security-skills --skill s800-vehicle-network-security-testing -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/reason-machines/security-skills --path skills/s800-vehicle-network-security-testing
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/s800-vehicle-network-security-testing/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add reason-machines/security-skills --skill s800-vehicle-network-security-testing -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/reason-machines/security-skills/tree/HEAD/skills/s800-vehicle-network-security-testing/SKILL.md

## When to use it
- parse a captured CAN trace and export it to pcap or CSV
- run payload mutations across a CAN ID range and watch for anomalies
- scan an address range and fingerprint the ECUs that answer
- record a frame sequence and replay it with the original timing
- bridge two interfaces and rewrite values inside passing frames

## Example prompts
- Capture traffic on `can0` for 60 seconds and show me the unique ID statistics
- Generate 1000 mutations of the base frame and fuzz IDs from 0x100 to 0x200
- Read the VIN over UDS from ECU 0x7E0 and print the diagnostic trouble codes

## Similar
- [security-fuzzing](https://affpapa.org/en/nevibecode/skills/security-fuzzing.md) — skill · 586 installs
- [rust-security](https://affpapa.org/en/nevibecode/skills/rust-security.md) — skill · 544 installs
- [application-security-testing](https://affpapa.org/en/nevibecode/skills/application-security-testing.md) — skill · 12600 installs
- [security-testing](https://affpapa.org/en/nevibecode/skills/security-testing.md) — skill · 1100 installs
- [security-pen-testing](https://affpapa.org/en/nevibecode/skills/security-pen-testing.md) — skill · 834 installs
- [api-security-testing](https://affpapa.org/en/nevibecode/skills/api-security-testing.md) — skill · 121 installs

From the same set: [reason-machines/security-skills](https://affpapa.org/en/nevibecode/by/reason-machines/security-skills.md) — 69 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
