Incident Response Plan

This playbook defines how maintainers respond to a security issue in the public adapter repo or hosted developer site.

Severity Levels

SeverityExamplesTarget Response
CriticalCommitted secret, policy bypass with working exploit, malicious package release.Acknowledge within 1 business day, freeze releases, rotate affected secrets, publish advisory when fixed.
HighUnsafe broker default, audit verifier false positive, dependency vulnerability affecting runtime behavior.Acknowledge within 2 business days, patch or document mitigation within 7 business days.
MediumDocumentation that could cause unsafe deployment, incomplete threat model, non-runtime dependency issue.Triage within 7 business days.
LowTypo, broken link, non-security doc clarification.Normal issue workflow.

War Room

Initial incident roles:

RoleOwner
Incident CommanderNamed project maintainer
Engineering LeadDelegated maintainer
Communications LeadProject maintainer until another maintainer is assigned
Security ReviewerExternal reporter plus invited reviewer when appropriate

If only one maintainer is available, that maintainer owns all roles and records decisions in the private advisory or issue tracker.

First 30 Minutes

  1. Move discussion to a private channel: GitHub private advisory, security email, or private maintainer thread.
  2. Confirm whether a secret, package, release, website, or adapter path is affected.
  3. Run local checks:
npm test
npm run security:secrets
npm audit --omit=dev
  1. If a release or demo path is unsafe, freeze promotion and run:
bash scripts/incident-freeze.sh
  1. Assign one owner to each remediation task.

Freeze Actions

For the public adapter repo:

For deployed production control planes:

Recovery Criteria

An incident is ready to close when: