Appearance
Why It Matters
When OpenAI strict mode is enabled, leaving object nodes open weakens the schema contract and can allow undeclared fields into supposedly locked tool inputs.
What Triggers
SEC316 applies to OpenAI-style strict tool schemas and triggers when an object node in the strict schema omits additionalProperties: false.
Example that triggers:
json
[
{
"type": "function",
"function": {
"name": "weather",
"strict": true,
"parameters": {
"type": "object",
"properties": { "city": { "type": "string" } },
"required": ["city"]
}
}
}
]False Positives
This is a structural schema-walk rule over strict OpenAI tool definitions. It is not a prose or naming heuristic.
Remediation
Lock every object node in the strict schema with additionalProperties: false.