# V3 Security Overhaul

> Complete security architecture overhaul for claude-flow v3. Addresses critical CVEs (CVE-1, CVE-2, CVE-3) and implements secure-by-default patterns. Use for security-first v3 implementation.

- Skill: `ruvnet/v3-security-overhaul-2` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ruvnet/v3-security-overhaul-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ruvnet/v3-security-overhaul-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: ruvnet (https://skillmd.com/u/ruvnet)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/ruvnet/v3-security-overhaul-2

---


# V3 Security Overhaul

## What This Skill Does

Orchestrates comprehensive security overhaul for claude-flow v3, addressing critical vulnerabilities and establishing security-first development practices using specialized v3 security agents.

## Quick Start

```bash
# Initialize V3 security domain (parallel)
Task("Security architecture", "Design v3 threat model and security boundaries", "v3-security-architect")
Task("CVE remediation", "Fix CVE-1, CVE-2, CVE-3 critical vulnerabilities", "security-auditor")
Task("Security testing", "Implement TDD London School security framework", "test-architect")
```

## Critical Security Fixes

### CVE-1: Vulnerable Dependencies

```bash
npm update @anthropic-ai/claude-code@^2.0.31
npm audit --audit-level high
```

### CVE-2: Weak Password Hashing

```typescript
// ❌ Old: SHA-256 with hardcoded salt
const hash = crypto
  .createHash("sha256")
  .update(password + salt)
  .digest("hex");

// ✅ New: bcrypt with 12 rounds
import bcrypt from "bcrypt";
const hash = await bcrypt.hash(password, 12);
```

### CVE-3: Hardcoded Credentials

```typescript
// ✅ Generate secure random credentials
const apiKey = crypto.randomBytes(32).toString("hex");
```

## Security Patterns

### Input Validation (Zod)

```typescript
import { z } from "zod";

const TaskSchema = z.object({
  taskId: z.string().uuid(),
  content: z.string().max(10000),
  agentType: z.enum(["security", "core", "integration"]),
});
```

### Path Sanitization

```typescript
function securePath(userPath: string, allowedPrefix: string): string {
  const resolved = path.resolve(allowedPrefix, userPath);
  if (!resolved.startsWith(path.resolve(allowedPrefix))) {
    throw new SecurityError("Path traversal detected");
  }
  return resolved;
}
```

### Safe Command Execution

```typescript
import { execFile } from "child_process";

// ✅ Safe: No shell interpretation
const { stdout } = await execFile("git", [userInput], { shell: false });
```

## Success Metrics

- **Security Score**: 90/100 (npm audit + custom scans)
- **CVE Resolution**: 100% of critical vulnerabilities fixed
- **Test Coverage**: >95% security-critical code
- **Implementation**: All secure patterns documented and tested

