# ekene95/okwute architecture

> Architecture diagram of the GitHub repository ekene95/okwute, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ekene95/okwute
- Repository: https://github.com/ekene95/okwute

## Overview

Okwute is a Claude Code AppSec co-pilot that runs a persistent penetration-testing loop: map a target, generate tests, execute them, validate findings, then stop for engineer review. The README documents the pipeline and optional browser, source-code, and mobile investigations, plus reporting and specialist skills. The graph follows those documented relationships; no source excerpts were available, so internal calls beyond the documented workflow are omitted.

Main entry points: [`.claude/targets`](https://github.com/ekene95/okwute/tree/master/.claude/targets) (Target State), [`.claude/commands/appsec-loop.md`](https://github.com/ekene95/okwute/blob/master/.claude/commands/appsec-loop.md) (AppSec Loop), [`.claude/commands/run-generator.md`](https://github.com/ekene95/okwute/blob/master/.claude/commands/run-generator.md) (Generator), [`.claude/commands/run-executor.md`](https://github.com/ekene95/okwute/blob/master/.claude/commands/run-executor.md) (Executor)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_pipeline["Testing Pipeline"]
  node_loop["AppSec Loop<br/>[appsec-loop.md]"]
  node_mapper["Mapper<br/>[run-mapper.md]"]
  node_generator["Generator<br/>[run-generator.md]"]
  node_executor["Executor<br/>[run-executor.md]"]
  node_validator["Validator<br/>[run-validator.md]"]
end

subgraph group_state["Engagement State"]
  node_targetdb[("Target State<br/>[targets]")]
  node_state_schema["Pipeline Schema<br/>[schema.sql]"]
  node_memory[("Shared Memory<br/>[memory_db.py]")]
  node_rag[("Pattern Corpus<br/>[rag_db.py]")]
  node_seeds["Seed Patterns<br/>[seed]"]
  node_db_cli["AppSec DB Tools<br/>[appsec_db.py]"]
  node_report_import["Report Import"]
  node_postman["Postman Import<br/>[postman_import.py]"]
end

subgraph group_investigations["Investigation Paths"]
  node_browser["Browser Investigation"]
  node_code["Code Investigation"]
end

subgraph group_expertise["Specialist Expertise"]
  node_mobile["Mobile Expertise<br/>[SKILL.md]"]
  node_web["Web API Expertise<br/>[SKILL.md]"]
  node_review["Code Review<br/>[SKILL.md]"]
  node_threat["Threat Modeling<br/>[SKILL.md]"]
  node_reporting["Security Reporting<br/>[SKILL.md]"]
end

node_engineer(("Engineer"))
node_target["Target Application"]
node_burp["Burp MCP"]
node_chrome["Chrome DevTools MCP"]
node_httptoolkit["HTTP Toolkit MCP"]
node_mobsf["MobSF MCP"]
node_blutter["Blutter MCP"]

node_engineer -->|"starts loop"| node_loop
node_loop -->|"runs stage"| node_mapper
node_loop -->|"runs stage"| node_generator
node_loop -->|"runs stage"| node_executor
node_loop -->|"runs stage"| node_validator
node_mapper -->|"discovers endpoints"| node_target
node_mapper -->|"writes endpoints"| node_targetdb
node_generator -->|"reads endpoints"| node_targetdb
node_generator -->|"writes test cases"| node_targetdb
node_generator -->|"uses patterns"| node_rag
node_generator -->|"uses intelligence"| node_memory
node_executor -->|"reads test cases"| node_targetdb
node_executor -->|"fires requests"| node_burp
node_executor -.->|"uses fallback"| node_httptoolkit
node_executor -->|"writes results"| node_targetdb
node_validator -->|"reads results"| node_targetdb
node_validator -->|"writes findings"| node_targetdb
node_loop -->|"stops for review"| node_engineer
node_engineer -->|"requests report"| node_db_cli
node_db_cli -->|"reads findings"| node_targetdb
node_engineer -->|"imports collection"| node_postman
node_postman -->|"adds endpoints"| node_targetdb
node_engineer -->|"imports report"| node_report_import
node_report_import -->|"imports data"| node_targetdb
node_engineer -->|"starts investigation"| node_browser
node_browser -->|"investigates flows"| node_chrome
node_engineer -->|"starts investigation"| node_code
node_engineer -->|"loads skill"| node_mobile
node_mobile -.->|"uses analysis"| node_mobsf
node_mobile -.->|"uses analysis"| node_blutter
node_engineer -->|"loads skill"| node_web
node_engineer -->|"loads skill"| node_review
node_engineer -->|"loads skill"| node_threat
node_engineer -->|"loads skill"| node_reporting
node_seeds -->|"seeds patterns"| node_rag

click node_loop "https://github.com/ekene95/okwute/blob/master/.claude/commands/appsec-loop.md"
click node_mapper "https://github.com/ekene95/okwute/blob/master/.claude/commands/run-mapper.md"
click node_generator "https://github.com/ekene95/okwute/blob/master/.claude/commands/run-generator.md"
click node_executor "https://github.com/ekene95/okwute/blob/master/.claude/commands/run-executor.md"
click node_validator "https://github.com/ekene95/okwute/blob/master/.claude/commands/run-validator.md"
click node_targetdb "https://github.com/ekene95/okwute/tree/master/.claude/targets"
click node_state_schema "https://github.com/ekene95/okwute/blob/master/schema.sql"
click node_memory "https://github.com/ekene95/okwute/blob/master/.claude/scripts/memory_db.py"
click node_rag "https://github.com/ekene95/okwute/blob/master/.claude/scripts/rag_db.py"
click node_seeds "https://github.com/ekene95/okwute/tree/master/.claude/rag/seed"
click node_db_cli "https://github.com/ekene95/okwute/blob/master/.claude/scripts/appsec_db.py"
click node_report_import "https://github.com/ekene95/okwute/blob/master/.claude/scripts/security_report_import.py"
click node_postman "https://github.com/ekene95/okwute/blob/master/.claude/scripts/postman_import.py"
click node_browser "https://github.com/ekene95/okwute/blob/master/.claude/commands/investigate-browser.md"
click node_code "https://github.com/ekene95/okwute/blob/master/.claude/commands/investigate-code.md"
click node_mobile "https://github.com/ekene95/okwute/blob/master/.claude/skills/mobile-expert/SKILL.md"
click node_web "https://github.com/ekene95/okwute/blob/master/.claude/skills/web-api-expert/SKILL.md"
click node_review "https://github.com/ekene95/okwute/blob/master/.claude/skills/code-review/SKILL.md"
click node_threat "https://github.com/ekene95/okwute/blob/master/.claude/skills/threat-model/SKILL.md"
click node_reporting "https://github.com/ekene95/okwute/blob/master/.claude/skills/security-reporter/SKILL.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_loop,node_mapper,node_generator,node_executor,node_validator toneBlue
class node_targetdb,node_state_schema,node_memory,node_rag,node_seeds,node_db_cli,node_report_import,node_postman toneAmber
class node_browser,node_code toneMint
class node_mobile,node_web,node_review,node_threat,node_reporting toneRose
class node_engineer,node_target,node_burp,node_chrome,node_httptoolkit,node_mobsf,node_blutter toneIndigo
```

## Components

### Testing Pipeline

- [AppSec Loop](https://github.com/ekene95/okwute/blob/master/.claude/commands/appsec-loop.md): `.claude/commands/appsec-loop.md`
- [Mapper](https://github.com/ekene95/okwute/blob/master/.claude/commands/run-mapper.md): `.claude/commands/run-mapper.md`
- [Generator](https://github.com/ekene95/okwute/blob/master/.claude/commands/run-generator.md): `.claude/commands/run-generator.md`
- [Executor](https://github.com/ekene95/okwute/blob/master/.claude/commands/run-executor.md): `.claude/commands/run-executor.md`
- [Validator](https://github.com/ekene95/okwute/blob/master/.claude/commands/run-validator.md): `.claude/commands/run-validator.md`

### Engagement State

- [Target State](https://github.com/ekene95/okwute/tree/master/.claude/targets): `.claude/targets`
- [Pipeline Schema](https://github.com/ekene95/okwute/blob/master/schema.sql): `schema.sql`
- [Shared Memory](https://github.com/ekene95/okwute/blob/master/.claude/scripts/memory_db.py): `.claude/scripts/memory_db.py`
- [Pattern Corpus](https://github.com/ekene95/okwute/blob/master/.claude/scripts/rag_db.py): `.claude/scripts/rag_db.py`
- [Seed Patterns](https://github.com/ekene95/okwute/tree/master/.claude/rag/seed): `.claude/rag/seed`
- [AppSec DB Tools](https://github.com/ekene95/okwute/blob/master/.claude/scripts/appsec_db.py): `.claude/scripts/appsec_db.py`
- [Report Import](https://github.com/ekene95/okwute/blob/master/.claude/scripts/security_report_import.py): `.claude/scripts/security_report_import.py`
- [Postman Import](https://github.com/ekene95/okwute/blob/master/.claude/scripts/postman_import.py): `.claude/scripts/postman_import.py`

### Investigation Paths

- [Browser Investigation](https://github.com/ekene95/okwute/blob/master/.claude/commands/investigate-browser.md): `.claude/commands/investigate-browser.md`
- [Code Investigation](https://github.com/ekene95/okwute/blob/master/.claude/commands/investigate-code.md): `.claude/commands/investigate-code.md`

### Specialist Expertise

- [Mobile Expertise](https://github.com/ekene95/okwute/blob/master/.claude/skills/mobile-expert/SKILL.md): `.claude/skills/mobile-expert/SKILL.md`
- [Web API Expertise](https://github.com/ekene95/okwute/blob/master/.claude/skills/web-api-expert/SKILL.md): `.claude/skills/web-api-expert/SKILL.md`
- [Code Review](https://github.com/ekene95/okwute/blob/master/.claude/skills/code-review/SKILL.md): `.claude/skills/code-review/SKILL.md`
- [Threat Modeling](https://github.com/ekene95/okwute/blob/master/.claude/skills/threat-model/SKILL.md): `.claude/skills/threat-model/SKILL.md`
- [Security Reporting](https://github.com/ekene95/okwute/blob/master/.claude/skills/security-reporter/SKILL.md): `.claude/skills/security-reporter/SKILL.md`

### Other components

- **Engineer**
- **Target Application**
- **Burp MCP**
- **Chrome DevTools MCP**
- **HTTP Toolkit MCP**
- **MobSF MCP**
- **Blutter MCP**

## Connections

- Engineer → AppSec Loop: starts loop
- AppSec Loop → Mapper: runs stage
- AppSec Loop → Generator: runs stage
- AppSec Loop → Executor: runs stage
- AppSec Loop → Validator: runs stage
- Mapper → Target Application: discovers endpoints
- Mapper → Target State: writes endpoints
- Generator → Target State: reads endpoints
- Generator → Target State: writes test cases
- Generator → Pattern Corpus: uses patterns
- Generator → Shared Memory: uses intelligence
- Executor → Target State: reads test cases
- Executor → Burp MCP: fires requests
- Executor → HTTP Toolkit MCP: uses fallback
- Executor → Target State: writes results
- Validator → Target State: reads results
- Validator → Target State: writes findings
- AppSec Loop → Engineer: stops for review
- Engineer → AppSec DB Tools: requests report
- AppSec DB Tools → Target State: reads findings
- Engineer → Postman Import: imports collection
- Postman Import → Target State: adds endpoints
- Engineer → Report Import: imports report
- Report Import → Target State: imports data
- Engineer → Browser Investigation: starts investigation
- Browser Investigation → Chrome DevTools MCP: investigates flows
- Engineer → Code Investigation: starts investigation
- Engineer → Mobile Expertise: loads skill
- Mobile Expertise → MobSF MCP: uses analysis
- Mobile Expertise → Blutter MCP: uses analysis
- Engineer → Web API Expertise: loads skill
- Engineer → Code Review: loads skill
- Engineer → Threat Modeling: loads skill
- Engineer → Security Reporting: loads skill
- Seed Patterns → Pattern Corpus: seeds patterns
