{
  "schema": "vedokrok.public-item.v1",
  "release_id": "MHC-RPUB-20260920-75ad787a",
  "url": "/knowledge/add-one-adversarial-case-the-coding-agent-did-not-propose",
  "id": "MHC-D-RESEARCH-0659",
  "version": "0.1.0",
  "title": "Add one adversarial case the coding agent did not propose",
  "summary": "Agreement between generator and verifier can share the same blind spot.",
  "kind": "protocol",
  "body": "For consequential changes, add or select at least one negative, boundary or adversarial case independently: malformed input, missing permission, expired token, concurrency edge, partial failure or hostile data. Choose the case from the specification or threat model, not from the generated implementation.",
  "limits": [
    "One adversarial test is not a security assessment; scale independent testing to risk."
  ],
  "topics": [
    "union-ai-assisted-coding-safeguards"
  ],
  "intents": [],
  "source_ids": [
    "RS-1C68AE8325C384C0",
    "RS-F8FE84C698B3B53A"
  ],
  "evidence": [
    {
      "claim": "OWASP recommends independent scrutiny of AI-generated test changes because an agent can make a suite pass by weakening, deleting or misdirecting tests.",
      "source_id": "RS-1C68AE8325C384C0",
      "role": "supports",
      "note": "This is a threat model and practice recommendation, not evidence that every agent routinely corrupts tests.",
      "locator": "Test Fabrication and Test Deletion"
    },
    {
      "claim": "NIST SSDF recommends integrating secure development practices into the software lifecycle rather than treating security as a separate late-stage review.",
      "source_id": "RS-F8FE84C698B3B53A",
      "role": "supports",
      "note": "The framework is high-level and must be tailored to the organization's development model and risk.",
      "locator": "SSDF overview"
    }
  ],
  "use_when": [
    "AI-generated code and AI-generated tests agree perfectly on the happy path."
  ],
  "avoid_when": [
    "One adversarial test is not a security assessment; scale independent testing to risk."
  ],
  "example": "For a new authorization endpoint, a reviewer manually adds the test for a user with the right object but wrong tenant.",
  "check": "At least one meaningful test challenges the change from an independent failure model.",
  "steps": [
    "What input should be rejected?",
    "What permission should fail?",
    "What boundary value can break it?",
    "What partial dependency failure matters?",
    "Which case came from the spec rather than the implementation?"
  ],
  "sources": [
    {
      "id": "RS-1C68AE8325C384C0",
      "title": "Secure Coding with AI Cheat Sheet",
      "url": "https://cheatsheetseries.owasp.org/cheatsheets/Secure_Coding_with_AI_Cheat_Sheet.html"
    },
    {
      "id": "RS-F8FE84C698B3B53A",
      "title": "Secure Software Development Framework (SSDF) Version 1.1",
      "url": "https://csrc.nist.gov/pubs/sp/800/218/final"
    }
  ],
  "relations": [
    {
      "from": "MHC-D-RESEARCH-0659",
      "to": "MHC-D-RESEARCH-0375",
      "type": "useful_with",
      "url": "/knowledge/write-acceptance-criteria-before-asking-ai-to-generate"
    }
  ],
  "collections": [
    {
      "id": "RC-E25DB1788236EF13",
      "title": "Let coding agents move fast inside a reviewable security boundary",
      "url": "/collections/let-coding-agents-move-fast-inside-a-reviewable-security-boundary"
    }
  ]
}
