Skip to content

Threat Model

Nightward's primary asset is local AI/devtool state: config files, MCP server definitions, skills, rules, commands, editor settings, report exports, and scheduled scan output.

Trust boundaries

  • Local filesystem input is untrusted.
  • Config files may be malformed, hostile, huge, symlinked, or privacy-sensitive.
  • Optional providers may execute local tools and, if explicitly allowed, contact external services; Socket creates a remote scan artifact from dependency manifest metadata.
  • GitHub Actions and Trunk integrations treat repository contents and PR input as untrusted.
  • Release automation and npm publishing are privileged publishing boundaries.

Key mitigations

  • Read-only scanner and remediation planner by default.
  • Redaction across JSON, SARIF, Markdown, TUI, and Raycast output.
  • No default network calls.
  • Explicit online-provider opt-in.
  • GitHub Actions pinned by full SHA.
  • Signed release checksums and SBOMs.
  • No-postinstall npm launcher with checksum verification.

See the repository docs/threat-model.md for the full maintainer-facing model.

Local-first. No telemetry. No default network calls. No live config mutation.