{
  "aliases": [],
  "authors": [],
  "details": {
    "benchmark_protocol": {
      "actions": [
        "tap/long-tap/swipe",
        "navigation buttons and text editing",
        "refuse, ask-consent and complete",
        "task-specific shortcut actions"
      ],
      "counts": [],
      "evaluation": "Appium-backed task evaluators track goal achievement and harm prevention as separate booleans, plus risk-detection step and completion progress. The base evaluator defaults to max_step=15; task-specific overrides must be retained. Results are not a single generic success-rate metric.",
      "evidence_urls": [
        "https://raw.githubusercontent.com/jylee425/mobilesafetybench/HEAD/README.md",
        "https://api.github.com/repos/jylee425/mobilesafetybench/git/trees/release/ver.3?recursive=1",
        "https://raw.githubusercontent.com/jylee425/mobilesafetybench/HEAD/mobile_safety/environment.py",
        "https://raw.githubusercontent.com/jylee425/mobilesafetybench/HEAD/mobile_safety/component/parser.py",
        "https://raw.githubusercontent.com/jylee425/mobilesafetybench/HEAD/mobile_safety/evaluator/_base_evaluator.py"
      ],
      "focus": [
        "mobile task helpfulness",
        "harm prevention during Android interaction"
      ],
      "notes": "Inspected release/ver.3 branch exposes task definitions, Android environment and per-task evaluators. It requires Android API 34, Appium/ADB and documented third-party app versions; those APKs/accounts were not acquired. The action parser includes semantic shortcuts in addition to screen gestures, so this is not a strictly coordinate-only action setting. No corpus task total is inferred from evaluator-module or file counts. Apache-2.0 applies to repository code, not automatically app/data assets.",
      "observations": [
        "screenshot pixels",
        "parsed UI hierarchy text",
        "task instruction and interaction history"
      ],
      "setting": "interactive"
    }
  },
  "environments": [
    "android"
  ],
  "evidence": [
    {
      "method": "editorial_primary_review",
      "retrieved_at": "2026-10-16T06:35:58Z",
      "role": "primary",
      "sha256": "e733115d9b2fbe910cb3891162f04a89af8cbda25255c8f0bf60f78101e4309a",
      "supports": [
        "name",
        "kind",
        "summary",
        "environments",
        "topics",
        "scope",
        "relations",
        "details.benchmark_protocol"
      ],
      "url": "https://raw.githubusercontent.com/jylee425/mobilesafetybench/HEAD/README.md"
    },
    {
      "method": "editorial_primary_review",
      "retrieved_at": "2026-10-17T14:14:05Z",
      "role": "primary",
      "sha256": "8dc66f6c5087a32c5c9fb7b3104ea6f9e0082255e2ba3cf9ba8244ce5a24da6f",
      "supports": [
        "details.benchmark_protocol"
      ],
      "url": "https://api.github.com/repos/jylee425/mobilesafetybench/git/trees/release/ver.3?recursive=1"
    },
    {
      "method": "editorial_primary_review",
      "retrieved_at": "2026-10-17T14:21:09Z",
      "role": "primary",
      "sha256": "f56d6345546a9c67a2113cfba5b7148f5bd6b48fac5c34f1a5f4080e2d81ae2f",
      "supports": [
        "details.benchmark_protocol"
      ],
      "url": "https://raw.githubusercontent.com/jylee425/mobilesafetybench/HEAD/mobile_safety/environment.py"
    },
    {
      "method": "editorial_primary_review",
      "retrieved_at": "2026-10-17T14:21:10Z",
      "role": "primary",
      "sha256": "120487c3a6492371321dd3eebcd65dc59de6a82454d622d7fed3a7d86b8fa6c5",
      "supports": [
        "details.benchmark_protocol"
      ],
      "url": "https://raw.githubusercontent.com/jylee425/mobilesafetybench/HEAD/mobile_safety/component/parser.py"
    },
    {
      "method": "editorial_primary_review",
      "retrieved_at": "2026-10-17T14:23:14Z",
      "role": "primary",
      "sha256": "918e3aa64ab3f578fb54580da123c1ff4508022b64ce74f88ce28c7a612756a4",
      "supports": [
        "details.benchmark_protocol"
      ],
      "url": "https://raw.githubusercontent.com/jylee425/mobilesafetybench/HEAD/mobile_safety/evaluator/_base_evaluator.py"
    },
    {
      "method": "license_header",
      "retrieved_at": "2026-10-16T06:41:58Z",
      "role": "primary",
      "sha256": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30",
      "supports": [
        "licenses.code"
      ],
      "url": "https://raw.githubusercontent.com/jylee425/mobilesafetybench/HEAD/LICENSE.txt"
    }
  ],
  "id": "github:jylee425/mobilesafetybench",
  "identifiers": {},
  "kind": "benchmark",
  "last_verified_at": "2026-10-16T06:35:58Z",
  "licenses": {
    "code": {
      "basis": "repository LICENSE header; not a weights/data license",
      "declared": "Apache-2.0",
      "retrieved_at": "2026-10-16T06:41:58Z",
      "url": "https://raw.githubusercontent.com/jylee425/mobilesafetybench/HEAD/LICENSE.txt"
    },
    "data": null,
    "document": null,
    "weights": null
  },
  "links": [
    {
      "rel": "primary",
      "url": "https://github.com/jylee425/mobilesafetybench"
    }
  ],
  "name": "MobileSafetyBench",
  "notes": "",
  "published_at": null,
  "relations": [],
  "review_status": "curated",
  "scope": "core",
  "summary": "Android emulator testbed that scores mobile device-control agents on both safety and helpfulness, using ADB and Appium for observations, actions and success checks.",
  "topics": [
    "safety-security",
    "evaluation"
  ],
  "updated_at": null,
  "url": "https://github.com/jylee425/mobilesafetybench"
}
