Skip to content

docs: apply agent-security brief 2026-07-31 (item 4 → threat model; defer rest) - #48

Open
BuckG71 wants to merge 2 commits into
mainfrom
docs/agent-security-brief-2026-07
Open

BuckG71 wants to merge 2 commits into
mainfrom
docs/agent-security-brief-2026-07

Conversation

@BuckG71

@BuckG71 BuckG71 commented Jul 31, 2026

Copy link
Copy Markdown
Owner

What

Applies the triage of the 2026-07-31 agent-security brief — docs-only, no code or scope change to v0.1.0.

The one thing applied to v0.1.x now

threat_model.md §6.9 — "Reachable intermediaries as egress bridges." A network policy bounds the declared egress surface, not the full reachable dependency graph: even a --network none cell can reach the internet through an intermediary it's allowed to talk to (package cache, artifact repo, the broker itself) if that intermediary is exploitable — which is exactly how the July 2026 OpenAI / Hugging Face containment incident escaped (a reachable Artifactory instance, not a nominal network hole). The entry also names what Whizzard does bound today: the single-upstream broker holds no cell-readable secret, and host-side time-caps/teardown are a circuit breaker the agent can't disable from inside. This is a doc-only honest-scoping refinement of the existing DNS-exfil / supply-chain limitations — the same kind of edit as the credential-alignment pass.

Deferred to the roadmap (not v0.1.x)

ROADMAP.md — new "Agent-security research track." Frames Whizzard as needing two loops (execution-lifecycle = what ships today; artifact-lifecycle = future skill/tool admission), and parks three watch-list inputs with dated provenance:

  • SkillGate — two-stage skill/tool admission scanning (deterministic prefilter → LLM judge on flagged windows).
  • MTGuard — runtime tool-behavior monitoring vs. declared profile (admission scanning alone is insufficient).
  • MCP 2026-07-28 — stateless core, handles-as-bearer-credentials, per-request reauth, MCP-Apps isolation — relevant only when Whizzard brokers third-party MCP servers.

Provenance

decisions.md D-197 records the triage decision (apply item 4, defer the rest) and rationale: Whizzard v0.1.x is a runtime-isolation tool for one pinned harness, so skill/tool-admission and MCP-tool governance are planned secure-ingestion scope, not shipped scope — adopting them now would be platform-scope creep against MVP focus.

Validator: scripts/validate_decisions.py passes (197 decisions).

🤖 Generated with Claude Code

Triage of the 2026-07-31 agent-security brief into v0.1.x vs. deferred
(D-197).

- threat_model.md §6.9: 'reachable intermediaries as egress bridges' —
  no-direct-internet != containment (OpenAI/Hugging Face incident);
  names Whizzard's existing host-side circuit-breaker + single-upstream
  broker as what it bounds today.
- ROADMAP.md: new 'Agent-security research track' (two-loops framing;
  defers SkillGate admission-scanning, MTGuard runtime tool monitoring,
  and MCP 2026-07-28 protocol changes).
- decisions.md D-197: records the triage + provenance.

Docs-only; no code or scope change to v0.1.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PRQ6JeWxpD9zrYcPz6VFTS
BuckG71 added a commit that referenced this pull request Aug 1, 2026
…work

mcp 2.0.0 (PyPI, 2026-07-28) is a major rework that drops the
mcp.server.fastmcp module mcp_server.py imports (FastMCP moved to the
standalone `fastmcp` package). The image install was unpinned, so any
fresh build now pulls 2.0.0 and mcp_server.py fails at import time:

    ModuleNotFoundError: No module named 'mcp.server.fastmcp'

This breaks tests/integration/test_mcp_stdio_smoke.py::test_mcp_server_speaks_its_protocol_end_to_end
(seen failing on PR #48's Integration (real Docker) job, unrelated to
that PR's docs-only diff). Pin to 1.29.0, the last 1.x release, until
the mcp_server.py cell layer is migrated to the new API.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant