Automattic / Automattic/wp-codebox

Add WordPress adversarial adapter and vulnerable runtime campaigns

Open
#2,017 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
16
Forks
4
Avg merge
59m
Merged PRs (30d)
131

Description

## Problem

The generic #2014 contracts deliberately do not embed WordPress grammars, policies, hooks, or transport special cases. A WordPress extension adapter is still required to turn them into end-to-end security and correctness campaigns inside disposable WP Codebox runtimes.

## Scope

- Register WordPress-owned mutators for REST, AJAX, XML-RPC, blocks, shortcodes, serialized values, options/meta, files, cron, CLI, roles/capabilities, and multisite membership.
- Register generic-oracle adapters for authorization/nonce/tenant isolation, injection/execution indicators, transactional consistency, duplicate effects, fail-open behavior, filesystem escape, and secret leakage.
- Intercept WordPress HTTP transports using the generic transport-fault model and publish exact/emulated/unsupported fidelity.
- Add faithful PHP/WordPress and cron clock controls; report database clock support independently.
- Emit bounded hook, route, query, filesystem, cache, lock, memory, CPU, and duration novelty signals.
- Add intentionally vulnerable neutral plugin and theme fixtures for authorization, injection, state corruption, true races, external-service failure, and UI-state defects.
- Run disposable integration/E2E campaigns that automatically discover and minimize every fixture defect and replay stable findings.

## Acceptance criteria

- Fixtures run only inside disposable runtimes with network denied by default.
- Campaigns prove deterministic concurrent replay, service failure/recovery, minimized browser journeys, and stable fingerprints.
- Every finding has a sealed, redacted replay bundle with exact runtime/component provenance.
- No WordPress-specific name or policy enters runtime-core.

Refs #2014

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the generic contracts referenced in #2014 and mapping the listed WordPress surfaces, oracle adapters, transport faults, clocks, signals, and fixtures to the requested adapter scope. Done means disposable network-denied campaigns cover the acceptance criteria, including deterministic replay, minimized journeys, stable fingerprints, and sealed redacted provenance bundles without WordPress-specific policy in runtime-core.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, typescript
Domain
backend, devops, security, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.