# Detecting Arbitrary Read

> Detects arbitrary read vulnerabilities by identifying unchecked array indexing and out-of-bounds memory access. Use when analyzing array access patterns, pointer arithmetic, or investigating information disclosure vulnerabilities.

- Skill: `aibot88/detecting-arbitrary-read` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add aibot88/detecting-arbitrary-read`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aibot88/detecting-arbitrary-read/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: aibot88 (https://skillmd.com/u/aibot88)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/aibot88/detecting-arbitrary-read

---


# Arbitrary Read Detection

## Detection Workflow

1. **Identify read operations**: Array accesses, pointer dereferences, format strings, struct member access
2. **Trace input sources**: Use `xrefs_to` to trace user-controlled data to read points
3. **Check bounds validation**: Verify array bounds, pointer arithmetic safety, format string validation
4. **Assess exploitability**: Can attacker control read address? What information can be disclosed?

## Key Patterns

- Unchecked array indexing with user-controlled indices
- Format string vulnerabilities with %s, %x
- Dereferencing user-controlled pointers
- Wrong struct member access via type confusion

## Output Format

Report with: id, type, severity, confidence, location (function, address, line), read operation, index source, bounds check status, exploitability, attack scenario, potential disclosure, mitigation.

## Severity Guidelines

- **CRITICAL**: Arbitrary read of sensitive data (keys, passwords)
- **HIGH**: Arbitrary read enabling ASLR bypass
- **MEDIUM**: Arbitrary read with limited disclosure
- **LOW**: Minor information disclosure

## See Also

- `patterns.md` - Detailed detection patterns and exploitation scenarios
- `examples.md` - Example analysis cases and code samples
- `references.md` - CWE references and tool documentation
