Test fixture
Bug fixes, edge conditions, and minimal patch accuracy.
The model receives the prompt (and optional system message). The run uses scorer rubric_json_metrics with the JSON configuration below. Pass/fail and partial credit are determined entirely by that scorer against the model output; no human grading.
Return JSON only with keys diagnosis, fix, tests. A permissions check calls obj.hasOwnProperty('admin') directly on an untrusted user-supplied object; an attacker supplies an object whose __proto__ overrides hasOwnProperty to always return true, bypassing the check. Identify the prototype pollution vector and fix it.{
"metrics": {
"repro": {
"checks": [
{
"contains": [
"hasOwnProperty"
]
},
{
"contains": [
"__proto__"
]
},
{
"contains": [
"untrusted"
]
},
{
"contains": [
"bypass"
]
}
]
},
"hidden": {
"checks": [
{
"contains": [
"Object.prototype.hasOwnProperty.call"
]
},
{
"contains": [
"Object.hasOwn"
]
},
{
"contains": [
"null prototype"
]
}
]
},
"diagnose": {
"checks": [
{
"contains": [
"prototype pollution"
]
},
{
"contains": [
"poisoned prototype"
]
},
{
"contains": [
"unsafe hasOwnProperty"
]
}
]
}
}
}temperature
0
max_tokens
420
timeout (s)
120
type
scored
file
debug-prototype-pollution-check-v2.json