{
 "product": "Shadow AI Scanner",
 "slug": "shadow-ai-scanner",
 "base": "https://cainstudio.online",
 "page": "https://cainstudio.online/guide-shadow-ai-scanner.html",
 "claims": [
  {
   "id": "C01",
   "kind": "control",
   "claim": "Ordinary web app calling GitHub -> No AI used: score 0, no false alarm.",
   "requests": [
    {
     "method": "POST",
     "url": "/catalog-demo/shadow-agent-scanner/run",
     "body": {
      "input": "import requests\nfrom flask import Flask\napp = Flask(__name__)\n@app.get('/')\ndef home():\n    return requests.get('https://api.github.com/repos/x/y').json()\n"
     }
    }
   ],
   "path": "steps.2.reply.risk_score",
   "expect": [
    0
   ]
  },
  {
   "id": "C02",
   "kind": "attack",
   "claim": "Gemini called over plain HTTP, plus AWS Bedrock -> Raw web calls to AI services are found, not only library imports.",
   "requests": [
    {
     "method": "POST",
     "url": "/catalog-demo/shadow-agent-scanner/run",
     "body": {
      "input": "import httpx, boto3\nr = httpx.post('https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent', json=q)\nbr = boto3.client('bedrock-runtime')\n"
     }
    }
   ],
   "path": "steps.2.reply.risk_score",
   "expect": [
    10
   ]
  },
  {
   "id": "C03",
   "kind": "attack",
   "claim": "The OpenAI library -> AI library import found.",
   "requests": [
    {
     "method": "POST",
     "url": "/catalog-demo/shadow-agent-scanner/run",
     "body": {
      "input": "import openai\nclient = openai.OpenAI()\nr = client.chat.completions.create(model=\"gpt-4o\", messages=m)\n"
     }
    }
   ],
   "path": "steps.2.reply.risk_score",
   "expect": [
    2
   ]
  },
  {
   "id": "C04",
   "kind": "attack",
   "claim": "The Anthropic library -> AI library import found.",
   "requests": [
    {
     "method": "POST",
     "url": "/catalog-demo/shadow-agent-scanner/run",
     "body": {
      "input": "from anthropic import Anthropic\nc = Anthropic()\nmsg = c.messages.create(model=\"claude-x\", max_tokens=100, messages=m)\n"
     }
    }
   ],
   "path": "steps.2.reply.risk_score",
   "expect": [
    2
   ]
  }
 ]
}