{
 "product": "KEYSTONE CI",
 "slug": "keystone-ci",
 "base": "https://cainstudio.online",
 "page": "https://cainstudio.online/top25-keystone-ci.html",
 "claims": [
  {
   "id": "C01",
   "kind": "control",
   "claim": "Clean refactor -> An ordinary change must pass, or nobody keeps the gate on.",
   "requests": [
    {
     "method": "POST",
     "url": "/keystone-ci/scan",
     "body": {
      "sample_id": "clean-refactor"
     }
    }
   ],
   "path": "verdict",
   "expect": [
    "PASS"
   ]
  },
  {
   "id": "C02",
   "kind": "attack",
   "claim": "Agent skips the failing test -> The most common agent shortcut: make CI green by skipping the test.",
   "requests": [
    {
     "method": "POST",
     "url": "/keystone-ci/scan",
     "body": {
      "sample_id": "agent-skips-tests"
     }
    }
   ],
   "path": "verdict",
   "expect": [
    "REVIEW"
   ]
  },
  {
   "id": "C03",
   "kind": "attack",
   "claim": "pull_request_target pwn request -> Fork code runs with this repository's secrets and write token.",
   "requests": [
    {
     "method": "POST",
     "url": "/keystone-ci/scan",
     "body": {
      "sample_id": "pwn-request"
     }
    }
   ],
   "path": "verdict",
   "expect": [
    "BLOCK"
   ]
  },
  {
   "id": "C04",
   "kind": "attack",
   "claim": "Private key committed -> Secrets in a diff are CRITICAL; history keeps them.",
   "requests": [
    {
     "method": "POST",
     "url": "/keystone-ci/scan",
     "body": {
      "sample_id": "committed-key"
     }
    }
   ],
   "path": "verdict",
   "expect": [
    "BLOCK"
   ]
  },
  {
   "id": "C05",
   "kind": "attack",
   "claim": "Typosquatted dependencies -> Names checked by CAIN-42's supply-chain guard, not a model.",
   "requests": [
    {
     "method": "POST",
     "url": "/keystone-ci/scan",
     "body": {
      "sample_id": "typosquat-deps"
     }
    }
   ],
   "path": "verdict",
   "expect": [
    "BLOCK"
   ]
  },
  {
   "id": "C06",
   "kind": "attack",
   "claim": "Trojan Source (bidi characters) -> Code that runs differently from how it reads.",
   "requests": [
    {
     "method": "POST",
     "url": "/keystone-ci/scan",
     "body": {
      "sample_id": "trojan-source"
     }
    }
   ],
   "path": "verdict",
   "expect": [
    "BLOCK"
   ]
  },
  {
   "id": "C07",
   "kind": "attack",
   "claim": "Your diff: delete the auth tests -> Deleting tests is how a weaker change gets a green build.",
   "requests": [
    {
     "method": "POST",
     "url": "/keystone-ci/check",
     "body": {
      "diff": "diff --git a/tests/test_auth.py b/tests/test_auth.py\ndeleted file mode 100644\n--- a/tests/test_auth.py\n+++ /dev/null\n@@ -1,2 +0,0 @@\n-def test_only_admin_can_delete():\n-    assert can_delete('guest') is False\n",
      "repo": "lab/demo"
     }
    }
   ],
   "path": "verdict",
   "expect": [
    "REVIEW",
    "BLOCK"
   ]
  },
  {
   "id": "C08",
   "kind": "attack",
   "claim": "Your diff: AWS key in settings -> Recorded in the public ledger as BLOCK; the key itself is redacted.",
   "requests": [
    {
     "method": "POST",
     "url": "/keystone-ci/check",
     "body": {
      "diff": "diff --git a/app/settings.py b/app/settings.py\nnew file mode 100644\n--- /dev/null\n+++ b/app/settings.py\n@@ -0,0 +1,1 @@\n+AWS_ACCESS_KEY_ID = \"AKIAIOSFODNN7EXAMPLE\"\n",
      "repo": "lab/demo"
     }
    }
   ],
   "path": "verdict",
   "expect": [
    "BLOCK"
   ]
  },
  {
   "id": "C09",
   "kind": "attack",
   "claim": "Your diff: invisible character in a name -> Zero-width characters make two names look identical.",
   "requests": [
    {
     "method": "POST",
     "url": "/keystone-ci/check",
     "body": {
      "diff": "diff --git a/app/acl.py b/app/acl.py\nnew file mode 100644\n--- /dev/null\n+++ b/app/acl.py\n@@ -0,0 +1,2 @@\n+def is_adm​in(u):\n+    return True\n",
      "repo": "lab/demo"
     }
    }
   ],
   "path": "verdict",
   "expect": [
    "REVIEW",
    "BLOCK"
   ]
  },
  {
   "id": "C10",
   "kind": "control",
   "claim": "Genuine signed attestation -> A real envelope from the live gate verifies against the pinned key.",
   "requests": [
    {
     "method": "POST",
     "url": "/keystone-ci/verify",
     "body": {
      "attestation": {
       "payloadType": "application/vnd.in-toto+json",
       "payload": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJwcmVkaWNhdGUiOnsiY2hlY2tlZF9hdCI6IjIwMjYtMTEtMDNUMDE6MTc6MzZaIiwiZmlsZXNfY2hlY2tlZCI6MiwiZmluZGluZ3MiOltdLCJnYXRlIjp7ImRldGVybWluaXN0aWMiOnRydWUsImVuZ2luZSI6ImtleXN0b25lLWNpLTEuMC4wIiwibW9kZWxfaW5fZGVjaXNpb24iOmZhbHNlfSwic2V2ZXJpdHlfY291bnRzIjp7IkNSSVRJQ0FMIjowLCJISUdIIjowLCJMT1ciOjAsIk1FRElVTSI6MH0sInNvdXJjZSI6eyJhaV9hZ2VudCI6dHJ1ZSwiYXV0aG9yIjoiY29waWxvdC1zd2UtYWdlbnRbYm90XSIsInByIjo0MTUsInJlcG8iOiJhY21lL3BheW1lbnRzIiwidGl0bGUiOiJFeHRyYWN0IGZlZSBjYWxjdWxhdGlvbiJ9LCJ2ZXJkaWN0IjoiUEFTUyJ9LCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9jYWluc3R1ZGlvLm9ubGluZS9rZXlzdG9uZS1jaS9wcmVkaWNhdGUvdjEiLCJzdWJqZWN0IjpbeyJkaWdlc3QiOnsic2hhMjU2IjoiZGMwNzk1ODJiMzVlNDFiYTIyYjcxMjg1ZjFjZWVkOWZkYTY4NjgyZGI3NzgyM2RjMWY1MmY1NGFkMWQ5MzdmMCJ9LCJuYW1lIjoiYWNtZS9wYXltZW50cyM0MTUifV19",
       "signatures": [
        {
         "keyid": "SHA256:2232b4add9b35d4016e5be270df4ed56e0dc9b39a0530ac69891073253aae90d",
         "sig": "AmKWXywfQGdtRK3xaaMD5WhzbSGCCfpGEkLvuxWvVtYzxnO0qu5wFdSN6JuplOzQLVyLMafWHDRK8oDXb3PPBg=="
        }
       ]
      }
     }
    }
   ],
   "path": "valid",
   "expect": [
    true
   ]
  },
  {
   "id": "C11",
   "kind": "attack",
   "claim": "Same attestation, verdict edited PASS -> BLOCK -> Any edit to the signed statement breaks the Ed25519 signature.",
   "requests": [
    {
     "method": "POST",
     "url": "/keystone-ci/verify",
     "body": {
      "attestation": {
       "payloadType": "application/vnd.in-toto+json",
       "payload": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJwcmVkaWNhdGUiOnsiY2hlY2tlZF9hdCI6IjIwMjYtMTEtMDNUMDE6MTc6MzZaIiwiZmlsZXNfY2hlY2tlZCI6MiwiZmluZGluZ3MiOltdLCJnYXRlIjp7ImRldGVybWluaXN0aWMiOnRydWUsImVuZ2luZSI6ImtleXN0b25lLWNpLTEuMC4wIiwibW9kZWxfaW5fZGVjaXNpb24iOmZhbHNlfSwic2V2ZXJpdHlfY291bnRzIjp7IkNSSVRJQ0FMIjowLCJISUdIIjowLCJMT1ciOjAsIk1FRElVTSI6MH0sInNvdXJjZSI6eyJhaV9hZ2VudCI6dHJ1ZSwiYXV0aG9yIjoiY29waWxvdC1zd2UtYWdlbnRbYm90XSIsInByIjo0MTUsInJlcG8iOiJhY21lL3BheW1lbnRzIiwidGl0bGUiOiJFeHRyYWN0IGZlZSBjYWxjdWxhdGlvbiJ9LCJ2ZXJkaWN0IjoiQkxPQ0sifSwicHJlZGljYXRlVHlwZSI6Imh0dHBzOi8vY2FpbnN0dWRpby5vbmxpbmUva2V5c3RvbmUtY2kvcHJlZGljYXRlL3YxIiwic3ViamVjdCI6W3siZGlnZXN0Ijp7InNoYTI1NiI6ImRjMDc5NTgyYjM1ZTQxYmEyMmI3MTI4NWYxY2VlZDlmZGE2ODY4MmRiNzc4MjNkYzFmNTJmNTRhZDFkOTM3ZjAifSwibmFtZSI6ImFjbWUvcGF5bWVudHMjNDE1In1dfQ==",
       "signatures": [
        {
         "keyid": "SHA256:2232b4add9b35d4016e5be270df4ed56e0dc9b39a0530ac69891073253aae90d",
         "sig": "AmKWXywfQGdtRK3xaaMD5WhzbSGCCfpGEkLvuxWvVtYzxnO0qu5wFdSN6JuplOzQLVyLMafWHDRK8oDXb3PPBg=="
        }
       ]
      }
     }
    }
   ],
   "path": "valid",
   "expect": [
    false
   ]
  },
  {
   "id": "C12",
   "kind": "attack",
   "claim": "Same attestation, signatures removed -> No signature is not a pass.",
   "requests": [
    {
     "method": "POST",
     "url": "/keystone-ci/verify",
     "body": {
      "attestation": {
       "payloadType": "application/vnd.in-toto+json",
       "payload": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJwcmVkaWNhdGUiOnsiY2hlY2tlZF9hdCI6IjIwMjYtMTEtMDNUMDE6MTc6MzZaIiwiZmlsZXNfY2hlY2tlZCI6MiwiZmluZGluZ3MiOltdLCJnYXRlIjp7ImRldGVybWluaXN0aWMiOnRydWUsImVuZ2luZSI6ImtleXN0b25lLWNpLTEuMC4wIiwibW9kZWxfaW5fZGVjaXNpb24iOmZhbHNlfSwic2V2ZXJpdHlfY291bnRzIjp7IkNSSVRJQ0FMIjowLCJISUdIIjowLCJMT1ciOjAsIk1FRElVTSI6MH0sInNvdXJjZSI6eyJhaV9hZ2VudCI6dHJ1ZSwiYXV0aG9yIjoiY29waWxvdC1zd2UtYWdlbnRbYm90XSIsInByIjo0MTUsInJlcG8iOiJhY21lL3BheW1lbnRzIiwidGl0bGUiOiJFeHRyYWN0IGZlZSBjYWxjdWxhdGlvbiJ9LCJ2ZXJkaWN0IjoiUEFTUyJ9LCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9jYWluc3R1ZGlvLm9ubGluZS9rZXlzdG9uZS1jaS9wcmVkaWNhdGUvdjEiLCJzdWJqZWN0IjpbeyJkaWdlc3QiOnsic2hhMjU2IjoiZGMwNzk1ODJiMzVlNDFiYTIyYjcxMjg1ZjFjZWVkOWZkYTY4NjgyZGI3NzgyM2RjMWY1MmY1NGFkMWQ5MzdmMCJ9LCJuYW1lIjoiYWNtZS9wYXltZW50cyM0MTUifV19",
       "signatures": []
      }
     }
    }
   ],
   "path": "valid",
   "expect": [
    false
   ]
  },
  {
   "id": "C13",
   "kind": "attack",
   "claim": "Same attestation, payload type changed -> DSSE signs the payload type too (PAE), so it cannot be swapped.",
   "requests": [
    {
     "method": "POST",
     "url": "/keystone-ci/verify",
     "body": {
      "attestation": {
       "payloadType": "text/plain",
       "payload": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJwcmVkaWNhdGUiOnsiY2hlY2tlZF9hdCI6IjIwMjYtMTEtMDNUMDE6MTc6MzZaIiwiZmlsZXNfY2hlY2tlZCI6MiwiZmluZGluZ3MiOltdLCJnYXRlIjp7ImRldGVybWluaXN0aWMiOnRydWUsImVuZ2luZSI6ImtleXN0b25lLWNpLTEuMC4wIiwibW9kZWxfaW5fZGVjaXNpb24iOmZhbHNlfSwic2V2ZXJpdHlfY291bnRzIjp7IkNSSVRJQ0FMIjowLCJISUdIIjowLCJMT1ciOjAsIk1FRElVTSI6MH0sInNvdXJjZSI6eyJhaV9hZ2VudCI6dHJ1ZSwiYXV0aG9yIjoiY29waWxvdC1zd2UtYWdlbnRbYm90XSIsInByIjo0MTUsInJlcG8iOiJhY21lL3BheW1lbnRzIiwidGl0bGUiOiJFeHRyYWN0IGZlZSBjYWxjdWxhdGlvbiJ9LCJ2ZXJkaWN0IjoiUEFTUyJ9LCJwcmVkaWNhdGVUeXBlIjoiaHR0cHM6Ly9jYWluc3R1ZGlvLm9ubGluZS9rZXlzdG9uZS1jaS9wcmVkaWNhdGUvdjEiLCJzdWJqZWN0IjpbeyJkaWdlc3QiOnsic2hhMjU2IjoiZGMwNzk1ODJiMzVlNDFiYTIyYjcxMjg1ZjFjZWVkOWZkYTY4NjgyZGI3NzgyM2RjMWY1MmY1NGFkMWQ5MzdmMCJ9LCJuYW1lIjoiYWNtZS9wYXltZW50cyM0MTUifV19",
       "signatures": [
        {
         "keyid": "SHA256:2232b4add9b35d4016e5be270df4ed56e0dc9b39a0530ac69891073253aae90d",
         "sig": "AmKWXywfQGdtRK3xaaMD5WhzbSGCCfpGEkLvuxWvVtYzxnO0qu5wFdSN6JuplOzQLVyLMafWHDRK8oDXb3PPBg=="
        }
       ]
      }
     }
    }
   ],
   "path": "valid",
   "expect": [
    false
   ]
  }
 ]
}