Skip to content

fix(security): enforce strict schema validation for agent configs#4

Open
cedric-appdirect wants to merge 1 commit into
jgordijn:mainfrom
cedric-appdirect:security/agent-strict-mode
Open

fix(security): enforce strict schema validation for agent configs#4
cedric-appdirect wants to merge 1 commit into
jgordijn:mainfrom
cedric-appdirect:security/agent-strict-mode

Conversation

@cedric-appdirect

Copy link
Copy Markdown

Replace .passthrough() with .strict() on AgentConfigSchema. This prevents malicious repos from injecting arbitrary config fields that flow through to OpenCode. Also replaces z.any() in the options field with z.string() for type safety.

This change clearly goes against what the intent seems to have been here: // Allow unknown keys for forward compatibility. I think it is a more robust strategy to provide a clear expectation of what happen and reduce unexpected/uncontrolled behavior.

Breaking change: repos with unknown agent config fields (e.g., for a newer OpenCode version) will now get a parse error instead of silently passing through.

Replace .passthrough() with .strict() on AgentConfigSchema. This
prevents malicious repos from injecting arbitrary config fields that
flow through to OpenCode. Also replaces z.any() in the options field
with z.string() for type safety.

Breaking change: repos with unknown agent config fields (e.g., for
a newer OpenCode version) will now get a parse error instead of
silently passing through.

Assisted-by: OpenCode with claude-opus-4-7
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