{
  "schema": "owasp-ptk-playground-scanner-targets/v2",
  "version": 2,
  "generatedFrom": "catalog/challenges.json",
  "summary": {
    "challenges": 419,
    "targets": 716
  },
  "targets": [
    {
      "id": "support-widget-vulnerable",
      "challengeId": "support-widget",
      "variant": "review",
      "title": "Support widget review route",
      "engines": [
        "SCA",
        "SAST",
        "IAST"
      ],
      "route": "./targets/support-widget/vulnerable/",
      "dependency": {
        "name": "jQuery",
        "version": "3.4.1"
      }
    },
    {
      "id": "support-widget-fixed",
      "challengeId": "support-widget",
      "variant": "repaired",
      "title": "Support widget repaired route",
      "engines": [
        "SCA",
        "SAST",
        "IAST"
      ],
      "route": "./targets/support-widget/fixed/",
      "dependency": {
        "name": "jQuery",
        "version": "3.7.1"
      }
    },
    {
      "id": "deployment-response-disclosure",
      "challengeId": "deployment-response-boundary",
      "variant": "review",
      "title": "Deployment response with metadata disclosure",
      "engines": [
        "DAST"
      ],
      "route": "./passive/cases/headers/powered-by.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "https",
        "port": 3443
      }
    },
    {
      "id": "deployment-response-control",
      "challengeId": "deployment-response-boundary",
      "variant": "repaired",
      "title": "Deployment response without metadata disclosure",
      "engines": [
        "DAST"
      ],
      "route": "./passive/cases/headers/secure-control.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "https",
        "port": 3443
      }
    },
    {
      "id": "session-order-search-review",
      "challengeId": "session-bound-order-search",
      "variant": "review",
      "title": "Order search review workflow",
      "engines": [
        "DAST"
      ],
      "route": "./targets/session-bound-order-search/vulnerable/",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "https",
        "port": 3443
      },
      "request": {
        "method": "POST",
        "route": "/targets/session-bound-order-search/vulnerable/api/search",
        "contentType": "application/x-www-form-urlencoded",
        "parameterNames": [
          "query"
        ],
        "setup": "Open the review page to establish its scoped session and submit the search form."
      }
    },
    {
      "id": "session-order-search-control",
      "challengeId": "session-bound-order-search",
      "variant": "repaired",
      "title": "Order search repaired workflow",
      "engines": [
        "DAST"
      ],
      "route": "./targets/session-bound-order-search/fixed/",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "https",
        "port": 3443
      },
      "request": {
        "method": "POST",
        "route": "/targets/session-bound-order-search/fixed/api/search",
        "contentType": "application/x-www-form-urlencoded",
        "parameterNames": [
          "query"
        ],
        "setup": "Open the repaired page to establish its scoped session and submit the same search form."
      }
    },
    {
      "id": "on-demand-analytics-review",
      "challengeId": "on-demand-analytics",
      "variant": "review",
      "title": "Analytics workspace review route",
      "engines": [
        "SCA"
      ],
      "route": "./targets/on-demand-analytics/vulnerable/",
      "dependency": {
        "name": "jQuery",
        "version": "3.4.1"
      }
    },
    {
      "id": "on-demand-analytics-control",
      "challengeId": "on-demand-analytics",
      "variant": "repaired",
      "title": "Analytics workspace repaired route",
      "engines": [
        "SCA"
      ],
      "route": "./targets/on-demand-analytics/fixed/",
      "dependency": {
        "name": "jQuery",
        "version": "3.7.1"
      }
    },
    {
      "id": "saved-workspace-review",
      "challengeId": "saved-workspace",
      "variant": "review",
      "title": "Saved workspace review journey",
      "engines": [
        "SAST",
        "IAST"
      ],
      "route": "./targets/saved-workspace/vulnerable/",
      "journey": {
        "summary": "Save the prepared announcement and follow the same-origin dashboard navigation.",
        "entrySelector": "#save-announcement",
        "childRoute": "/targets/saved-workspace/vulnerable/dashboard.html",
        "childReadySelector": "#announcement-status"
      }
    },
    {
      "id": "saved-workspace-control",
      "challengeId": "saved-workspace",
      "variant": "repaired",
      "title": "Saved workspace repaired journey",
      "engines": [
        "SAST",
        "IAST"
      ],
      "route": "./targets/saved-workspace/fixed/",
      "journey": {
        "summary": "Save the same prepared announcement and follow the same-origin dashboard navigation.",
        "entrySelector": "#save-announcement",
        "childRoute": "/targets/saved-workspace/fixed/dashboard.html",
        "childReadySelector": "#announcement-status"
      }
    },
    {
      "id": "live-profile-preview-review",
      "challengeId": "live-profile-preview",
      "variant": "review",
      "title": "Live profile review target",
      "engines": [
        "SAST",
        "IAST"
      ],
      "route": "./targets/live-profile-preview/vulnerable/",
      "action": {
        "summary": "Press Open live profile preview and wait for the response status.",
        "triggerSelector": "#load-profile",
        "readySelector": "#profile-status"
      }
    },
    {
      "id": "live-profile-preview-control",
      "challengeId": "live-profile-preview",
      "variant": "repaired",
      "title": "Live profile repaired control",
      "engines": [
        "SAST",
        "IAST"
      ],
      "route": "./targets/live-profile-preview/fixed/",
      "action": {
        "summary": "Press the same preview button and wait for the response status.",
        "triggerSelector": "#load-profile",
        "readySelector": "#profile-status"
      }
    },
    {
      "id": "transient-route-notice-review",
      "challengeId": "transient-route-notice",
      "variant": "review",
      "title": "Transient route notice review target",
      "engines": [
        "DAST",
        "SAST",
        "IAST"
      ],
      "route": "./targets/transient-route-notice/vulnerable/",
      "action": {
        "summary": "Press Open prepared route notice and scan the resulting hash-query route.",
        "triggerSelector": "#open-route-notice",
        "readySelector": "#route-status"
      }
    },
    {
      "id": "transient-route-notice-control",
      "challengeId": "transient-route-notice",
      "variant": "repaired",
      "title": "Transient route notice repaired control",
      "engines": [
        "DAST",
        "SAST",
        "IAST"
      ],
      "route": "./targets/transient-route-notice/fixed/",
      "action": {
        "summary": "Press the same button and scan the resulting hash-query route.",
        "triggerSelector": "#open-route-notice",
        "readySelector": "#route-status"
      }
    },
    {
      "id": "imported-request-preferences-review",
      "challengeId": "imported-request-preferences",
      "variant": "review",
      "title": "Imported preferences review target",
      "engines": [
        "SAST",
        "IAST"
      ],
      "route": "./targets/imported-request-preferences/vulnerable/",
      "action": {
        "summary": "Press Import and load preview, then inspect the request-options evidence.",
        "triggerSelector": "#import-preferences",
        "readySelector": "#preferences-status"
      }
    },
    {
      "id": "imported-request-preferences-control",
      "challengeId": "imported-request-preferences",
      "variant": "repaired",
      "title": "Imported preferences repaired control",
      "engines": [
        "SAST",
        "IAST"
      ],
      "route": "./targets/imported-request-preferences/fixed/",
      "action": {
        "summary": "Press the same import button and inspect the repaired request-options evidence.",
        "triggerSelector": "#import-preferences",
        "readySelector": "#preferences-status"
      }
    },
    {
      "id": "history-order-router-review",
      "challengeId": "history-order-router",
      "variant": "review",
      "title": "History order router review target",
      "engines": [
        "DAST",
        "SAST",
        "IAST"
      ],
      "route": "./targets/history-order-router/vulnerable/",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http",
        "port": 3080
      },
      "request": {
        "method": "POST",
        "route": "/targets/history-order-router/vulnerable/api/order",
        "contentType": "application/json",
        "parameterNames": [
          "orderId"
        ],
        "setup": "Open the review page to establish its scoped session, then press Open prepared order."
      },
      "action": {
        "summary": "Press Open prepared order and observe the route, DOM and JSON request.",
        "triggerSelector": "#open-order-route",
        "readySelector": "#order-route-status"
      }
    },
    {
      "id": "history-order-router-control",
      "challengeId": "history-order-router",
      "variant": "repaired",
      "title": "History order router repaired control",
      "engines": [
        "DAST",
        "SAST",
        "IAST"
      ],
      "route": "./targets/history-order-router/fixed/",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http",
        "port": 3080
      },
      "request": {
        "method": "POST",
        "route": "/targets/history-order-router/fixed/api/order",
        "contentType": "application/json",
        "parameterNames": [
          "orderId"
        ],
        "setup": "Open the repaired page to establish its scoped session, then press Open prepared order."
      },
      "action": {
        "summary": "Press the same order action and observe the reviewed route and JSON request.",
        "triggerSelector": "#open-order-route",
        "readySelector": "#order-route-status"
      }
    },
    {
      "id": "lazy-route-module-review",
      "challengeId": "lazy-route-module",
      "variant": "review",
      "title": "Lazy analytics route review target",
      "engines": [
        "SCA",
        "SAST",
        "IAST"
      ],
      "route": "./targets/lazy-route-module/vulnerable/",
      "action": {
        "summary": "Observe initial traffic, then press Open analytics route.",
        "triggerSelector": "#open-analytics-route",
        "readySelector": "#analytics-route-status"
      },
      "dependency": {
        "name": "jQuery",
        "version": "3.4.1"
      }
    },
    {
      "id": "lazy-route-module-control",
      "challengeId": "lazy-route-module",
      "variant": "repaired",
      "title": "Lazy analytics route repaired control",
      "engines": [
        "SCA",
        "SAST",
        "IAST"
      ],
      "route": "./targets/lazy-route-module/fixed/",
      "action": {
        "summary": "Observe initial traffic, then press the same analytics action.",
        "triggerSelector": "#open-analytics-route",
        "readySelector": "#analytics-route-status"
      },
      "dependency": {
        "name": "jQuery",
        "version": "3.7.1"
      }
    },
    {
      "id": "same-origin-child-tab-review",
      "challengeId": "same-origin-child-tab",
      "variant": "review",
      "title": "Related child-tab review journey",
      "engines": [
        "DAST",
        "SCA",
        "SAST",
        "IAST"
      ],
      "route": "./targets/same-origin-child-tab/vulnerable/",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http",
        "port": 3080
      },
      "journey": {
        "summary": "Open the prepared child and inspect evidence in the new same-origin tab.",
        "entrySelector": "#open-related-child",
        "childRoute": "/targets/same-origin-child-tab/vulnerable/child.html",
        "childReadySelector": "#child-runtime-status"
      },
      "dependency": {
        "name": "jQuery",
        "version": "3.4.1"
      }
    },
    {
      "id": "same-origin-child-tab-control",
      "challengeId": "same-origin-child-tab",
      "variant": "repaired",
      "title": "Related child-tab repaired journey",
      "engines": [
        "DAST",
        "SCA",
        "SAST",
        "IAST"
      ],
      "route": "./targets/same-origin-child-tab/fixed/",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http",
        "port": 3080
      },
      "journey": {
        "summary": "Open the paired child and inspect evidence in the new same-origin tab.",
        "entrySelector": "#open-related-child",
        "childRoute": "/targets/same-origin-child-tab/fixed/child.html",
        "childReadySelector": "#child-runtime-status"
      },
      "dependency": {
        "name": "jQuery",
        "version": "3.7.1"
      }
    },
    {
      "id": "iast.atomic.iast-iast-runtime.button-1-inline-event.review",
      "challengeId": "iast.atomic.iast-iast-runtime.button-1-inline-event",
      "variant": "review",
      "title": "\">Inline event review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-runtime/button-1-inline-event/review/"
    },
    {
      "id": "iast.atomic.iast-iast-runtime.button-1-inline-event.repaired",
      "challengeId": "iast.atomic.iast-iast-runtime.button-1-inline-event",
      "variant": "repaired",
      "title": "\">Inline event repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-runtime/button-1-inline-event/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-open-redirect.btn-anchor.review",
      "challengeId": "iast.atomic.iast-iast-open-redirect.btn-anchor",
      "variant": "review",
      "title": "anchor.href = payload review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-open-redirect/btn-anchor/review/"
    },
    {
      "id": "iast.atomic.iast-iast-open-redirect.btn-anchor.repaired",
      "challengeId": "iast.atomic.iast-iast-open-redirect.btn-anchor",
      "variant": "repaired",
      "title": "anchor.href = payload repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-open-redirect/btn-anchor/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss.appendchild.review",
      "challengeId": "iast.atomic.iast-iast-dom-xss.appendchild",
      "variant": "review",
      "title": "appendChild(fragment with selected source) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss/appendchild/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss.appendchild.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-xss.appendchild",
      "variant": "repaired",
      "title": "appendChild(fragment with selected source) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss/appendchild/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-mutation.review",
      "challengeId": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-mutation",
      "variant": "review",
      "title": "appendChild(fragment) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss-secondary-sources/btn-mutation/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-mutation.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-mutation",
      "variant": "repaired",
      "title": "appendChild(fragment) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss-secondary-sources/btn-mutation/fixed/"
    },
    {
      "id": "sast.atomic.sast-ajax-request-header.arh-setrequestheader.review",
      "challengeId": "sast.atomic.sast-ajax-request-header.arh-setrequestheader",
      "variant": "review",
      "title": "ARH-H1 (High): location.hash review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-ajax-request-header/arh-setrequestheader/review/"
    },
    {
      "id": "sast.atomic.sast-ajax-request-header.arh-setrequestheader.repaired",
      "challengeId": "sast.atomic.sast-ajax-request-header.arh-setrequestheader",
      "variant": "repaired",
      "title": "ARH-H1 (High): location.hash repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-ajax-request-header/arh-setrequestheader/fixed/"
    },
    {
      "id": "sast.atomic.sast-ajax-request-header.arh-copy-cookie.review",
      "challengeId": "sast.atomic.sast-ajax-request-header.arh-copy-cookie",
      "variant": "review",
      "title": "ARH-H2 (High): Copying document.cookie review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-ajax-request-header/arh-copy-cookie/review/"
    },
    {
      "id": "sast.atomic.sast-ajax-request-header.arh-copy-cookie.repaired",
      "challengeId": "sast.atomic.sast-ajax-request-header.arh-copy-cookie",
      "variant": "repaired",
      "title": "ARH-H2 (High): Copying document.cookie repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-ajax-request-header/arh-copy-cookie/fixed/"
    },
    {
      "id": "sast.atomic.sast-ajax-request-header.arh-global-eval.review",
      "challengeId": "sast.atomic.sast-ajax-request-header.arh-global-eval",
      "variant": "review",
      "title": "ARH-H3 (High): $.globalEval review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-ajax-request-header/arh-global-eval/review/"
    },
    {
      "id": "sast.atomic.sast-ajax-request-header.arh-global-eval.repaired",
      "challengeId": "sast.atomic.sast-ajax-request-header.arh-global-eval",
      "variant": "repaired",
      "title": "ARH-H3 (High): $.globalEval repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-ajax-request-header/arh-global-eval/fixed/"
    },
    {
      "id": "sast.atomic.sast-ajax-request-header.arh-message-listener.review",
      "challengeId": "sast.atomic.sast-ajax-request-header.arh-message-listener",
      "variant": "review",
      "title": "ARH-M1 (Medium): postMessage review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-ajax-request-header/arh-message-listener/review/"
    },
    {
      "id": "sast.atomic.sast-ajax-request-header.arh-message-listener.repaired",
      "challengeId": "sast.atomic.sast-ajax-request-header.arh-message-listener",
      "variant": "repaired",
      "title": "ARH-M1 (Medium): postMessage repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-ajax-request-header/arh-message-listener/fixed/"
    },
    {
      "id": "sast.atomic.sast-ajax-request-header.arh-xhr-open.review",
      "challengeId": "sast.atomic.sast-ajax-request-header.arh-xhr-open",
      "variant": "review",
      "title": "ARH-M2 (Medium): XMLHttpRequest.open review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-ajax-request-header/arh-xhr-open/review/"
    },
    {
      "id": "sast.atomic.sast-ajax-request-header.arh-xhr-open.repaired",
      "challengeId": "sast.atomic.sast-ajax-request-header.arh-xhr-open",
      "variant": "repaired",
      "title": "ARH-M2 (Medium): XMLHttpRequest.open repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-ajax-request-header/arh-xhr-open/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-inbound-channel-trust.btn-broadcast-innerhtml.review",
      "challengeId": "iast.atomic.iast-iast-inbound-channel-trust.btn-broadcast-innerhtml",
      "variant": "review",
      "title": "BroadcastChannel → innerHTML review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-inbound-channel-trust/btn-broadcast-innerhtml/review/"
    },
    {
      "id": "iast.atomic.iast-iast-inbound-channel-trust.btn-broadcast-innerhtml.repaired",
      "challengeId": "iast.atomic.iast-iast-inbound-channel-trust.btn-broadcast-innerhtml",
      "variant": "repaired",
      "title": "BroadcastChannel → innerHTML repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-inbound-channel-trust/btn-broadcast-innerhtml/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-web-messaging-channels.btn-broadcast.review",
      "challengeId": "iast.atomic.iast-iast-web-messaging-channels.btn-broadcast",
      "variant": "review",
      "title": "BroadcastChannel.postMessage review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-web-messaging-channels/btn-broadcast/review/"
    },
    {
      "id": "iast.atomic.iast-iast-web-messaging-channels.btn-broadcast.repaired",
      "challengeId": "iast.atomic.iast-iast-web-messaging-channels.btn-broadcast",
      "variant": "repaired",
      "title": "BroadcastChannel.postMessage repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-web-messaging-channels/btn-broadcast/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submission-hijack.btn-data-formaction.review",
      "challengeId": "iast.atomic.iast-iast-form-submission-hijack.btn-data-formaction",
      "variant": "review",
      "title": "button.formAction = data:payload review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submission-hijack/btn-data-formaction/review/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submission-hijack.btn-data-formaction.repaired",
      "challengeId": "iast.atomic.iast-iast-form-submission-hijack.btn-data-formaction",
      "variant": "repaired",
      "title": "button.formAction = data:payload repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submission-hijack/btn-data-formaction/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submission-hijack.btn-js-formaction.review",
      "challengeId": "iast.atomic.iast-iast-form-submission-hijack.btn-js-formaction",
      "variant": "review",
      "title": "button.formAction = javascript:payload review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submission-hijack/btn-js-formaction/review/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submission-hijack.btn-js-formaction.repaired",
      "challengeId": "iast.atomic.iast-iast-form-submission-hijack.btn-js-formaction",
      "variant": "repaired",
      "title": "button.formAction = javascript:payload repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submission-hijack/btn-js-formaction/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-attr-formaction.review",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-attr-formaction",
      "variant": "review",
      "title": "button.formAction = payload review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-attr-formaction/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-attr-formaction.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-attr-formaction",
      "variant": "repaired",
      "title": "button.formAction = payload repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-attr-formaction/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submission-hijack.btn-formaction.review",
      "challengeId": "iast.atomic.iast-iast-form-submission-hijack.btn-formaction",
      "variant": "review",
      "title": "button.formAction = payload review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submission-hijack/btn-formaction/review/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submission-hijack.btn-formaction.repaired",
      "challengeId": "iast.atomic.iast-iast-form-submission-hijack.btn-formaction",
      "variant": "repaired",
      "title": "button.formAction = payload repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submission-hijack/btn-formaction/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-indexeddb-cache-storage.btn-cache-fetch.review",
      "challengeId": "iast.atomic.iast-iast-indexeddb-cache-storage.btn-cache-fetch",
      "variant": "review",
      "title": "Cache.match() → fetch(url) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-indexeddb-cache-storage/btn-cache-fetch/review/"
    },
    {
      "id": "iast.atomic.iast-iast-indexeddb-cache-storage.btn-cache-fetch.repaired",
      "challengeId": "iast.atomic.iast-iast-indexeddb-cache-storage.btn-cache-fetch",
      "variant": "repaired",
      "title": "Cache.match() → fetch(url) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-indexeddb-cache-storage/btn-cache-fetch/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-indexeddb-cache-storage.btn-cache-put.review",
      "challengeId": "iast.atomic.iast-iast-indexeddb-cache-storage.btn-cache-put",
      "variant": "review",
      "title": "Cache.put() review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-indexeddb-cache-storage/btn-cache-put/review/"
    },
    {
      "id": "iast.atomic.iast-iast-indexeddb-cache-storage.btn-cache-put.repaired",
      "challengeId": "iast.atomic.iast-iast-indexeddb-cache-storage.btn-cache-put",
      "variant": "repaired",
      "title": "Cache.put() repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-indexeddb-cache-storage/btn-cache-put/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submit-csrf.btn-request-submit.review",
      "challengeId": "iast.atomic.iast-iast-form-submit-csrf.btn-request-submit",
      "variant": "review",
      "title": "Call form.requestSubmit(button) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submit-csrf/btn-request-submit/review/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submit-csrf.btn-request-submit.repaired",
      "challengeId": "iast.atomic.iast-iast-form-submit-csrf.btn-request-submit",
      "variant": "repaired",
      "title": "Call form.requestSubmit(button) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submit-csrf/btn-request-submit/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submit-csrf.btn-submit.review",
      "challengeId": "iast.atomic.iast-iast-form-submit-csrf.btn-submit",
      "variant": "review",
      "title": "Call form.submit() review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submit-csrf/btn-submit/review/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submit-csrf.btn-submit.repaired",
      "challengeId": "iast.atomic.iast-iast-form-submit-csrf.btn-submit",
      "variant": "repaired",
      "title": "Call form.submit() repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submit-csrf/btn-submit/fixed/"
    },
    {
      "id": "sast.atomic.sast-client-injection.ci-sql-taint.review",
      "challengeId": "sast.atomic.sast-client-injection.ci-sql-taint",
      "variant": "review",
      "title": "CI-H1 (High): WebSQL query built via string concatenation from location.hash review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-client-injection/ci-sql-taint/review/"
    },
    {
      "id": "sast.atomic.sast-client-injection.ci-sql-taint.repaired",
      "challengeId": "sast.atomic.sast-client-injection.ci-sql-taint",
      "variant": "repaired",
      "title": "CI-H1 (High): WebSQL query built via string concatenation from location.hash repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-client-injection/ci-sql-taint/fixed/"
    },
    {
      "id": "sast.atomic.sast-client-injection.ci-xpath-taint.review",
      "challengeId": "sast.atomic.sast-client-injection.ci-xpath-taint",
      "variant": "review",
      "title": "CI-H3 (High): XPath expression built from tainted selector review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-client-injection/ci-xpath-taint/review/"
    },
    {
      "id": "sast.atomic.sast-client-injection.ci-xpath-taint.repaired",
      "challengeId": "sast.atomic.sast-client-injection.ci-xpath-taint",
      "variant": "repaired",
      "title": "CI-H3 (High): XPath expression built from tainted selector repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-client-injection/ci-xpath-taint/fixed/"
    },
    {
      "id": "sast.atomic.sast-client-injection.ci-sql-review.review",
      "challengeId": "sast.atomic.sast-client-injection.ci-sql-review",
      "variant": "review",
      "title": "CI-H5 (High): Any call to executeSql review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-client-injection/ci-sql-review/review/"
    },
    {
      "id": "sast.atomic.sast-client-injection.ci-sql-review.repaired",
      "challengeId": "sast.atomic.sast-client-injection.ci-sql-review",
      "variant": "repaired",
      "title": "CI-H5 (High): Any call to executeSql repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-client-injection/ci-sql-review/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss.inline-event-target.review",
      "challengeId": "iast.atomic.iast-iast-dom-xss.inline-event-target",
      "variant": "review",
      "title": "Click after setAttribute('onclick', payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss/inline-event-target/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss.inline-event-target.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-xss.inline-event-target",
      "variant": "repaired",
      "title": "Click after setAttribute('onclick', payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss/inline-event-target/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-runtime.inline-event-target.review",
      "challengeId": "iast.atomic.iast-iast-runtime.inline-event-target",
      "variant": "review",
      "title": "Click me after wiring inline event review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-runtime/inline-event-target/review/"
    },
    {
      "id": "iast.atomic.iast-iast-runtime.inline-event-target.repaired",
      "challengeId": "iast.atomic.iast-iast-runtime.inline-event-target",
      "variant": "repaired",
      "title": "Click me after wiring inline event repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-runtime/inline-event-target/fixed/"
    },
    {
      "id": "sast.atomic.sast-prototype-pollution-client.page.review",
      "challengeId": "sast.atomic.sast-prototype-pollution-client.page",
      "variant": "review",
      "title": "Client-side prototype pollution review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-prototype-pollution-client/page/review/"
    },
    {
      "id": "sast.atomic.sast-prototype-pollution-client.page.repaired",
      "challengeId": "sast.atomic.sast-prototype-pollution-client.page",
      "variant": "repaired",
      "title": "Client-side prototype pollution repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-prototype-pollution-client/page/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-debug-logging-leaks.btn-error.review",
      "challengeId": "iast.atomic.iast-iast-debug-logging-leaks.btn-error",
      "variant": "review",
      "title": "console.error(secret) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-debug-logging-leaks/btn-error/review/"
    },
    {
      "id": "iast.atomic.iast-iast-debug-logging-leaks.btn-error.repaired",
      "challengeId": "iast.atomic.iast-iast-debug-logging-leaks.btn-error",
      "variant": "repaired",
      "title": "console.error(secret) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-debug-logging-leaks/btn-error/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-debug-logging-leaks.btn-log.review",
      "challengeId": "iast.atomic.iast-iast-debug-logging-leaks.btn-log",
      "variant": "review",
      "title": "console.log(secret) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-debug-logging-leaks/btn-log/review/"
    },
    {
      "id": "iast.atomic.iast-iast-debug-logging-leaks.btn-log.repaired",
      "challengeId": "iast.atomic.iast-iast-debug-logging-leaks.btn-log",
      "variant": "repaired",
      "title": "console.log(secret) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-debug-logging-leaks/btn-log/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-runtime.inline-event.review",
      "challengeId": "iast.atomic.iast-iast-runtime.inline-event",
      "variant": "review",
      "title": "Convert to inline event handler review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-runtime/inline-event/review/"
    },
    {
      "id": "iast.atomic.iast-iast-runtime.inline-event.repaired",
      "challengeId": "iast.atomic.iast-iast-runtime.inline-event",
      "variant": "repaired",
      "title": "Convert to inline event handler repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-runtime/inline-event/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dynamic-script-loading.btn-append.review",
      "challengeId": "iast.atomic.iast-iast-dynamic-script-loading.btn-append",
      "variant": "review",
      "title": "Create & append <script> review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dynamic-script-loading/btn-append/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dynamic-script-loading.btn-append.repaired",
      "challengeId": "iast.atomic.iast-iast-dynamic-script-loading.btn-append",
      "variant": "repaired",
      "title": "Create & append <script> repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dynamic-script-loading/btn-append/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-clobbering.btn-anchor.review",
      "challengeId": "iast.atomic.iast-iast-dom-clobbering.btn-anchor",
      "variant": "review",
      "title": "Create a[id=payload] review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-clobbering/btn-anchor/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-clobbering.btn-anchor.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-clobbering.btn-anchor",
      "variant": "repaired",
      "title": "Create a[id=payload] repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-clobbering/btn-anchor/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-clobbering.btn-form.review",
      "challengeId": "iast.atomic.iast-iast-dom-clobbering.btn-form",
      "variant": "review",
      "title": "Create form[name=payload] review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-clobbering/btn-form/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-clobbering.btn-form.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-clobbering.btn-form",
      "variant": "repaired",
      "title": "Create form[name=payload] repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-clobbering/btn-form/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-blob-object-url-execution.btn-iframe-url.review",
      "challengeId": "iast.atomic.iast-iast-blob-object-url-execution.btn-iframe-url",
      "variant": "review",
      "title": "Create object URL and assign to iframe.src review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-blob-object-url-execution/btn-iframe-url/review/"
    },
    {
      "id": "iast.atomic.iast-iast-blob-object-url-execution.btn-iframe-url.repaired",
      "challengeId": "iast.atomic.iast-iast-blob-object-url-execution.btn-iframe-url",
      "variant": "repaired",
      "title": "Create object URL and assign to iframe.src repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-blob-object-url-execution/btn-iframe-url/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-blob-object-url-execution.btn-script-url.review",
      "challengeId": "iast.atomic.iast-iast-blob-object-url-execution.btn-script-url",
      "variant": "review",
      "title": "Create object URL and assign to script.src review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-blob-object-url-execution/btn-script-url/review/"
    },
    {
      "id": "iast.atomic.iast-iast-blob-object-url-execution.btn-script-url.repaired",
      "challengeId": "iast.atomic.iast-iast-blob-object-url-execution.btn-script-url",
      "variant": "repaired",
      "title": "Create object URL and assign to script.src repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-blob-object-url-execution/btn-script-url/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-blob-object-url-execution.btn-worker-url.review",
      "challengeId": "iast.atomic.iast-iast-blob-object-url-execution.btn-worker-url",
      "variant": "review",
      "title": "Create object URL and pass to Worker() review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-blob-object-url-execution/btn-worker-url/review/"
    },
    {
      "id": "iast.atomic.iast-iast-blob-object-url-execution.btn-worker-url.repaired",
      "challengeId": "iast.atomic.iast-iast-blob-object-url-execution.btn-worker-url",
      "variant": "repaired",
      "title": "Create object URL and pass to Worker() repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-blob-object-url-execution/btn-worker-url/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-token-leaks.btn-cookie.review",
      "challengeId": "iast.atomic.iast-iast-storage-token-leaks.btn-cookie",
      "variant": "review",
      "title": "document.cookie = token review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-token-leaks/btn-cookie/review/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-token-leaks.btn-cookie.repaired",
      "challengeId": "iast.atomic.iast-iast-storage-token-leaks.btn-cookie",
      "variant": "repaired",
      "title": "document.cookie = token repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-token-leaks/btn-cookie/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-token-leaks.btn-cookie-safe.review",
      "challengeId": "iast.atomic.iast-iast-storage-token-leaks.btn-cookie-safe",
      "variant": "review",
      "title": "document.cookie = token; Secure; SameSite=Strict review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-token-leaks/btn-cookie-safe/review/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-token-leaks.btn-cookie-safe.repaired",
      "challengeId": "iast.atomic.iast-iast-storage-token-leaks.btn-cookie-safe",
      "variant": "repaired",
      "title": "document.cookie = token; Secure; SameSite=Strict repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-token-leaks/btn-cookie-safe/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-document-domain-manipulation.btn-domain.review",
      "challengeId": "iast.atomic.iast-iast-document-domain-manipulation.btn-domain",
      "variant": "review",
      "title": "document.domain = value review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-document-domain-manipulation/btn-domain/review/"
    },
    {
      "id": "iast.atomic.iast-iast-document-domain-manipulation.btn-domain.repaired",
      "challengeId": "iast.atomic.iast-iast-document-domain-manipulation.btn-domain",
      "variant": "repaired",
      "title": "document.domain = value repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-document-domain-manipulation/btn-domain/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-xpath-injection.btn-evaluate.review",
      "challengeId": "iast.atomic.iast-iast-xpath-injection.btn-evaluate",
      "variant": "review",
      "title": "document.evaluate(payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-xpath-injection/btn-evaluate/review/"
    },
    {
      "id": "iast.atomic.iast-iast-xpath-injection.btn-evaluate.repaired",
      "challengeId": "iast.atomic.iast-iast-xpath-injection.btn-evaluate",
      "variant": "repaired",
      "title": "document.evaluate(payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-xpath-injection/btn-evaluate/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-write.review",
      "challengeId": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-write",
      "variant": "review",
      "title": "document.write review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss-secondary-sources/btn-write/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-write.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-write",
      "variant": "repaired",
      "title": "document.write repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss-secondary-sources/btn-write/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss.documentwrite.review",
      "challengeId": "iast.atomic.iast-iast-dom-xss.documentwrite",
      "variant": "review",
      "title": "document.write(selected source) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss/documentwrite/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss.documentwrite.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-xss.documentwrite",
      "variant": "repaired",
      "title": "document.write(selected source) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss/documentwrite/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-clobbering.page.review",
      "challengeId": "sast.atomic.sast-dom-clobbering.page",
      "variant": "review",
      "title": "DOM clobbering review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-clobbering/page/review/"
    },
    {
      "id": "sast.atomic.sast-dom-clobbering.page.repaired",
      "challengeId": "sast.atomic.sast-dom-clobbering.page",
      "variant": "repaired",
      "title": "DOM clobbering repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-clobbering/page/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-parser-xss.btn-domparser.review",
      "challengeId": "iast.atomic.iast-iast-dom-parser-xss.btn-domparser",
      "variant": "review",
      "title": "DOMParser.parseFromString review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-parser-xss/btn-domparser/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-parser-xss.btn-domparser.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-parser-xss.btn-domparser",
      "variant": "repaired",
      "title": "DOMParser.parseFromString repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-parser-xss/btn-domparser/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-trusted-types-and-sanitizer-misuse.btn-dompurify.review",
      "challengeId": "iast.atomic.iast-iast-trusted-types-and-sanitizer-misuse.btn-dompurify",
      "variant": "review",
      "title": "DOMPurify.sanitize with dangerous config review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-trusted-types-and-sanitizer-misuse/btn-dompurify/review/"
    },
    {
      "id": "iast.atomic.iast-iast-trusted-types-and-sanitizer-misuse.btn-dompurify.repaired",
      "challengeId": "iast.atomic.iast-iast-trusted-types-and-sanitizer-misuse.btn-dompurify",
      "variant": "repaired",
      "title": "DOMPurify.sanitize with dangerous config repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-trusted-types-and-sanitizer-misuse/btn-dompurify/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-selector.ds-hash-queryselector.review",
      "challengeId": "sast.atomic.sast-dom-selector.ds-hash-queryselector",
      "variant": "review",
      "title": "DS-H1 (High): location.hash review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-selector/ds-hash-queryselector/review/"
    },
    {
      "id": "sast.atomic.sast-dom-selector.ds-hash-queryselector.repaired",
      "challengeId": "sast.atomic.sast-dom-selector.ds-hash-queryselector",
      "variant": "repaired",
      "title": "DS-H1 (High): location.hash repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-selector/ds-hash-queryselector/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-selector.ds-jquery-root.review",
      "challengeId": "sast.atomic.sast-dom-selector.ds-jquery-root",
      "variant": "review",
      "title": "DS-H2 (High): message payload used as root jQuery selector review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-selector/ds-jquery-root/review/"
    },
    {
      "id": "sast.atomic.sast-dom-selector.ds-jquery-root.repaired",
      "challengeId": "sast.atomic.sast-dom-selector.ds-jquery-root",
      "variant": "repaired",
      "title": "DS-H2 (High): message payload used as root jQuery selector repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-selector/ds-jquery-root/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-selector.ds-jquery-find-root.review",
      "challengeId": "sast.atomic.sast-dom-selector.ds-jquery-find-root",
      "variant": "review",
      "title": "DS-H3 (High): find() review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-selector/ds-jquery-find-root/review/"
    },
    {
      "id": "sast.atomic.sast-dom-selector.ds-jquery-find-root.repaired",
      "challengeId": "sast.atomic.sast-dom-selector.ds-jquery-find-root",
      "variant": "repaired",
      "title": "DS-H3 (High): find() repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-selector/ds-jquery-find-root/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-selector.ds-jquery-find-query.review",
      "challengeId": "sast.atomic.sast-dom-selector.ds-jquery-find-query",
      "variant": "review",
      "title": "DS-H4 (High): Query parameter forwarded to find() review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-selector/ds-jquery-find-query/review/"
    },
    {
      "id": "sast.atomic.sast-dom-selector.ds-jquery-find-query.repaired",
      "challengeId": "sast.atomic.sast-dom-selector.ds-jquery-find-query",
      "variant": "repaired",
      "title": "DS-H4 (High): Query parameter forwarded to find() repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-selector/ds-jquery-find-query/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-selector.ds-wildcard-postmessage.review",
      "challengeId": "sast.atomic.sast-dom-selector.ds-wildcard-postmessage",
      "variant": "review",
      "title": "DS-M1 (Medium): wildcard postMessage review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-selector/ds-wildcard-postmessage/review/"
    },
    {
      "id": "sast.atomic.sast-dom-selector.ds-wildcard-postmessage.repaired",
      "challengeId": "sast.atomic.sast-dom-selector.ds-wildcard-postmessage",
      "variant": "repaired",
      "title": "DS-M1 (Medium): wildcard postMessage repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-selector/ds-wildcard-postmessage/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-parser-xss.btn-sethtmlunsafe.review",
      "challengeId": "iast.atomic.iast-iast-dom-parser-xss.btn-sethtmlunsafe",
      "variant": "review",
      "title": "Element.setHTMLUnsafe (if supported) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-parser-xss/btn-sethtmlunsafe/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-parser-xss.btn-sethtmlunsafe.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-parser-xss.btn-sethtmlunsafe",
      "variant": "repaired",
      "title": "Element.setHTMLUnsafe (if supported) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-parser-xss/btn-sethtmlunsafe/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-js-execution.btn-eval.review",
      "challengeId": "iast.atomic.iast-iast-js-execution.btn-eval",
      "variant": "review",
      "title": "eval(payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-js-execution/btn-eval/review/"
    },
    {
      "id": "iast.atomic.iast-iast-js-execution.btn-eval.repaired",
      "challengeId": "iast.atomic.iast-iast-js-execution.btn-eval",
      "variant": "repaired",
      "title": "eval(payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-js-execution/btn-eval/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-taint-to-exec.btn-eval.review",
      "challengeId": "iast.atomic.iast-iast-storage-taint-to-exec.btn-eval",
      "variant": "review",
      "title": "eval(payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-taint-to-exec/btn-eval/review/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-taint-to-exec.btn-eval.repaired",
      "challengeId": "iast.atomic.iast-iast-storage-taint-to-exec.btn-eval",
      "variant": "repaired",
      "title": "eval(payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-taint-to-exec/btn-eval/fixed/"
    },
    {
      "id": "angular-expression-dependency.review",
      "challengeId": "angular-expression-dependency",
      "variant": "review",
      "title": "Expression workspace review target",
      "engines": [
        "SCA"
      ],
      "route": "./targets/angular-expression-dependency/review/",
      "dependency": {
        "name": "angular",
        "version": "1.8.3"
      }
    },
    {
      "id": "angular-expression-dependency.repaired",
      "challengeId": "angular-expression-dependency",
      "variant": "repaired",
      "title": "Expression workspace dependency-free control",
      "engines": [
        "SCA"
      ],
      "route": "./targets/angular-expression-dependency/fixed/",
      "dependency": {
        "name": "angular",
        "version": null
      }
    },
    {
      "id": "sast.atomic.sast-document-write.button-2-ext-high-direct-hash-runwrite-helper.review",
      "challengeId": "sast.atomic.sast-document-write.button-2-ext-high-direct-hash-runwrite-helper",
      "variant": "review",
      "title": "EXT (High): direct hash → runWrite helper review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/button-2-ext-high-direct-hash-runwrite-helper/review/"
    },
    {
      "id": "sast.atomic.sast-document-write.button-2-ext-high-direct-hash-runwrite-helper.repaired",
      "challengeId": "sast.atomic.sast-document-write.button-2-ext-high-direct-hash-runwrite-helper",
      "variant": "repaired",
      "title": "EXT (High): direct hash → runWrite helper repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/button-2-ext-high-direct-hash-runwrite-helper/fixed/"
    },
    {
      "id": "sast.atomic.sast-inner-html.button-4-ext-high-element-value-innerhtmlsink.review",
      "challengeId": "sast.atomic.sast-inner-html.button-4-ext-high-element-value-innerhtmlsink",
      "variant": "review",
      "title": "EXT (High): element.value -> innerHtmlSink review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-inner-html/button-4-ext-high-element-value-innerhtmlsink/review/"
    },
    {
      "id": "sast.atomic.sast-inner-html.button-4-ext-high-element-value-innerhtmlsink.repaired",
      "challengeId": "sast.atomic.sast-inner-html.button-4-ext-high-element-value-innerhtmlsink",
      "variant": "repaired",
      "title": "EXT (High): element.value -> innerHtmlSink repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-inner-html/button-4-ext-high-element-value-innerhtmlsink/fixed/"
    },
    {
      "id": "sast.atomic.sast-inner-html.button-3-ext-high-location-hash-innerhtmlsink.review",
      "challengeId": "sast.atomic.sast-inner-html.button-3-ext-high-location-hash-innerhtmlsink",
      "variant": "review",
      "title": "EXT (High): location.hash -> innerHtmlSink review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-inner-html/button-3-ext-high-location-hash-innerhtmlsink/review/"
    },
    {
      "id": "sast.atomic.sast-inner-html.button-3-ext-high-location-hash-innerhtmlsink.repaired",
      "challengeId": "sast.atomic.sast-inner-html.button-3-ext-high-location-hash-innerhtmlsink",
      "variant": "repaired",
      "title": "EXT (High): location.hash -> innerHtmlSink repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-inner-html/button-3-ext-high-location-hash-innerhtmlsink/fixed/"
    },
    {
      "id": "sast.atomic.sast-document-write.button-3-ext-high-runwrite-helper-with-ext-source.review",
      "challengeId": "sast.atomic.sast-document-write.button-3-ext-high-runwrite-helper-with-ext-source",
      "variant": "review",
      "title": "EXT (High): runWrite helper with ext source review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/button-3-ext-high-runwrite-helper-with-ext-source/review/"
    },
    {
      "id": "sast.atomic.sast-document-write.button-3-ext-high-runwrite-helper-with-ext-source.repaired",
      "challengeId": "sast.atomic.sast-document-write.button-3-ext-high-runwrite-helper-with-ext-source",
      "variant": "repaired",
      "title": "EXT (High): runWrite helper with ext source repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/button-3-ext-high-runwrite-helper-with-ext-source/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-14-ext-append-text-node.review",
      "challengeId": "sast.atomic.sast-append-child-copy.button-14-ext-append-text-node",
      "variant": "review",
      "title": "EXT: append Text node review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-14-ext-append-text-node/review/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-14-ext-append-text-node.repaired",
      "challengeId": "sast.atomic.sast-append-child-copy.button-14-ext-append-text-node",
      "variant": "repaired",
      "title": "EXT: append Text node repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-14-ext-append-text-node/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-12-ext-decodeuricomponent.review",
      "challengeId": "sast.atomic.sast-append-child-copy.button-12-ext-decodeuricomponent",
      "variant": "review",
      "title": "EXT: decodeURIComponent review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-12-ext-decodeuricomponent/review/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-12-ext-decodeuricomponent.repaired",
      "challengeId": "sast.atomic.sast-append-child-copy.button-12-ext-decodeuricomponent",
      "variant": "repaired",
      "title": "EXT: decodeURIComponent repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-12-ext-decodeuricomponent/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-13-ext-delegated-appendchild.review",
      "challengeId": "sast.atomic.sast-append-child-copy.button-13-ext-delegated-appendchild",
      "variant": "review",
      "title": "EXT: delegated appendChild review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-13-ext-delegated-appendchild/review/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-13-ext-delegated-appendchild.repaired",
      "challengeId": "sast.atomic.sast-append-child-copy.button-13-ext-delegated-appendchild",
      "variant": "repaired",
      "title": "EXT: delegated appendChild repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-13-ext-delegated-appendchild/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-7-ext-document-cookie.review",
      "challengeId": "sast.atomic.sast-append-child-copy.button-7-ext-document-cookie",
      "variant": "review",
      "title": "EXT: document.cookie review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-7-ext-document-cookie/review/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-7-ext-document-cookie.repaired",
      "challengeId": "sast.atomic.sast-append-child-copy.button-7-ext-document-cookie",
      "variant": "repaired",
      "title": "EXT: document.cookie repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-7-ext-document-cookie/fixed/"
    },
    {
      "id": "sast.atomic.sast-eval.button-7-ext-document-cookie.review",
      "challengeId": "sast.atomic.sast-eval.button-7-ext-document-cookie",
      "variant": "review",
      "title": "EXT: document.cookie review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/button-7-ext-document-cookie/review/"
    },
    {
      "id": "sast.atomic.sast-eval.button-7-ext-document-cookie.repaired",
      "challengeId": "sast.atomic.sast-eval.button-7-ext-document-cookie",
      "variant": "repaired",
      "title": "EXT: document.cookie repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/button-7-ext-document-cookie/fixed/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.button-7-ext-document-cookie.review",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.button-7-ext-document-cookie",
      "variant": "review",
      "title": "EXT: document.cookie review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/button-7-ext-document-cookie/review/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.button-7-ext-document-cookie.repaired",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.button-7-ext-document-cookie",
      "variant": "repaired",
      "title": "EXT: document.cookie repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/button-7-ext-document-cookie/fixed/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.button-7-ext-document-cookie.review",
      "challengeId": "sast.atomic.sast-open-redirect.button-7-ext-document-cookie",
      "variant": "review",
      "title": "EXT: document.cookie review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/button-7-ext-document-cookie/review/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.button-7-ext-document-cookie.repaired",
      "challengeId": "sast.atomic.sast-open-redirect.button-7-ext-document-cookie",
      "variant": "repaired",
      "title": "EXT: document.cookie repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/button-7-ext-document-cookie/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-6-ext-document-referrer.review",
      "challengeId": "sast.atomic.sast-append-child-copy.button-6-ext-document-referrer",
      "variant": "review",
      "title": "EXT: document.referrer review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-6-ext-document-referrer/review/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-6-ext-document-referrer.repaired",
      "challengeId": "sast.atomic.sast-append-child-copy.button-6-ext-document-referrer",
      "variant": "repaired",
      "title": "EXT: document.referrer repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-6-ext-document-referrer/fixed/"
    },
    {
      "id": "sast.atomic.sast-eval.button-6-ext-document-referrer.review",
      "challengeId": "sast.atomic.sast-eval.button-6-ext-document-referrer",
      "variant": "review",
      "title": "EXT: document.referrer review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/button-6-ext-document-referrer/review/"
    },
    {
      "id": "sast.atomic.sast-eval.button-6-ext-document-referrer.repaired",
      "challengeId": "sast.atomic.sast-eval.button-6-ext-document-referrer",
      "variant": "repaired",
      "title": "EXT: document.referrer repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/button-6-ext-document-referrer/fixed/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.button-6-ext-document-referrer.review",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.button-6-ext-document-referrer",
      "variant": "review",
      "title": "EXT: document.referrer review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/button-6-ext-document-referrer/review/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.button-6-ext-document-referrer.repaired",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.button-6-ext-document-referrer",
      "variant": "repaired",
      "title": "EXT: document.referrer repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/button-6-ext-document-referrer/fixed/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.button-6-ext-document-referrer.review",
      "challengeId": "sast.atomic.sast-open-redirect.button-6-ext-document-referrer",
      "variant": "review",
      "title": "EXT: document.referrer review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/button-6-ext-document-referrer/review/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.button-6-ext-document-referrer.repaired",
      "challengeId": "sast.atomic.sast-open-redirect.button-6-ext-document-referrer",
      "variant": "repaired",
      "title": "EXT: document.referrer repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/button-6-ext-document-referrer/fixed/"
    },
    {
      "id": "sast.atomic.sast-client-injection.button-1-ext-eval-from-json-parse-no-attributes-high.review",
      "challengeId": "sast.atomic.sast-client-injection.button-1-ext-eval-from-json-parse-no-attributes-high",
      "variant": "review",
      "title": "EXT: eval from JSON.parse (no attributes) - High review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-client-injection/button-1-ext-eval-from-json-parse-no-attributes-high/review/"
    },
    {
      "id": "sast.atomic.sast-client-injection.button-1-ext-eval-from-json-parse-no-attributes-high.repaired",
      "challengeId": "sast.atomic.sast-client-injection.button-1-ext-eval-from-json-parse-no-attributes-high",
      "variant": "repaired",
      "title": "EXT: eval from JSON.parse (no attributes) - High repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-client-injection/button-1-ext-eval-from-json-parse-no-attributes-high/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-selector.button-1-ext-from-cookie-no-attributes-high.review",
      "challengeId": "sast.atomic.sast-dom-selector.button-1-ext-from-cookie-no-attributes-high",
      "variant": "review",
      "title": "EXT: from cookie (no attributes) - High review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-selector/button-1-ext-from-cookie-no-attributes-high/review/"
    },
    {
      "id": "sast.atomic.sast-dom-selector.button-1-ext-from-cookie-no-attributes-high.repaired",
      "challengeId": "sast.atomic.sast-dom-selector.button-1-ext-from-cookie-no-attributes-high",
      "variant": "repaired",
      "title": "EXT: from cookie (no attributes) - High repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-selector/button-1-ext-from-cookie-no-attributes-high/fixed/"
    },
    {
      "id": "sast.atomic.sast-cookie.button-3-ext-from-element-value-high.review",
      "challengeId": "sast.atomic.sast-cookie.button-3-ext-from-element-value-high",
      "variant": "review",
      "title": "EXT: from element.value - High review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-cookie/button-3-ext-from-element-value-high/review/"
    },
    {
      "id": "sast.atomic.sast-cookie.button-3-ext-from-element-value-high.repaired",
      "challengeId": "sast.atomic.sast-cookie.button-3-ext-from-element-value-high",
      "variant": "repaired",
      "title": "EXT: from element.value - High repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-cookie/button-3-ext-from-element-value-high/fixed/"
    },
    {
      "id": "sast.atomic.sast-cookie.button-1-ext-from-hash-no-attributes-high.review",
      "challengeId": "sast.atomic.sast-cookie.button-1-ext-from-hash-no-attributes-high",
      "variant": "review",
      "title": "EXT: from hash (no attributes) - High review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-cookie/button-1-ext-from-hash-no-attributes-high/review/"
    },
    {
      "id": "sast.atomic.sast-cookie.button-1-ext-from-hash-no-attributes-high.repaired",
      "challengeId": "sast.atomic.sast-cookie.button-1-ext-from-hash-no-attributes-high",
      "variant": "repaired",
      "title": "EXT: from hash (no attributes) - High repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-cookie/button-1-ext-from-hash-no-attributes-high/fixed/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.button-3-ext-from-hash-no-attributes-high.review",
      "challengeId": "sast.atomic.sast-function-constructor.button-3-ext-from-hash-no-attributes-high",
      "variant": "review",
      "title": "EXT: from hash (no attributes) - High review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/button-3-ext-from-hash-no-attributes-high/review/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.button-3-ext-from-hash-no-attributes-high.repaired",
      "challengeId": "sast.atomic.sast-function-constructor.button-3-ext-from-hash-no-attributes-high",
      "variant": "repaired",
      "title": "EXT: from hash (no attributes) - High repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/button-3-ext-from-hash-no-attributes-high/fixed/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.button-4-ext-from-hash-no-attributes-high.review",
      "challengeId": "sast.atomic.sast-function-constructor.button-4-ext-from-hash-no-attributes-high",
      "variant": "review",
      "title": "EXT: from hash (no attributes) - High review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/button-4-ext-from-hash-no-attributes-high/review/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.button-4-ext-from-hash-no-attributes-high.repaired",
      "challengeId": "sast.atomic.sast-function-constructor.button-4-ext-from-hash-no-attributes-high",
      "variant": "repaired",
      "title": "EXT: from hash (no attributes) - High repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/button-4-ext-from-hash-no-attributes-high/fixed/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.button-5-ext-from-hash-no-attributes-high.review",
      "challengeId": "sast.atomic.sast-function-constructor.button-5-ext-from-hash-no-attributes-high",
      "variant": "review",
      "title": "EXT: from hash (no attributes) - High review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/button-5-ext-from-hash-no-attributes-high/review/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.button-5-ext-from-hash-no-attributes-high.repaired",
      "challengeId": "sast.atomic.sast-function-constructor.button-5-ext-from-hash-no-attributes-high",
      "variant": "repaired",
      "title": "EXT: from hash (no attributes) - High repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/button-5-ext-from-hash-no-attributes-high/fixed/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.button-6-ext-from-hash-no-attributes-high.review",
      "challengeId": "sast.atomic.sast-function-constructor.button-6-ext-from-hash-no-attributes-high",
      "variant": "review",
      "title": "EXT: from hash (no attributes) - High review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/button-6-ext-from-hash-no-attributes-high/review/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.button-6-ext-from-hash-no-attributes-high.repaired",
      "challengeId": "sast.atomic.sast-function-constructor.button-6-ext-from-hash-no-attributes-high",
      "variant": "repaired",
      "title": "EXT: from hash (no attributes) - High repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/button-6-ext-from-hash-no-attributes-high/fixed/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.button-7-ext-from-hash-no-attributes-high.review",
      "challengeId": "sast.atomic.sast-function-constructor.button-7-ext-from-hash-no-attributes-high",
      "variant": "review",
      "title": "EXT: from hash (no attributes) - High review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/button-7-ext-from-hash-no-attributes-high/review/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.button-7-ext-from-hash-no-attributes-high.repaired",
      "challengeId": "sast.atomic.sast-function-constructor.button-7-ext-from-hash-no-attributes-high",
      "variant": "repaired",
      "title": "EXT: from hash (no attributes) - High repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/button-7-ext-from-hash-no-attributes-high/fixed/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.button-8-ext-from-hash-no-attributes-high.review",
      "challengeId": "sast.atomic.sast-function-constructor.button-8-ext-from-hash-no-attributes-high",
      "variant": "review",
      "title": "EXT: from hash (no attributes) - High review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/button-8-ext-from-hash-no-attributes-high/review/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.button-8-ext-from-hash-no-attributes-high.repaired",
      "challengeId": "sast.atomic.sast-function-constructor.button-8-ext-from-hash-no-attributes-high",
      "variant": "repaired",
      "title": "EXT: from hash (no attributes) - High repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/button-8-ext-from-hash-no-attributes-high/fixed/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.button-9-ext-from-hash-no-attributes-high.review",
      "challengeId": "sast.atomic.sast-function-constructor.button-9-ext-from-hash-no-attributes-high",
      "variant": "review",
      "title": "EXT: from hash (no attributes) - High review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/button-9-ext-from-hash-no-attributes-high/review/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.button-9-ext-from-hash-no-attributes-high.repaired",
      "challengeId": "sast.atomic.sast-function-constructor.button-9-ext-from-hash-no-attributes-high",
      "variant": "repaired",
      "title": "EXT: from hash (no attributes) - High repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/button-9-ext-from-hash-no-attributes-high/fixed/"
    },
    {
      "id": "sast.atomic.sast-cookie.button-2-ext-from-location-search-high.review",
      "challengeId": "sast.atomic.sast-cookie.button-2-ext-from-location-search-high",
      "variant": "review",
      "title": "EXT: from location.search - High review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-cookie/button-2-ext-from-location-search-high/review/"
    },
    {
      "id": "sast.atomic.sast-cookie.button-2-ext-from-location-search-high.repaired",
      "challengeId": "sast.atomic.sast-cookie.button-2-ext-from-location-search-high",
      "variant": "repaired",
      "title": "EXT: from location.search - High repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-cookie/button-2-ext-from-location-search-high/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-8-ext-localstorage.review",
      "challengeId": "sast.atomic.sast-append-child-copy.button-8-ext-localstorage",
      "variant": "review",
      "title": "EXT: localStorage review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-8-ext-localstorage/review/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-8-ext-localstorage.repaired",
      "challengeId": "sast.atomic.sast-append-child-copy.button-8-ext-localstorage",
      "variant": "repaired",
      "title": "EXT: localStorage repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-8-ext-localstorage/fixed/"
    },
    {
      "id": "sast.atomic.sast-eval.button-8-ext-localstorage.review",
      "challengeId": "sast.atomic.sast-eval.button-8-ext-localstorage",
      "variant": "review",
      "title": "EXT: localStorage review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/button-8-ext-localstorage/review/"
    },
    {
      "id": "sast.atomic.sast-eval.button-8-ext-localstorage.repaired",
      "challengeId": "sast.atomic.sast-eval.button-8-ext-localstorage",
      "variant": "repaired",
      "title": "EXT: localStorage repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/button-8-ext-localstorage/fixed/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.button-8-ext-localstorage.review",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.button-8-ext-localstorage",
      "variant": "review",
      "title": "EXT: localStorage review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/button-8-ext-localstorage/review/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.button-8-ext-localstorage.repaired",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.button-8-ext-localstorage",
      "variant": "repaired",
      "title": "EXT: localStorage repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/button-8-ext-localstorage/fixed/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.button-8-ext-localstorage.review",
      "challengeId": "sast.atomic.sast-open-redirect.button-8-ext-localstorage",
      "variant": "review",
      "title": "EXT: localStorage review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/button-8-ext-localstorage/review/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.button-8-ext-localstorage.repaired",
      "challengeId": "sast.atomic.sast-open-redirect.button-8-ext-localstorage",
      "variant": "repaired",
      "title": "EXT: localStorage repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/button-8-ext-localstorage/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-3-ext-location-hash.review",
      "challengeId": "sast.atomic.sast-append-child-copy.button-3-ext-location-hash",
      "variant": "review",
      "title": "EXT: location.hash review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-3-ext-location-hash/review/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-3-ext-location-hash.repaired",
      "challengeId": "sast.atomic.sast-append-child-copy.button-3-ext-location-hash",
      "variant": "repaired",
      "title": "EXT: location.hash repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-3-ext-location-hash/fixed/"
    },
    {
      "id": "sast.atomic.sast-eval.button-3-ext-location-hash.review",
      "challengeId": "sast.atomic.sast-eval.button-3-ext-location-hash",
      "variant": "review",
      "title": "EXT: location.hash review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/button-3-ext-location-hash/review/"
    },
    {
      "id": "sast.atomic.sast-eval.button-3-ext-location-hash.repaired",
      "challengeId": "sast.atomic.sast-eval.button-3-ext-location-hash",
      "variant": "repaired",
      "title": "EXT: location.hash repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/button-3-ext-location-hash/fixed/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.button-3-ext-location-hash.review",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.button-3-ext-location-hash",
      "variant": "review",
      "title": "EXT: location.hash review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/button-3-ext-location-hash/review/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.button-3-ext-location-hash.repaired",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.button-3-ext-location-hash",
      "variant": "repaired",
      "title": "EXT: location.hash repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/button-3-ext-location-hash/fixed/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.button-3-ext-location-hash.review",
      "challengeId": "sast.atomic.sast-open-redirect.button-3-ext-location-hash",
      "variant": "review",
      "title": "EXT: location.hash review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/button-3-ext-location-hash/review/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.button-3-ext-location-hash.repaired",
      "challengeId": "sast.atomic.sast-open-redirect.button-3-ext-location-hash",
      "variant": "repaired",
      "title": "EXT: location.hash repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/button-3-ext-location-hash/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-9-ext-sessionstorage.review",
      "challengeId": "sast.atomic.sast-append-child-copy.button-9-ext-sessionstorage",
      "variant": "review",
      "title": "EXT: sessionStorage review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-9-ext-sessionstorage/review/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-9-ext-sessionstorage.repaired",
      "challengeId": "sast.atomic.sast-append-child-copy.button-9-ext-sessionstorage",
      "variant": "repaired",
      "title": "EXT: sessionStorage repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-9-ext-sessionstorage/fixed/"
    },
    {
      "id": "sast.atomic.sast-eval.button-9-ext-sessionstorage.review",
      "challengeId": "sast.atomic.sast-eval.button-9-ext-sessionstorage",
      "variant": "review",
      "title": "EXT: sessionStorage review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/button-9-ext-sessionstorage/review/"
    },
    {
      "id": "sast.atomic.sast-eval.button-9-ext-sessionstorage.repaired",
      "challengeId": "sast.atomic.sast-eval.button-9-ext-sessionstorage",
      "variant": "repaired",
      "title": "EXT: sessionStorage repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/button-9-ext-sessionstorage/fixed/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.button-9-ext-sessionstorage.review",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.button-9-ext-sessionstorage",
      "variant": "review",
      "title": "EXT: sessionStorage review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/button-9-ext-sessionstorage/review/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.button-9-ext-sessionstorage.repaired",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.button-9-ext-sessionstorage",
      "variant": "repaired",
      "title": "EXT: sessionStorage repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/button-9-ext-sessionstorage/fixed/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.button-9-ext-sessionstorage.review",
      "challengeId": "sast.atomic.sast-open-redirect.button-9-ext-sessionstorage",
      "variant": "review",
      "title": "EXT: sessionStorage review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/button-9-ext-sessionstorage/review/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.button-9-ext-sessionstorage.repaired",
      "challengeId": "sast.atomic.sast-open-redirect.button-9-ext-sessionstorage",
      "variant": "repaired",
      "title": "EXT: sessionStorage repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/button-9-ext-sessionstorage/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-10-ext-template-literal.review",
      "challengeId": "sast.atomic.sast-append-child-copy.button-10-ext-template-literal",
      "variant": "review",
      "title": "EXT: template literal review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-10-ext-template-literal/review/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-10-ext-template-literal.repaired",
      "challengeId": "sast.atomic.sast-append-child-copy.button-10-ext-template-literal",
      "variant": "repaired",
      "title": "EXT: template literal repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-10-ext-template-literal/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-4-ext-urlsearchparams.review",
      "challengeId": "sast.atomic.sast-append-child-copy.button-4-ext-urlsearchparams",
      "variant": "review",
      "title": "EXT: URLSearchParams review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-4-ext-urlsearchparams/review/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-4-ext-urlsearchparams.repaired",
      "challengeId": "sast.atomic.sast-append-child-copy.button-4-ext-urlsearchparams",
      "variant": "repaired",
      "title": "EXT: URLSearchParams repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-4-ext-urlsearchparams/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child.button-4-ext-urlsearchparams.review",
      "challengeId": "sast.atomic.sast-append-child.button-4-ext-urlsearchparams",
      "variant": "review",
      "title": "EXT: URLSearchParams review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child/button-4-ext-urlsearchparams/review/"
    },
    {
      "id": "sast.atomic.sast-append-child.button-4-ext-urlsearchparams.repaired",
      "challengeId": "sast.atomic.sast-append-child.button-4-ext-urlsearchparams",
      "variant": "repaired",
      "title": "EXT: URLSearchParams repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child/button-4-ext-urlsearchparams/fixed/"
    },
    {
      "id": "sast.atomic.sast-eval.button-4-ext-urlsearchparams.review",
      "challengeId": "sast.atomic.sast-eval.button-4-ext-urlsearchparams",
      "variant": "review",
      "title": "EXT: URLSearchParams review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/button-4-ext-urlsearchparams/review/"
    },
    {
      "id": "sast.atomic.sast-eval.button-4-ext-urlsearchparams.repaired",
      "challengeId": "sast.atomic.sast-eval.button-4-ext-urlsearchparams",
      "variant": "repaired",
      "title": "EXT: URLSearchParams repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/button-4-ext-urlsearchparams/fixed/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.button-4-ext-urlsearchparams.review",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.button-4-ext-urlsearchparams",
      "variant": "review",
      "title": "EXT: URLSearchParams review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/button-4-ext-urlsearchparams/review/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.button-4-ext-urlsearchparams.repaired",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.button-4-ext-urlsearchparams",
      "variant": "repaired",
      "title": "EXT: URLSearchParams repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/button-4-ext-urlsearchparams/fixed/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.button-4-ext-urlsearchparams.review",
      "challengeId": "sast.atomic.sast-open-redirect.button-4-ext-urlsearchparams",
      "variant": "review",
      "title": "EXT: URLSearchParams review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/button-4-ext-urlsearchparams/review/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.button-4-ext-urlsearchparams.repaired",
      "challengeId": "sast.atomic.sast-open-redirect.button-4-ext-urlsearchparams",
      "variant": "repaired",
      "title": "EXT: URLSearchParams repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/button-4-ext-urlsearchparams/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-5-ext-window-name.review",
      "challengeId": "sast.atomic.sast-append-child-copy.button-5-ext-window-name",
      "variant": "review",
      "title": "EXT: window.name review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-5-ext-window-name/review/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-5-ext-window-name.repaired",
      "challengeId": "sast.atomic.sast-append-child-copy.button-5-ext-window-name",
      "variant": "repaired",
      "title": "EXT: window.name repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-5-ext-window-name/fixed/"
    },
    {
      "id": "sast.atomic.sast-eval.button-5-ext-window-name.review",
      "challengeId": "sast.atomic.sast-eval.button-5-ext-window-name",
      "variant": "review",
      "title": "EXT: window.name review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/button-5-ext-window-name/review/"
    },
    {
      "id": "sast.atomic.sast-eval.button-5-ext-window-name.repaired",
      "challengeId": "sast.atomic.sast-eval.button-5-ext-window-name",
      "variant": "repaired",
      "title": "EXT: window.name repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/button-5-ext-window-name/fixed/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.button-5-ext-window-name.review",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.button-5-ext-window-name",
      "variant": "review",
      "title": "EXT: window.name review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/button-5-ext-window-name/review/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.button-5-ext-window-name.repaired",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.button-5-ext-window-name",
      "variant": "repaired",
      "title": "EXT: window.name repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/button-5-ext-window-name/fixed/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.button-5-ext-window-name.review",
      "challengeId": "sast.atomic.sast-open-redirect.button-5-ext-window-name",
      "variant": "review",
      "title": "EXT: window.name review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/button-5-ext-window-name/review/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.button-5-ext-window-name.repaired",
      "challengeId": "sast.atomic.sast-open-redirect.button-5-ext-window-name",
      "variant": "repaired",
      "title": "EXT: window.name repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/button-5-ext-window-name/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-11-ext-wrapper-function.review",
      "challengeId": "sast.atomic.sast-append-child-copy.button-11-ext-wrapper-function",
      "variant": "review",
      "title": "EXT: wrapper function review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-11-ext-wrapper-function/review/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.button-11-ext-wrapper-function.repaired",
      "challengeId": "sast.atomic.sast-append-child-copy.button-11-ext-wrapper-function",
      "variant": "repaired",
      "title": "EXT: wrapper function repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/button-11-ext-wrapper-function/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation-copy.external-card-script.review",
      "challengeId": "sast.atomic.sast-dom-data-manipulation-copy.external-card-script",
      "variant": "review",
      "title": "EXTERNAL-1 (High): External JS loads script from tainted destination review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation-copy/external-card-script/review/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation-copy.external-card-script.repaired",
      "challengeId": "sast.atomic.sast-dom-data-manipulation-copy.external-card-script",
      "variant": "repaired",
      "title": "EXTERNAL-1 (High): External JS loads script from tainted destination repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation-copy/external-card-script/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation-copy.external-card-navigation.review",
      "challengeId": "sast.atomic.sast-dom-data-manipulation-copy.external-card-navigation",
      "variant": "review",
      "title": "EXTERNAL-2 (High): External JS rewrites link/form/placeholder review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation-copy/external-card-navigation/review/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation-copy.external-card-navigation.repaired",
      "challengeId": "sast.atomic.sast-dom-data-manipulation-copy.external-card-navigation",
      "variant": "repaired",
      "title": "EXTERNAL-2 (High): External JS rewrites link/form/placeholder repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation-copy/external-card-navigation/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation-copy.external-card-style.review",
      "challengeId": "sast.atomic.sast-dom-data-manipulation-copy.external-card-style",
      "variant": "review",
      "title": "EXTERNAL-3 (Medium): External JS mutates styles + history/title review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation-copy/external-card-style/review/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation-copy.external-card-style.repaired",
      "challengeId": "sast.atomic.sast-dom-data-manipulation-copy.external-card-style",
      "variant": "repaired",
      "title": "EXTERNAL-3 (Medium): External JS mutates styles + history/title repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation-copy/external-card-style/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-fetch-header.review",
      "challengeId": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-fetch-header",
      "variant": "review",
      "title": "fetch headers review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-session-material-cross-boundary-exfiltration/btn-fetch-header/review/"
    },
    {
      "id": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-fetch-header.repaired",
      "challengeId": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-fetch-header",
      "variant": "repaired",
      "title": "fetch headers repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-session-material-cross-boundary-exfiltration/btn-fetch-header/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-backed-request-reuse.btn-fetch-header.review",
      "challengeId": "iast.atomic.iast-iast-storage-backed-request-reuse.btn-fetch-header",
      "variant": "review",
      "title": "fetch with stored Authorization header review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-backed-request-reuse/btn-fetch-header/review/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-backed-request-reuse.btn-fetch-header.repaired",
      "challengeId": "iast.atomic.iast-iast-storage-backed-request-reuse.btn-fetch-header",
      "variant": "repaired",
      "title": "fetch with stored Authorization header repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-backed-request-reuse/btn-fetch-header/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-backed-request-reuse.btn-fetch-url.review",
      "challengeId": "iast.atomic.iast-iast-storage-backed-request-reuse.btn-fetch-url",
      "variant": "review",
      "title": "fetch(storedUrl) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-backed-request-reuse/btn-fetch-url/review/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-backed-request-reuse.btn-fetch-url.repaired",
      "challengeId": "iast.atomic.iast-iast-storage-backed-request-reuse.btn-fetch-url",
      "variant": "repaired",
      "title": "fetch(storedUrl) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-backed-request-reuse/btn-fetch-url/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-client-http-exfiltration.btn-fetch-headers.review",
      "challengeId": "iast.atomic.iast-iast-client-http-exfiltration.btn-fetch-headers",
      "variant": "review",
      "title": "fetch(url, { headers }) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-http-exfiltration/btn-fetch-headers/review/"
    },
    {
      "id": "iast.atomic.iast-iast-client-http-exfiltration.btn-fetch-headers.repaired",
      "challengeId": "iast.atomic.iast-iast-client-http-exfiltration.btn-fetch-headers",
      "variant": "repaired",
      "title": "fetch(url, { headers }) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-http-exfiltration/btn-fetch-headers/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-client-http-exfiltration.btn-fetch-body.review",
      "challengeId": "iast.atomic.iast-iast-client-http-exfiltration.btn-fetch-body",
      "variant": "review",
      "title": "fetch(url, { method: 'POST', body }) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-http-exfiltration/btn-fetch-body/review/"
    },
    {
      "id": "iast.atomic.iast-iast-client-http-exfiltration.btn-fetch-body.repaired",
      "challengeId": "iast.atomic.iast-iast-client-http-exfiltration.btn-fetch-body",
      "variant": "repaired",
      "title": "fetch(url, { method: 'POST', body }) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-http-exfiltration/btn-fetch-body/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-client-http-exfiltration.btn-fetch-url.review",
      "challengeId": "iast.atomic.iast-iast-client-http-exfiltration.btn-fetch-url",
      "variant": "review",
      "title": "fetch(url) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-http-exfiltration/btn-fetch-url/review/"
    },
    {
      "id": "iast.atomic.iast-iast-client-http-exfiltration.btn-fetch-url.repaired",
      "challengeId": "iast.atomic.iast-iast-client-http-exfiltration.btn-fetch-url",
      "variant": "repaired",
      "title": "fetch(url) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-http-exfiltration/btn-fetch-url/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submission-hijack.btn-data-action.review",
      "challengeId": "iast.atomic.iast-iast-form-submission-hijack.btn-data-action",
      "variant": "review",
      "title": "form.action = data:payload review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submission-hijack/btn-data-action/review/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submission-hijack.btn-data-action.repaired",
      "challengeId": "iast.atomic.iast-iast-form-submission-hijack.btn-data-action",
      "variant": "repaired",
      "title": "form.action = data:payload repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submission-hijack/btn-data-action/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submission-hijack.btn-js-action.review",
      "challengeId": "iast.atomic.iast-iast-form-submission-hijack.btn-js-action",
      "variant": "review",
      "title": "form.action = javascript:payload review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submission-hijack/btn-js-action/review/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submission-hijack.btn-js-action.repaired",
      "challengeId": "iast.atomic.iast-iast-form-submission-hijack.btn-js-action",
      "variant": "repaired",
      "title": "form.action = javascript:payload repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submission-hijack/btn-js-action/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-attr-action.review",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-attr-action",
      "variant": "review",
      "title": "form.action = payload review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-attr-action/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-attr-action.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-attr-action",
      "variant": "repaired",
      "title": "form.action = payload repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-attr-action/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submission-hijack.btn-action.review",
      "challengeId": "iast.atomic.iast-iast-form-submission-hijack.btn-action",
      "variant": "review",
      "title": "form.action = payload review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submission-hijack/btn-action/review/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submission-hijack.btn-action.repaired",
      "challengeId": "iast.atomic.iast-iast-form-submission-hijack.btn-action",
      "variant": "repaired",
      "title": "form.action = payload repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submission-hijack/btn-action/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-open-redirect.btn-action.review",
      "challengeId": "iast.atomic.iast-iast-open-redirect.btn-action",
      "variant": "review",
      "title": "form.action = payload review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-open-redirect/btn-action/review/"
    },
    {
      "id": "iast.atomic.iast-iast-open-redirect.btn-action.repaired",
      "challengeId": "iast.atomic.iast-iast-open-redirect.btn-action",
      "variant": "repaired",
      "title": "form.action = payload repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-open-redirect/btn-action/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-js-execution.btn-apply.review",
      "challengeId": "iast.atomic.iast-iast-js-execution.btn-apply",
      "variant": "review",
      "title": "Function.apply(null, [payload]) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-js-execution/btn-apply/review/"
    },
    {
      "id": "iast.atomic.iast-iast-js-execution.btn-apply.repaired",
      "challengeId": "iast.atomic.iast-iast-js-execution.btn-apply",
      "variant": "repaired",
      "title": "Function.apply(null, [payload]) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-js-execution/btn-apply/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-taint-to-exec.btn-apply.review",
      "challengeId": "iast.atomic.iast-iast-storage-taint-to-exec.btn-apply",
      "variant": "review",
      "title": "Function(payload).apply(window) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-taint-to-exec/btn-apply/review/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-taint-to-exec.btn-apply.repaired",
      "challengeId": "iast.atomic.iast-iast-storage-taint-to-exec.btn-apply",
      "variant": "repaired",
      "title": "Function(payload).apply(window) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-taint-to-exec/btn-apply/fixed/"
    },
    {
      "id": "sast.hash-html-rendering",
      "challengeId": "hash-html-rendering",
      "variant": "review",
      "title": "Hash to HTML rendering",
      "engines": [
        "SAST"
      ],
      "route": "./sast/cases/dom_xss_hash_innerhtml_vulnerable.html"
    },
    {
      "id": "sast.hash-text-rendering-control",
      "challengeId": "hash-html-rendering",
      "variant": "repaired",
      "title": "Hash to text rendering control",
      "engines": [
        "SAST"
      ],
      "route": "./sast/cases/dom_xss_hash_textcontent_safe.html"
    },
    {
      "id": "iast.atomic.iast-iast-route-controlled-navigation.btn-push.review",
      "challengeId": "iast.atomic.iast-iast-route-controlled-navigation.btn-push",
      "variant": "review",
      "title": "history.pushState review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-route-controlled-navigation/btn-push/review/"
    },
    {
      "id": "iast.atomic.iast-iast-route-controlled-navigation.btn-push.repaired",
      "challengeId": "iast.atomic.iast-iast-route-controlled-navigation.btn-push",
      "variant": "repaired",
      "title": "history.pushState repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-route-controlled-navigation/btn-push/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-pushstate.review",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-pushstate",
      "variant": "review",
      "title": "history.pushState(null, '', payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-pushstate/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-pushstate.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-pushstate",
      "variant": "repaired",
      "title": "history.pushState(null, '', payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-pushstate/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-route-controlled-navigation.btn-replace.review",
      "challengeId": "iast.atomic.iast-iast-route-controlled-navigation.btn-replace",
      "variant": "review",
      "title": "history.replaceState review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-route-controlled-navigation/btn-replace/review/"
    },
    {
      "id": "iast.atomic.iast-iast-route-controlled-navigation.btn-replace.repaired",
      "challengeId": "iast.atomic.iast-iast-route-controlled-navigation.btn-replace",
      "variant": "repaired",
      "title": "history.replaceState repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-route-controlled-navigation/btn-replace/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-replacestate.review",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-replacestate",
      "variant": "review",
      "title": "history.replaceState(null, '', payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-replacestate/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-replacestate.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-replacestate",
      "variant": "repaired",
      "title": "history.replaceState(null, '', payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-replacestate/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-iframe-navigation.btn-src.review",
      "challengeId": "iast.atomic.iast-iast-iframe-navigation.btn-src",
      "variant": "review",
      "title": "iframe.src = URL review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-iframe-navigation/btn-src/review/"
    },
    {
      "id": "iast.atomic.iast-iast-iframe-navigation.btn-src.repaired",
      "challengeId": "iast.atomic.iast-iast-iframe-navigation.btn-src",
      "variant": "repaired",
      "title": "iframe.src = URL repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-iframe-navigation/btn-src/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-iframe-navigation.btn-srcdoc.review",
      "challengeId": "iast.atomic.iast-iast-iframe-navigation.btn-srcdoc",
      "variant": "review",
      "title": "iframe.srcdoc = HTML review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-iframe-navigation/btn-srcdoc/review/"
    },
    {
      "id": "iast.atomic.iast-iast-iframe-navigation.btn-srcdoc.repaired",
      "challengeId": "iast.atomic.iast-iast-iframe-navigation.btn-srcdoc",
      "variant": "repaired",
      "title": "iframe.srcdoc = HTML repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-iframe-navigation/btn-srcdoc/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-srcdoc.review",
      "challengeId": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-srcdoc",
      "variant": "review",
      "title": "iframe.srcdoc = payload review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss-secondary-sources/btn-srcdoc/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-srcdoc.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-srcdoc",
      "variant": "repaired",
      "title": "iframe.srcdoc = payload repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss-secondary-sources/btn-srcdoc/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-image.review",
      "challengeId": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-image",
      "variant": "review",
      "title": "image beacon review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-session-material-cross-boundary-exfiltration/btn-image/review/"
    },
    {
      "id": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-image.repaired",
      "challengeId": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-image",
      "variant": "repaired",
      "title": "image beacon repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-session-material-cross-boundary-exfiltration/btn-image/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-client-http-exfiltration.btn-image.review",
      "challengeId": "iast.atomic.iast-iast-client-http-exfiltration.btn-image",
      "variant": "review",
      "title": "image.src = url review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-http-exfiltration/btn-image/review/"
    },
    {
      "id": "iast.atomic.iast-iast-client-http-exfiltration.btn-image.repaired",
      "challengeId": "iast.atomic.iast-iast-client-http-exfiltration.btn-image",
      "variant": "repaired",
      "title": "image.src = url repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-http-exfiltration/btn-image/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-indexeddb-cache-storage.btn-idb-eval.review",
      "challengeId": "iast.atomic.iast-iast-indexeddb-cache-storage.btn-idb-eval",
      "variant": "review",
      "title": "IndexedDB get() → eval() review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-indexeddb-cache-storage/btn-idb-eval/review/"
    },
    {
      "id": "iast.atomic.iast-iast-indexeddb-cache-storage.btn-idb-eval.repaired",
      "challengeId": "iast.atomic.iast-iast-indexeddb-cache-storage.btn-idb-eval",
      "variant": "repaired",
      "title": "IndexedDB get() → eval() repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-indexeddb-cache-storage/btn-idb-eval/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-indexeddb-cache-storage.btn-idb-put.review",
      "challengeId": "iast.atomic.iast-iast-indexeddb-cache-storage.btn-idb-put",
      "variant": "review",
      "title": "IndexedDB put() review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-indexeddb-cache-storage/btn-idb-put/review/"
    },
    {
      "id": "iast.atomic.iast-iast-indexeddb-cache-storage.btn-idb-put.repaired",
      "challengeId": "iast.atomic.iast-iast-indexeddb-cache-storage.btn-idb-put",
      "variant": "repaired",
      "title": "IndexedDB put() repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-indexeddb-cache-storage/btn-idb-put/fixed/"
    },
    {
      "id": "sast.atomic.sast-inner-html.il-1.review",
      "challengeId": "sast.atomic.sast-inner-html.il-1",
      "variant": "review",
      "title": "INLINE-1 (High): Auto-run from query/hash into innerHTML review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-inner-html/il-1/review/"
    },
    {
      "id": "sast.atomic.sast-inner-html.il-1.repaired",
      "challengeId": "sast.atomic.sast-inner-html.il-1",
      "variant": "repaired",
      "title": "INLINE-1 (High): Auto-run from query/hash into innerHTML repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-inner-html/il-1/fixed/"
    },
    {
      "id": "sast.atomic.sast-eval.il-1.review",
      "challengeId": "sast.atomic.sast-eval.il-1",
      "variant": "review",
      "title": "INLINE-1 (High): Direct hash → eval() review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/il-1/review/"
    },
    {
      "id": "sast.atomic.sast-eval.il-1.repaired",
      "challengeId": "sast.atomic.sast-eval.il-1",
      "variant": "repaired",
      "title": "INLINE-1 (High): Direct hash → eval() repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/il-1/fixed/"
    },
    {
      "id": "sast.atomic.sast-document-write.il-1.review",
      "challengeId": "sast.atomic.sast-document-write.il-1",
      "variant": "review",
      "title": "INLINE-1 (High): direct hash → write (vuln) review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/il-1/review/"
    },
    {
      "id": "sast.atomic.sast-document-write.il-1.repaired",
      "challengeId": "sast.atomic.sast-document-write.il-1",
      "variant": "repaired",
      "title": "INLINE-1 (High): direct hash → write (vuln) repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/il-1/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation.inline-card-forms.review",
      "challengeId": "sast.atomic.sast-dom-data-manipulation.inline-card-forms",
      "variant": "review",
      "title": "INLINE-1 (High): DOM/storage → form metadata/value/placeholder review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation/inline-card-forms/review/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation.inline-card-forms.repaired",
      "challengeId": "sast.atomic.sast-dom-data-manipulation.inline-card-forms",
      "variant": "repaired",
      "title": "INLINE-1 (High): DOM/storage → form metadata/value/placeholder repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation/inline-card-forms/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-script.review",
      "challengeId": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-script",
      "variant": "review",
      "title": "INLINE-1 (High): Hash/query → script src/text review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation-copy/inline-card-script/review/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-script.repaired",
      "challengeId": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-script",
      "variant": "repaired",
      "title": "INLINE-1 (High): Hash/query → script src/text repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation-copy/inline-card-script/fixed/"
    },
    {
      "id": "sast.atomic.sast-link-manipulation.il-1.review",
      "challengeId": "sast.atomic.sast-link-manipulation.il-1",
      "variant": "review",
      "title": "INLINE-1 (High): href review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-link-manipulation/il-1/review/"
    },
    {
      "id": "sast.atomic.sast-link-manipulation.il-1.repaired",
      "challengeId": "sast.atomic.sast-link-manipulation.il-1",
      "variant": "repaired",
      "title": "INLINE-1 (High): href repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-link-manipulation/il-1/fixed/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.il-1.review",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.il-1",
      "variant": "review",
      "title": "INLINE-1 (High): Query / hash → insertAdjacentHTML review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/il-1/review/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.il-1.repaired",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.il-1",
      "variant": "repaired",
      "title": "INLINE-1 (High): Query / hash → insertAdjacentHTML repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/il-1/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.il-1.review",
      "challengeId": "sast.atomic.sast-append-child-copy.il-1",
      "variant": "review",
      "title": "INLINE-1 (High): Query/hash → appendChild review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/il-1/review/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.il-1.repaired",
      "challengeId": "sast.atomic.sast-append-child-copy.il-1",
      "variant": "repaired",
      "title": "INLINE-1 (High): Query/hash → appendChild repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/il-1/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child.il-1.review",
      "challengeId": "sast.atomic.sast-append-child.il-1",
      "variant": "review",
      "title": "INLINE-1 (High): Query/hash → appendChild review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child/il-1/review/"
    },
    {
      "id": "sast.atomic.sast-append-child.il-1.repaired",
      "challengeId": "sast.atomic.sast-append-child.il-1",
      "variant": "repaired",
      "title": "INLINE-1 (High): Query/hash → appendChild repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child/il-1/fixed/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.il-1.review",
      "challengeId": "sast.atomic.sast-function-constructor.il-1",
      "variant": "review",
      "title": "INLINE-1 (High): Query/hash → new Function() review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/il-1/review/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.il-1.repaired",
      "challengeId": "sast.atomic.sast-function-constructor.il-1",
      "variant": "repaired",
      "title": "INLINE-1 (High): Query/hash → new Function() repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/il-1/fixed/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.il-1.review",
      "challengeId": "sast.atomic.sast-open-redirect.il-1",
      "variant": "review",
      "title": "INLINE-1 (High): Query/hash → openRedirectSink review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/il-1/review/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.il-1.repaired",
      "challengeId": "sast.atomic.sast-open-redirect.il-1",
      "variant": "repaired",
      "title": "INLINE-1 (High): Query/hash → openRedirectSink repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/il-1/fixed/"
    },
    {
      "id": "sast.atomic.sast-document-write.il-2.review",
      "challengeId": "sast.atomic.sast-document-write.il-2",
      "variant": "review",
      "title": "INLINE-2 (High): decoded hash → write (vuln) review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/il-2/review/"
    },
    {
      "id": "sast.atomic.sast-document-write.il-2.repaired",
      "challengeId": "sast.atomic.sast-document-write.il-2",
      "variant": "repaired",
      "title": "INLINE-2 (High): decoded hash → write (vuln) repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/il-2/fixed/"
    },
    {
      "id": "sast.atomic.sast-inner-html.il-2.review",
      "challengeId": "sast.atomic.sast-inner-html.il-2",
      "variant": "review",
      "title": "INLINE-2 (High): Direct field content → innerHTML review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-inner-html/il-2/review/"
    },
    {
      "id": "sast.atomic.sast-inner-html.il-2.repaired",
      "challengeId": "sast.atomic.sast-inner-html.il-2",
      "variant": "repaired",
      "title": "INLINE-2 (High): Direct field content → innerHTML repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-inner-html/il-2/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-navigation.review",
      "challengeId": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-navigation",
      "variant": "review",
      "title": "INLINE-2 (High): DOM sources → link/form/placeholder review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation-copy/inline-card-navigation/review/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-navigation.repaired",
      "challengeId": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-navigation",
      "variant": "repaired",
      "title": "INLINE-2 (High): DOM sources → link/form/placeholder repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation-copy/inline-card-navigation/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.il-2.review",
      "challengeId": "sast.atomic.sast-append-child-copy.il-2",
      "variant": "review",
      "title": "INLINE-2 (High): Field → appendChild review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/il-2/review/"
    },
    {
      "id": "sast.atomic.sast-append-child-copy.il-2.repaired",
      "challengeId": "sast.atomic.sast-append-child-copy.il-2",
      "variant": "repaired",
      "title": "INLINE-2 (High): Field → appendChild repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child-copy/il-2/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child.append-inline-2.review",
      "challengeId": "sast.atomic.sast-append-child.append-inline-2",
      "variant": "review",
      "title": "INLINE-2 (High): Field → appendChild review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child/append-inline-2/review/"
    },
    {
      "id": "sast.atomic.sast-append-child.append-inline-2.repaired",
      "challengeId": "sast.atomic.sast-append-child.append-inline-2",
      "variant": "repaired",
      "title": "INLINE-2 (High): Field → appendChild repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child/append-inline-2/fixed/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.il-2.review",
      "challengeId": "sast.atomic.sast-open-redirect.il-2",
      "variant": "review",
      "title": "INLINE-2 (High): Field → openRedirectSink review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/il-2/review/"
    },
    {
      "id": "sast.atomic.sast-open-redirect.il-2.repaired",
      "challengeId": "sast.atomic.sast-open-redirect.il-2",
      "variant": "repaired",
      "title": "INLINE-2 (High): Field → openRedirectSink repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-open-redirect/il-2/fixed/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.il-2.review",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.il-2",
      "variant": "review",
      "title": "INLINE-2 (High): Field value → insertAdjacentHTML review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/il-2/review/"
    },
    {
      "id": "sast.atomic.sast-insert-adjacent-html.il-2.repaired",
      "challengeId": "sast.atomic.sast-insert-adjacent-html.il-2",
      "variant": "repaired",
      "title": "INLINE-2 (High): Field value → insertAdjacentHTML repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-insert-adjacent-html/il-2/fixed/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.il-2.review",
      "challengeId": "sast.atomic.sast-function-constructor.il-2",
      "variant": "review",
      "title": "INLINE-2 (High): Field value → new Function() review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/il-2/review/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.il-2.repaired",
      "challengeId": "sast.atomic.sast-function-constructor.il-2",
      "variant": "repaired",
      "title": "INLINE-2 (High): Field value → new Function() repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/il-2/fixed/"
    },
    {
      "id": "sast.atomic.sast-eval.il-5.review",
      "challengeId": "sast.atomic.sast-eval.il-5",
      "variant": "review",
      "title": "INLINE-2 (High): Query param payload review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/il-5/review/"
    },
    {
      "id": "sast.atomic.sast-eval.il-5.repaired",
      "challengeId": "sast.atomic.sast-eval.il-5",
      "variant": "repaired",
      "title": "INLINE-2 (High): Query param payload repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/il-5/fixed/"
    },
    {
      "id": "sast.atomic.sast-link-manipulation.il-2.review",
      "challengeId": "sast.atomic.sast-link-manipulation.il-2",
      "variant": "review",
      "title": "INLINE-2 (High): Query parameter appended without validation review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-link-manipulation/il-2/review/"
    },
    {
      "id": "sast.atomic.sast-link-manipulation.il-2.repaired",
      "challengeId": "sast.atomic.sast-link-manipulation.il-2",
      "variant": "repaired",
      "title": "INLINE-2 (High): Query parameter appended without validation repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-link-manipulation/il-2/fixed/"
    },
    {
      "id": "sast.atomic.sast-cookie.il-2.review",
      "challengeId": "sast.atomic.sast-cookie.il-2",
      "variant": "review",
      "title": "INLINE-2 (High): Set cookie from location.search review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-cookie/il-2/review/"
    },
    {
      "id": "sast.atomic.sast-cookie.il-2.repaired",
      "challengeId": "sast.atomic.sast-cookie.il-2",
      "variant": "repaired",
      "title": "INLINE-2 (High): Set cookie from location.search repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-cookie/il-2/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation.inline-card-style.review",
      "challengeId": "sast.atomic.sast-dom-data-manipulation.inline-card-style",
      "variant": "review",
      "title": "INLINE-2 (Medium): localStorage/hash → style review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation/inline-card-style/review/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation.inline-card-style.repaired",
      "challengeId": "sast.atomic.sast-dom-data-manipulation.inline-card-style",
      "variant": "repaired",
      "title": "INLINE-2 (Medium): localStorage/hash → style repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation/inline-card-style/fixed/"
    },
    {
      "id": "sast.atomic.sast-document-write.il-3.review",
      "challengeId": "sast.atomic.sast-document-write.il-3",
      "variant": "review",
      "title": "INLINE-3 (High): aliasing from query → writeln (vuln) review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/il-3/review/"
    },
    {
      "id": "sast.atomic.sast-document-write.il-3.repaired",
      "challengeId": "sast.atomic.sast-document-write.il-3",
      "variant": "repaired",
      "title": "INLINE-3 (High): aliasing from query → writeln (vuln) repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/il-3/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation.inline-card-history.review",
      "challengeId": "sast.atomic.sast-dom-data-manipulation.inline-card-history",
      "variant": "review",
      "title": "INLINE-3 (High): Cookies/hash → history/title/ createHTMLDocument review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation/inline-card-history/review/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation.inline-card-history.repaired",
      "challengeId": "sast.atomic.sast-dom-data-manipulation.inline-card-history",
      "variant": "repaired",
      "title": "INLINE-3 (High): Cookies/hash → history/title/ createHTMLDocument repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation/inline-card-history/fixed/"
    },
    {
      "id": "sast.atomic.sast-cookie.il-3.review",
      "challengeId": "sast.atomic.sast-cookie.il-3",
      "variant": "review",
      "title": "INLINE-3 (High): External source and inline sink review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-cookie/il-3/review/"
    },
    {
      "id": "sast.atomic.sast-cookie.il-3.repaired",
      "challengeId": "sast.atomic.sast-cookie.il-3",
      "variant": "repaired",
      "title": "INLINE-3 (High): External source and inline sink repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-cookie/il-3/fixed/"
    },
    {
      "id": "sast.atomic.sast-link-manipulation.il-3.review",
      "challengeId": "sast.atomic.sast-link-manipulation.il-3",
      "variant": "review",
      "title": "INLINE-3 (High): Form action review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-link-manipulation/il-3/review/"
    },
    {
      "id": "sast.atomic.sast-link-manipulation.il-3.repaired",
      "challengeId": "sast.atomic.sast-link-manipulation.il-3",
      "variant": "repaired",
      "title": "INLINE-3 (High): Form action repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-link-manipulation/il-3/fixed/"
    },
    {
      "id": "sast.atomic.sast-append-child.append-inline-3.review",
      "challengeId": "sast.atomic.sast-append-child.append-inline-3",
      "variant": "review",
      "title": "INLINE-3 (High): jQuery → append review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child/append-inline-3/review/"
    },
    {
      "id": "sast.atomic.sast-append-child.append-inline-3.repaired",
      "challengeId": "sast.atomic.sast-append-child.append-inline-3",
      "variant": "repaired",
      "title": "INLINE-3 (High): jQuery → append repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-append-child/append-inline-3/fixed/"
    },
    {
      "id": "sast.atomic.sast-eval.il-3.review",
      "challengeId": "sast.atomic.sast-eval.il-3",
      "variant": "review",
      "title": "INLINE-3 (High): User-provided field → eval() review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/il-3/review/"
    },
    {
      "id": "sast.atomic.sast-eval.il-3.repaired",
      "challengeId": "sast.atomic.sast-eval.il-3",
      "variant": "repaired",
      "title": "INLINE-3 (High): User-provided field → eval() repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/il-3/fixed/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.il-3.review",
      "challengeId": "sast.atomic.sast-function-constructor.il-3",
      "variant": "review",
      "title": "INLINE-3 (High):location.hash review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/il-3/review/"
    },
    {
      "id": "sast.atomic.sast-function-constructor.il-3.repaired",
      "challengeId": "sast.atomic.sast-function-constructor.il-3",
      "variant": "repaired",
      "title": "INLINE-3 (High):location.hash repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-function-constructor/il-3/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-style.review",
      "challengeId": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-style",
      "variant": "review",
      "title": "INLINE-3 (Medium): localStorage → style review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation-copy/inline-card-style/review/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-style.repaired",
      "challengeId": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-style",
      "variant": "repaired",
      "title": "INLINE-3 (Medium): localStorage → style repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation-copy/inline-card-style/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-history.review",
      "challengeId": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-history",
      "variant": "review",
      "title": "INLINE-4 (High): Cookies/hash → history/title/location review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation-copy/inline-card-history/review/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-history.repaired",
      "challengeId": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-history",
      "variant": "repaired",
      "title": "INLINE-4 (High): Cookies/hash → history/title/location repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation-copy/inline-card-history/fixed/"
    },
    {
      "id": "sast.atomic.sast-inner-html.il-4.review",
      "challengeId": "sast.atomic.sast-inner-html.il-4",
      "variant": "review",
      "title": "INLINE-4 (High): Direct field content → innerHTML review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-inner-html/il-4/review/"
    },
    {
      "id": "sast.atomic.sast-inner-html.il-4.repaired",
      "challengeId": "sast.atomic.sast-inner-html.il-4",
      "variant": "repaired",
      "title": "INLINE-4 (High): Direct field content → innerHTML repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-inner-html/il-4/fixed/"
    },
    {
      "id": "sast.atomic.sast-cookie.il-4.review",
      "challengeId": "sast.atomic.sast-cookie.il-4",
      "variant": "review",
      "title": "INLINE-4 (High): External source and external sink review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-cookie/il-4/review/"
    },
    {
      "id": "sast.atomic.sast-cookie.il-4.repaired",
      "challengeId": "sast.atomic.sast-cookie.il-4",
      "variant": "repaired",
      "title": "INLINE-4 (High): External source and external sink repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-cookie/il-4/fixed/"
    },
    {
      "id": "sast.atomic.sast-document-write.il-4.review",
      "challengeId": "sast.atomic.sast-document-write.il-4",
      "variant": "review",
      "title": "INLINE-4 (High): helper propagator (vuln) review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/il-4/review/"
    },
    {
      "id": "sast.atomic.sast-document-write.il-4.repaired",
      "challengeId": "sast.atomic.sast-document-write.il-4",
      "variant": "repaired",
      "title": "INLINE-4 (High): helper propagator (vuln) repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/il-4/fixed/"
    },
    {
      "id": "sast.atomic.sast-test.il-4.review",
      "challengeId": "sast.atomic.sast-test.il-4",
      "variant": "review",
      "title": "INLINE-4 (Medium): External source and external sink review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-test/il-4/review/"
    },
    {
      "id": "sast.atomic.sast-test.il-4.repaired",
      "challengeId": "sast.atomic.sast-test.il-4",
      "variant": "repaired",
      "title": "INLINE-4 (Medium): External source and external sink repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-test/il-4/fixed/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-html.review",
      "challengeId": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-html",
      "variant": "review",
      "title": "INLINE-5 (High): Hash/localStorage → innerHTML/outerHTML/inline handler review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation-copy/inline-card-html/review/"
    },
    {
      "id": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-html.repaired",
      "challengeId": "sast.atomic.sast-dom-data-manipulation-copy.inline-card-html",
      "variant": "repaired",
      "title": "INLINE-5 (High): Hash/localStorage → innerHTML/outerHTML/inline handler repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-dom-data-manipulation-copy/inline-card-html/fixed/"
    },
    {
      "id": "sast.atomic.sast-eval.il-2.review",
      "challengeId": "sast.atomic.sast-eval.il-2",
      "variant": "review",
      "title": "INLINE-5 (High): Query param payload review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/il-2/review/"
    },
    {
      "id": "sast.atomic.sast-eval.il-2.repaired",
      "challengeId": "sast.atomic.sast-eval.il-2",
      "variant": "repaired",
      "title": "INLINE-5 (High): Query param payload repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-eval/il-2/fixed/"
    },
    {
      "id": "sast.atomic.sast-document-write.il-7.review",
      "challengeId": "sast.atomic.sast-document-write.il-7",
      "variant": "review",
      "title": "INLINE-6 (High): concat + template literal (vuln) review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/il-7/review/"
    },
    {
      "id": "sast.atomic.sast-document-write.il-7.repaired",
      "challengeId": "sast.atomic.sast-document-write.il-7",
      "variant": "repaired",
      "title": "INLINE-6 (High): concat + template literal (vuln) repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/il-7/fixed/"
    },
    {
      "id": "sast.atomic.sast-document-write.il-8.review",
      "challengeId": "sast.atomic.sast-document-write.il-8",
      "variant": "review",
      "title": "INLINE-7 (High): string-eval → write (vuln) — click to run review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/il-8/review/"
    },
    {
      "id": "sast.atomic.sast-document-write.il-8.repaired",
      "challengeId": "sast.atomic.sast-document-write.il-8",
      "variant": "repaired",
      "title": "INLINE-7 (High): string-eval → write (vuln) — click to run repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/il-8/fixed/"
    },
    {
      "id": "sast.atomic.sast-document-write.il-9.review",
      "challengeId": "sast.atomic.sast-document-write.il-9",
      "variant": "review",
      "title": "INLINE-8(High): document.addEventListener with extWriteFromInput review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/il-9/review/"
    },
    {
      "id": "sast.atomic.sast-document-write.il-9.repaired",
      "challengeId": "sast.atomic.sast-document-write.il-9",
      "variant": "repaired",
      "title": "INLINE-8(High): document.addEventListener with extWriteFromInput repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-document-write/il-9/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-inner.review",
      "challengeId": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-inner",
      "variant": "review",
      "title": "innerHTML review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss-secondary-sources/btn-inner/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-inner.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-inner",
      "variant": "repaired",
      "title": "innerHTML repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss-secondary-sources/btn-inner/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-adjacent.review",
      "challengeId": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-adjacent",
      "variant": "review",
      "title": "insertAdjacentHTML review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss-secondary-sources/btn-adjacent/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-adjacent.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-adjacent",
      "variant": "repaired",
      "title": "insertAdjacentHTML repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss-secondary-sources/btn-adjacent/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss.insertadjacenthtml.review",
      "challengeId": "iast.atomic.iast-iast-dom-xss.insertadjacenthtml",
      "variant": "review",
      "title": "insertAdjacentHTML from selected source review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss/insertadjacenthtml/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss.insertadjacenthtml.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-xss.insertadjacenthtml",
      "variant": "repaired",
      "title": "insertAdjacentHTML from selected source repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss/insertadjacenthtml/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-runtime.button-3-javascript-url.review",
      "challengeId": "iast.atomic.iast-iast-runtime.button-3-javascript-url",
      "variant": "review",
      "title": "javascript: URL review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-runtime/button-3-javascript-url/review/"
    },
    {
      "id": "iast.atomic.iast-iast-runtime.button-3-javascript-url.repaired",
      "challengeId": "iast.atomic.iast-iast-runtime.button-3-javascript-url",
      "variant": "repaired",
      "title": "javascript: URL repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-runtime/button-3-javascript-url/fixed/"
    },
    {
      "id": "sast.atomic.sast-link-manipulation.jq-1.review",
      "challengeId": "sast.atomic.sast-link-manipulation.jq-1",
      "variant": "review",
      "title": "JQUERY-1 (High): jQuery attr() review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-link-manipulation/jq-1/review/"
    },
    {
      "id": "sast.atomic.sast-link-manipulation.jq-1.repaired",
      "challengeId": "sast.atomic.sast-link-manipulation.jq-1",
      "variant": "repaired",
      "title": "JQUERY-1 (High): jQuery attr() repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-link-manipulation/jq-1/fixed/"
    },
    {
      "id": "sast.atomic.sast-javascript-injection-taint.jsi-timer.review",
      "challengeId": "sast.atomic.sast-javascript-injection-taint.jsi-timer",
      "variant": "review",
      "title": "JSI-H1 (High): Hash/query → string timer ( eval:constructor review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-javascript-injection-taint/jsi-timer/review/"
    },
    {
      "id": "sast.atomic.sast-javascript-injection-taint.jsi-timer.repaired",
      "challengeId": "sast.atomic.sast-javascript-injection-taint.jsi-timer",
      "variant": "repaired",
      "title": "JSI-H1 (High): Hash/query → string timer ( eval:constructor repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-javascript-injection-taint/jsi-timer/fixed/"
    },
    {
      "id": "sast.atomic.sast-javascript-injection-taint.jsi-execscript.review",
      "challengeId": "sast.atomic.sast-javascript-injection-taint.jsi-execscript",
      "variant": "review",
      "title": "JSI-H2 (High): Input/sessionStorage → window.execScript review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-javascript-injection-taint/jsi-execscript/review/"
    },
    {
      "id": "sast.atomic.sast-javascript-injection-taint.jsi-execscript.repaired",
      "challengeId": "sast.atomic.sast-javascript-injection-taint.jsi-execscript",
      "variant": "repaired",
      "title": "JSI-H2 (High): Input/sessionStorage → window.execScript repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-javascript-injection-taint/jsi-execscript/fixed/"
    },
    {
      "id": "sast.atomic.sast-javascript-injection-taint.jsi-jquery.review",
      "challengeId": "sast.atomic.sast-javascript-injection-taint.jsi-jquery",
      "variant": "review",
      "title": "JSI-H3 (High): localStorage → $.globalEval review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-javascript-injection-taint/jsi-jquery/review/"
    },
    {
      "id": "sast.atomic.sast-javascript-injection-taint.jsi-jquery.repaired",
      "challengeId": "sast.atomic.sast-javascript-injection-taint.jsi-jquery",
      "variant": "repaired",
      "title": "JSI-H3 (High): localStorage → $.globalEval repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-javascript-injection-taint/jsi-jquery/fixed/"
    },
    {
      "id": "sast.atomic.sast-javascript-injection-taint.jsi-execcommand.review",
      "challengeId": "sast.atomic.sast-javascript-injection-taint.jsi-execcommand",
      "variant": "review",
      "title": "JSI-H4 (High): Input/hash → document.execCommand('insertHTML') review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-javascript-injection-taint/jsi-execcommand/review/"
    },
    {
      "id": "sast.atomic.sast-javascript-injection-taint.jsi-execcommand.repaired",
      "challengeId": "sast.atomic.sast-javascript-injection-taint.jsi-execcommand",
      "variant": "repaired",
      "title": "JSI-H4 (High): Input/hash → document.execCommand('insertHTML') repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-javascript-injection-taint/jsi-execcommand/fixed/"
    },
    {
      "id": "sast.atomic.sast-javascript-injection-taint.jsi-fragment.review",
      "challengeId": "sast.atomic.sast-javascript-injection-taint.jsi-fragment",
      "variant": "review",
      "title": "JSI-H5 (High): sessionStorage → Range.createContextualFragment review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-javascript-injection-taint/jsi-fragment/review/"
    },
    {
      "id": "sast.atomic.sast-javascript-injection-taint.jsi-fragment.repaired",
      "challengeId": "sast.atomic.sast-javascript-injection-taint.jsi-fragment",
      "variant": "repaired",
      "title": "JSI-H5 (High): sessionStorage → Range.createContextualFragment repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-javascript-injection-taint/jsi-fragment/fixed/"
    },
    {
      "id": "sast.atomic.sast-javascript-injection-taint.jsi-crmf.review",
      "challengeId": "sast.atomic.sast-javascript-injection-taint.jsi-crmf",
      "variant": "review",
      "title": "JSI-H6 (High): Query/hash → crypto.generateCRMFRequest review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-javascript-injection-taint/jsi-crmf/review/"
    },
    {
      "id": "sast.atomic.sast-javascript-injection-taint.jsi-crmf.repaired",
      "challengeId": "sast.atomic.sast-javascript-injection-taint.jsi-crmf",
      "variant": "repaired",
      "title": "JSI-H6 (High): Query/hash → crypto.generateCRMFRequest repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-javascript-injection-taint/jsi-crmf/fixed/"
    },
    {
      "id": "sast.atomic.sast-javascript-injection-taint.jsi-script-text.review",
      "challengeId": "sast.atomic.sast-javascript-injection-taint.jsi-script-text",
      "variant": "review",
      "title": "JSI-H7 (High): Input/localStorage → script.textContent review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-javascript-injection-taint/jsi-script-text/review/"
    },
    {
      "id": "sast.atomic.sast-javascript-injection-taint.jsi-script-text.repaired",
      "challengeId": "sast.atomic.sast-javascript-injection-taint.jsi-script-text",
      "variant": "repaired",
      "title": "JSI-H7 (High): Input/localStorage → script.textContent repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-javascript-injection-taint/jsi-script-text/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-client-json-parsing.btn-parse.review",
      "challengeId": "iast.atomic.iast-iast-client-json-parsing.btn-parse",
      "variant": "review",
      "title": "JSON.parse(payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-json-parsing/btn-parse/review/"
    },
    {
      "id": "iast.atomic.iast-iast-client-json-parsing.btn-parse.repaired",
      "challengeId": "iast.atomic.iast-iast-client-json-parsing.btn-parse",
      "variant": "repaired",
      "title": "JSON.parse(payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-json-parsing/btn-parse/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-client-json-parsing.btn-parse-selected-source.review",
      "challengeId": "iast.atomic.iast-iast-client-json-parsing.btn-parse-selected-source",
      "variant": "review",
      "title": "JSON.parse(selected source) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-json-parsing/btn-parse-selected-source/review/"
    },
    {
      "id": "iast.atomic.iast-iast-client-json-parsing.btn-parse-selected-source.repaired",
      "challengeId": "iast.atomic.iast-iast-client-json-parsing.btn-parse-selected-source",
      "variant": "repaired",
      "title": "JSON.parse(selected source) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-json-parsing/btn-parse-selected-source/fixed/"
    },
    {
      "id": "sast.atomic.sast-jwt-client-misuse.page.review",
      "challengeId": "sast.atomic.sast-jwt-client-misuse.page",
      "variant": "review",
      "title": "JWT client misuse review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-jwt-client-misuse/page/review/"
    },
    {
      "id": "sast.atomic.sast-jwt-client-misuse.page.repaired",
      "challengeId": "sast.atomic.sast-jwt-client-misuse.page",
      "variant": "repaired",
      "title": "JWT client misuse repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-jwt-client-misuse/page/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-token-leaks.btn-local.review",
      "challengeId": "iast.atomic.iast-iast-storage-token-leaks.btn-local",
      "variant": "review",
      "title": "localStorage.setItem('leak', token) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-token-leaks/btn-local/review/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-token-leaks.btn-local.repaired",
      "challengeId": "iast.atomic.iast-iast-storage-token-leaks.btn-local",
      "variant": "repaired",
      "title": "localStorage.setItem('leak', token) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-token-leaks/btn-local/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-assign.review",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-assign",
      "variant": "review",
      "title": "location.assign(payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-assign/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-assign.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-assign",
      "variant": "repaired",
      "title": "location.assign(payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-assign/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-open-redirect.btn-assign.review",
      "challengeId": "iast.atomic.iast-iast-open-redirect.btn-assign",
      "variant": "review",
      "title": "location.assign(payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-open-redirect/btn-assign/review/"
    },
    {
      "id": "iast.atomic.iast-iast-open-redirect.btn-assign.repaired",
      "challengeId": "iast.atomic.iast-iast-open-redirect.btn-assign",
      "variant": "repaired",
      "title": "location.assign(payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-open-redirect/btn-assign/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-href.review",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-href",
      "variant": "review",
      "title": "location.href = payload review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-href/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-href.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-href",
      "variant": "repaired",
      "title": "location.href = payload repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-href/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-open-redirect.btn-href.review",
      "challengeId": "iast.atomic.iast-iast-open-redirect.btn-href",
      "variant": "review",
      "title": "location.href = payload review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-open-redirect/btn-href/review/"
    },
    {
      "id": "iast.atomic.iast-iast-open-redirect.btn-href.repaired",
      "challengeId": "iast.atomic.iast-iast-open-redirect.btn-href",
      "variant": "repaired",
      "title": "location.href = payload repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-open-redirect/btn-href/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-replace.review",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-replace",
      "variant": "review",
      "title": "location.replace(payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-replace/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-replace.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-replace",
      "variant": "repaired",
      "title": "location.replace(payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-replace/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-open-redirect.btn-replace.review",
      "challengeId": "iast.atomic.iast-iast-open-redirect.btn-replace",
      "variant": "review",
      "title": "location.replace(payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-open-redirect/btn-replace/review/"
    },
    {
      "id": "iast.atomic.iast-iast-open-redirect.btn-replace.repaired",
      "challengeId": "iast.atomic.iast-iast-open-redirect.btn-replace",
      "variant": "repaired",
      "title": "location.replace(payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-open-redirect/btn-replace/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-web-messaging-channels.btn-port.review",
      "challengeId": "iast.atomic.iast-iast-web-messaging-channels.btn-port",
      "variant": "review",
      "title": "MessageChannel postMessage review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-web-messaging-channels/btn-port/review/"
    },
    {
      "id": "iast.atomic.iast-iast-web-messaging-channels.btn-port.repaired",
      "challengeId": "iast.atomic.iast-iast-web-messaging-channels.btn-port",
      "variant": "repaired",
      "title": "MessageChannel postMessage repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-web-messaging-channels/btn-port/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-inbound-channel-trust.btn-port-eval.review",
      "challengeId": "iast.atomic.iast-iast-inbound-channel-trust.btn-port-eval",
      "variant": "review",
      "title": "MessagePort → eval review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-inbound-channel-trust/btn-port-eval/review/"
    },
    {
      "id": "iast.atomic.iast-iast-inbound-channel-trust.btn-port-eval.repaired",
      "challengeId": "iast.atomic.iast-iast-inbound-channel-trust.btn-port-eval",
      "variant": "repaired",
      "title": "MessagePort → eval repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-inbound-channel-trust/btn-port-eval/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-route-controlled-navigation.btn-nav.review",
      "challengeId": "iast.atomic.iast-iast-route-controlled-navigation.btn-nav",
      "variant": "review",
      "title": "navigation.navigate review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-route-controlled-navigation/btn-nav/review/"
    },
    {
      "id": "iast.atomic.iast-iast-route-controlled-navigation.btn-nav.repaired",
      "challengeId": "iast.atomic.iast-iast-route-controlled-navigation.btn-nav",
      "variant": "repaired",
      "title": "navigation.navigate repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-route-controlled-navigation/btn-nav/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-open-redirect.btn-nav.review",
      "challengeId": "iast.atomic.iast-iast-open-redirect.btn-nav",
      "variant": "review",
      "title": "navigation.navigate(payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-open-redirect/btn-nav/review/"
    },
    {
      "id": "iast.atomic.iast-iast-open-redirect.btn-nav.repaired",
      "challengeId": "iast.atomic.iast-iast-open-redirect.btn-nav",
      "variant": "repaired",
      "title": "navigation.navigate(payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-open-redirect/btn-nav/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-clipboard-exfiltration.btn-clipboard.review",
      "challengeId": "iast.atomic.iast-iast-clipboard-exfiltration.btn-clipboard",
      "variant": "review",
      "title": "navigator.clipboard.writeText(payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-clipboard-exfiltration/btn-clipboard/review/"
    },
    {
      "id": "iast.atomic.iast-iast-clipboard-exfiltration.btn-clipboard.repaired",
      "challengeId": "iast.atomic.iast-iast-clipboard-exfiltration.btn-clipboard",
      "variant": "repaired",
      "title": "navigator.clipboard.writeText(payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-clipboard-exfiltration/btn-clipboard/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-client-http-exfiltration.btn-beacon.review",
      "challengeId": "iast.atomic.iast-iast-client-http-exfiltration.btn-beacon",
      "variant": "review",
      "title": "navigator.sendBeacon(url, body) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-http-exfiltration/btn-beacon/review/"
    },
    {
      "id": "iast.atomic.iast-iast-client-http-exfiltration.btn-beacon.repaired",
      "challengeId": "iast.atomic.iast-iast-client-http-exfiltration.btn-beacon",
      "variant": "repaired",
      "title": "navigator.sendBeacon(url, body) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-http-exfiltration/btn-beacon/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-worker-script-loading.btn-sw.review",
      "challengeId": "iast.atomic.iast-iast-worker-script-loading.btn-sw",
      "variant": "review",
      "title": "navigator.serviceWorker.register() review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-worker-script-loading/btn-sw/review/"
    },
    {
      "id": "iast.atomic.iast-iast-worker-script-loading.btn-sw.repaired",
      "challengeId": "iast.atomic.iast-iast-worker-script-loading.btn-sw",
      "variant": "repaired",
      "title": "navigator.serviceWorker.register() repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-worker-script-loading/btn-sw/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-taint-to-exec.btn-function.review",
      "challengeId": "iast.atomic.iast-iast-storage-taint-to-exec.btn-function",
      "variant": "review",
      "title": "new Function(payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-taint-to-exec/btn-function/review/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-taint-to-exec.btn-function.repaired",
      "challengeId": "iast.atomic.iast-iast-storage-taint-to-exec.btn-function",
      "variant": "repaired",
      "title": "new Function(payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-taint-to-exec/btn-function/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-js-execution.btn-fn.review",
      "challengeId": "iast.atomic.iast-iast-js-execution.btn-fn",
      "variant": "review",
      "title": "new Function(payload)() review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-js-execution/btn-fn/review/"
    },
    {
      "id": "iast.atomic.iast-iast-js-execution.btn-fn.repaired",
      "challengeId": "iast.atomic.iast-iast-js-execution.btn-fn",
      "variant": "repaired",
      "title": "new Function(payload)() repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-js-execution/btn-fn/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-worker-script-loading.btn-worker.review",
      "challengeId": "iast.atomic.iast-iast-worker-script-loading.btn-worker",
      "variant": "review",
      "title": "new Worker() review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-worker-script-loading/btn-worker/review/"
    },
    {
      "id": "iast.atomic.iast-iast-worker-script-loading.btn-worker.repaired",
      "challengeId": "iast.atomic.iast-iast-worker-script-loading.btn-worker",
      "variant": "repaired",
      "title": "new Worker() repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-worker-script-loading/btn-worker/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-prototype-pollution-impact.btn-trigger.review",
      "challengeId": "iast.atomic.iast-iast-prototype-pollution-impact.btn-trigger",
      "variant": "review",
      "title": "Object.assign({}, payload) then fetch(url, init) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-prototype-pollution-impact/btn-trigger/review/"
    },
    {
      "id": "iast.atomic.iast-iast-prototype-pollution-impact.btn-trigger.repaired",
      "challengeId": "iast.atomic.iast-iast-prototype-pollution-impact.btn-trigger",
      "variant": "repaired",
      "title": "Object.assign({}, payload) then fetch(url, init) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-prototype-pollution-impact/btn-trigger/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-referrer-helper.open.review",
      "challengeId": "iast.atomic.iast-iast-referrer-helper.open",
      "variant": "review",
      "title": "Open target with helper as referrer review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-referrer-helper/open/review/"
    },
    {
      "id": "iast.atomic.iast-iast-referrer-helper.open.repaired",
      "challengeId": "iast.atomic.iast-iast-referrer-helper.open",
      "variant": "repaired",
      "title": "Open target with helper as referrer repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-referrer-helper/open/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-websocket-url-poisoning.btn-open.review",
      "challengeId": "iast.atomic.iast-iast-websocket-url-poisoning.btn-open",
      "variant": "review",
      "title": "Open WebSocket review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-websocket-url-poisoning/btn-open/review/"
    },
    {
      "id": "iast.atomic.iast-iast-websocket-url-poisoning.btn-open.repaired",
      "challengeId": "iast.atomic.iast-iast-websocket-url-poisoning.btn-open",
      "variant": "repaired",
      "title": "Open WebSocket repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-websocket-url-poisoning/btn-open/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-client-sql-injection.btn-open.review",
      "challengeId": "iast.atomic.iast-iast-client-sql-injection.btn-open",
      "variant": "review",
      "title": "openDatabase(name) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-sql-injection/btn-open/review/"
    },
    {
      "id": "iast.atomic.iast-iast-client-sql-injection.btn-open.repaired",
      "challengeId": "iast.atomic.iast-iast-client-sql-injection.btn-open",
      "variant": "repaired",
      "title": "openDatabase(name) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-sql-injection/btn-open/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-outer.review",
      "challengeId": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-outer",
      "variant": "review",
      "title": "outerHTML review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss-secondary-sources/btn-outer/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-outer.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-outer",
      "variant": "repaired",
      "title": "outerHTML repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss-secondary-sources/btn-outer/fixed/"
    },
    {
      "id": "dast.route.passive-cases-headers-powered-by-html-cbf717ea.review",
      "challengeId": "dast.route.passive-cases-headers-powered-by-html-cbf717ea",
      "variant": "review",
      "title": "Passive · Cases · Headers · Powered by html review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/cases/headers/powered-by.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-cases-headers-powered-by-html-cbf717ea.control",
      "challengeId": "dast.route.passive-cases-headers-powered-by-html-cbf717ea",
      "variant": "repaired",
      "title": "Passive · Cases · Headers · Powered by html paired control",
      "engines": [
        "DAST"
      ],
      "route": "/passive/cases/headers/secure-control.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "https",
        "loopbackOnly": true
      }
    },
    {
      "id": "dast.route.passive-fixtures-headers-weak-security-html-cc2d3bc9.review",
      "challengeId": "dast.route.passive-fixtures-headers-weak-security-html-cc2d3bc9",
      "variant": "review",
      "title": "Passive · Fixtures · Headers · Weak security html review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/fixtures/headers/weak-security.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-fixtures-headers-weak-security-html-cc2d3bc9.control",
      "challengeId": "dast.route.passive-fixtures-headers-weak-security-html-cc2d3bc9",
      "variant": "repaired",
      "title": "Passive · Fixtures · Headers · Weak security html paired control",
      "engines": [
        "DAST"
      ],
      "route": "/passive/fixtures/headers/secure-control.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      }
    },
    {
      "id": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-post-star.review",
      "challengeId": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-post-star",
      "variant": "review",
      "title": "postMessage('*') review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-session-material-cross-boundary-exfiltration/btn-post-star/review/"
    },
    {
      "id": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-post-star.repaired",
      "challengeId": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-post-star",
      "variant": "repaired",
      "title": "postMessage('*') repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-session-material-cross-boundary-exfiltration/btn-post-star/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-post-cross.review",
      "challengeId": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-post-cross",
      "variant": "review",
      "title": "postMessage(crossOrigin) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-session-material-cross-boundary-exfiltration/btn-post-cross/review/"
    },
    {
      "id": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-post-cross.repaired",
      "challengeId": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-post-cross",
      "variant": "repaired",
      "title": "postMessage(crossOrigin) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-session-material-cross-boundary-exfiltration/btn-post-cross/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-runtime.button-2-r-text-fetch-chain.review",
      "challengeId": "iast.atomic.iast-iast-runtime.button-2-r-text-fetch-chain",
      "variant": "review",
      "title": "r.text())>\">Fetch chain review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-runtime/button-2-r-text-fetch-chain/review/"
    },
    {
      "id": "iast.atomic.iast-iast-runtime.button-2-r-text-fetch-chain.repaired",
      "challengeId": "iast.atomic.iast-iast-runtime.button-2-r-text-fetch-chain",
      "variant": "repaired",
      "title": "r.text())>\">Fetch chain repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-runtime/button-2-r-text-fetch-chain/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-parser-xss.btn-range.review",
      "challengeId": "iast.atomic.iast-iast-dom-parser-xss.btn-range",
      "variant": "review",
      "title": "Range.createContextualFragment review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-parser-xss/btn-range/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-parser-xss.btn-range.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-parser-xss.btn-range",
      "variant": "repaired",
      "title": "Range.createContextualFragment repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-parser-xss/btn-range/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-file-reader-sensitive-flows.btn-arraybuffer.review",
      "challengeId": "iast.atomic.iast-iast-file-reader-sensitive-flows.btn-arraybuffer",
      "variant": "review",
      "title": "readAsArrayBuffer review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-file-reader-sensitive-flows/btn-arraybuffer/review/"
    },
    {
      "id": "iast.atomic.iast-iast-file-reader-sensitive-flows.btn-arraybuffer.repaired",
      "challengeId": "iast.atomic.iast-iast-file-reader-sensitive-flows.btn-arraybuffer",
      "variant": "repaired",
      "title": "readAsArrayBuffer repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-file-reader-sensitive-flows/btn-arraybuffer/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-file-reader-sensitive-flows.btn-dataurl.review",
      "challengeId": "iast.atomic.iast-iast-file-reader-sensitive-flows.btn-dataurl",
      "variant": "review",
      "title": "readAsDataURL review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-file-reader-sensitive-flows/btn-dataurl/review/"
    },
    {
      "id": "iast.atomic.iast-iast-file-reader-sensitive-flows.btn-dataurl.repaired",
      "challengeId": "iast.atomic.iast-iast-file-reader-sensitive-flows.btn-dataurl",
      "variant": "repaired",
      "title": "readAsDataURL repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-file-reader-sensitive-flows/btn-dataurl/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-file-reader-sensitive-flows.btn-text.review",
      "challengeId": "iast.atomic.iast-iast-file-reader-sensitive-flows.btn-text",
      "variant": "review",
      "title": "readAsText review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-file-reader-sensitive-flows/btn-text/review/"
    },
    {
      "id": "iast.atomic.iast-iast-file-reader-sensitive-flows.btn-text.repaired",
      "challengeId": "iast.atomic.iast-iast-file-reader-sensitive-flows.btn-text",
      "variant": "repaired",
      "title": "readAsText repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-file-reader-sensitive-flows/btn-text/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-prototype-pollution-impact.btn-write.review",
      "challengeId": "iast.atomic.iast-iast-prototype-pollution-impact.btn-write",
      "variant": "review",
      "title": "Reflect.set({}, \"__proto__\", payload.__proto__) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-prototype-pollution-impact/btn-write/review/"
    },
    {
      "id": "iast.atomic.iast-iast-prototype-pollution-impact.btn-write.repaired",
      "challengeId": "iast.atomic.iast-iast-prototype-pollution-impact.btn-write",
      "variant": "repaired",
      "title": "Reflect.set({}, \"__proto__\", payload.__proto__) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-prototype-pollution-impact/btn-write/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-fragment.review",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-fragment",
      "variant": "review",
      "title": "response.contextualFragment → Range.createContextualFragment review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-fragment/review/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-fragment.repaired",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-fragment",
      "variant": "repaired",
      "title": "response.contextualFragment → Range.createContextualFragment repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-fragment/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-formaction.review",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-formaction",
      "variant": "review",
      "title": "response.formAction → button.formAction review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-formaction/review/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-formaction.repaired",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-formaction",
      "variant": "repaired",
      "title": "response.formAction → button.formAction repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-formaction/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-action.review",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-action",
      "variant": "review",
      "title": "response.formAction → form.action review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-action/review/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-action.repaired",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-action",
      "variant": "repaired",
      "title": "response.formAction → form.action repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-action/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-formaction-js.review",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-formaction-js",
      "variant": "review",
      "title": "response.formJavascriptAction → button.formAction review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-formaction-js/review/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-formaction-js.repaired",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-formaction-js",
      "variant": "repaired",
      "title": "response.formJavascriptAction → button.formAction repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-formaction-js/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-action-js.review",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-action-js",
      "variant": "review",
      "title": "response.formJavascriptAction → form.action review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-action-js/review/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-action-js.repaired",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-action-js",
      "variant": "repaired",
      "title": "response.formJavascriptAction → form.action repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-action-js/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-write.review",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-write",
      "variant": "review",
      "title": "response.html → document.write review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-write/review/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-write.repaired",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-write",
      "variant": "repaired",
      "title": "response.html → document.write repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-write/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-parser.review",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-parser",
      "variant": "review",
      "title": "response.html → DOMParser.parseFromString review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-parser/review/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-parser.repaired",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-parser",
      "variant": "repaired",
      "title": "response.html → DOMParser.parseFromString repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-parser/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-inner.review",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-inner",
      "variant": "review",
      "title": "response.html → innerHTML review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-inner/review/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-inner.repaired",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-inner",
      "variant": "repaired",
      "title": "response.html → innerHTML repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-inner/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-outer.review",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-outer",
      "variant": "review",
      "title": "response.html → outerHTML review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-outer/review/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-outer.repaired",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-outer",
      "variant": "repaired",
      "title": "response.html → outerHTML repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-outer/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-mutation.review",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-mutation",
      "variant": "review",
      "title": "response.htmlFragment → appendChild(fragment) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-mutation/review/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-mutation.repaired",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-mutation",
      "variant": "repaired",
      "title": "response.htmlFragment → appendChild(fragment) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-mutation/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-adjacent.review",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-adjacent",
      "variant": "review",
      "title": "response.htmlFragment → insertAdjacentHTML review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-adjacent/review/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.btn-adjacent.repaired",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.btn-adjacent",
      "variant": "repaired",
      "title": "response.htmlFragment → insertAdjacentHTML repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/btn-adjacent/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dynamic-script-loading.btn-reuse.review",
      "challengeId": "iast.atomic.iast-iast-dynamic-script-loading.btn-reuse",
      "variant": "review",
      "title": "Reuse existing script element review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dynamic-script-loading/btn-reuse/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dynamic-script-loading.btn-reuse.repaired",
      "challengeId": "iast.atomic.iast-iast-dynamic-script-loading.btn-reuse",
      "variant": "repaired",
      "title": "Reuse existing script element repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dynamic-script-loading/btn-reuse/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-runtime.link-href.review",
      "challengeId": "iast.atomic.iast-iast-runtime.link-href",
      "variant": "review",
      "title": "Rewrite link/navigation target review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-runtime/link-href/review/"
    },
    {
      "id": "iast.atomic.iast-iast-runtime.link-href.repaired",
      "challengeId": "iast.atomic.iast-iast-runtime.link-href",
      "variant": "repaired",
      "title": "Rewrite link/navigation target repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-runtime/link-href/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-rtc.review",
      "challengeId": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-rtc",
      "variant": "review",
      "title": "RTCDataChannel.send review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-session-material-cross-boundary-exfiltration/btn-rtc/review/"
    },
    {
      "id": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-rtc.repaired",
      "challengeId": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-rtc",
      "variant": "repaired",
      "title": "RTCDataChannel.send repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-session-material-cross-boundary-exfiltration/btn-rtc/fixed/"
    },
    {
      "id": "sast.atomic.sast-secrets.page.review",
      "challengeId": "sast.atomic.sast-secrets.page",
      "variant": "review",
      "title": "Secrets Fixture — Comments & Code review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-secrets/page/review/"
    },
    {
      "id": "sast.atomic.sast-secrets.page.repaired",
      "challengeId": "sast.atomic.sast-secrets.page",
      "variant": "repaired",
      "title": "Secrets Fixture — Comments & Code repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-secrets/page/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-csrf-like-requests.btn-csrf.review",
      "challengeId": "iast.atomic.iast-iast-csrf-like-requests.btn-csrf",
      "variant": "review",
      "title": "Send credentialed fetch() review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-csrf-like-requests/btn-csrf/review/"
    },
    {
      "id": "iast.atomic.iast-iast-csrf-like-requests.btn-csrf.repaired",
      "challengeId": "iast.atomic.iast-iast-csrf-like-requests.btn-csrf",
      "variant": "repaired",
      "title": "Send credentialed fetch() repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-csrf-like-requests/btn-csrf/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-runtime.inner-html.review",
      "challengeId": "iast.atomic.iast-iast-runtime.inner-html",
      "variant": "review",
      "title": "Send to innerHTML sink review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-runtime/inner-html/review/"
    },
    {
      "id": "iast.atomic.iast-iast-runtime.inner-html.repaired",
      "challengeId": "iast.atomic.iast-iast-runtime.inner-html",
      "variant": "repaired",
      "title": "Send to innerHTML sink repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-runtime/inner-html/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-runtime.adjacent-html.review",
      "challengeId": "iast.atomic.iast-iast-runtime.adjacent-html",
      "variant": "review",
      "title": "Send to insertAdjacentHTML review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-runtime/adjacent-html/review/"
    },
    {
      "id": "iast.atomic.iast-iast-runtime.adjacent-html.repaired",
      "challengeId": "iast.atomic.iast-iast-runtime.adjacent-html",
      "variant": "repaired",
      "title": "Send to insertAdjacentHTML repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-runtime/adjacent-html/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-realtime-exfiltration.btn-rtc.review",
      "challengeId": "iast.atomic.iast-iast-realtime-exfiltration.btn-rtc",
      "variant": "review",
      "title": "Send via RTCDataChannel review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-realtime-exfiltration/btn-rtc/review/"
    },
    {
      "id": "iast.atomic.iast-iast-realtime-exfiltration.btn-rtc.repaired",
      "challengeId": "iast.atomic.iast-iast-realtime-exfiltration.btn-rtc",
      "variant": "repaired",
      "title": "Send via RTCDataChannel repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-realtime-exfiltration/btn-rtc/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-realtime-exfiltration.btn-ws.review",
      "challengeId": "iast.atomic.iast-iast-realtime-exfiltration.btn-ws",
      "variant": "review",
      "title": "Send via WebSocket review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-realtime-exfiltration/btn-ws/review/"
    },
    {
      "id": "iast.atomic.iast-iast-realtime-exfiltration.btn-ws.repaired",
      "challengeId": "iast.atomic.iast-iast-realtime-exfiltration.btn-ws",
      "variant": "repaired",
      "title": "Send via WebSocket repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-realtime-exfiltration/btn-ws/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-beacon.review",
      "challengeId": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-beacon",
      "variant": "review",
      "title": "sendBeacon review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-session-material-cross-boundary-exfiltration/btn-beacon/review/"
    },
    {
      "id": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-beacon.repaired",
      "challengeId": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-beacon",
      "variant": "repaired",
      "title": "sendBeacon repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-session-material-cross-boundary-exfiltration/btn-beacon/fixed/"
    },
    {
      "id": "sast.atomic.sast-service-worker-cache-poisoning.page.review",
      "challengeId": "sast.atomic.sast-service-worker-cache-poisoning.page",
      "variant": "review",
      "title": "Service Worker cache poisoning review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-service-worker-cache-poisoning/page/review/"
    },
    {
      "id": "sast.atomic.sast-service-worker-cache-poisoning.page.repaired",
      "challengeId": "sast.atomic.sast-service-worker-cache-poisoning.page",
      "variant": "repaired",
      "title": "Service Worker cache poisoning repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-service-worker-cache-poisoning/page/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-token-leaks.btn-session.review",
      "challengeId": "iast.atomic.iast-iast-storage-token-leaks.btn-session",
      "variant": "review",
      "title": "sessionStorage.setItem('leak', token) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-token-leaks/btn-session/review/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-token-leaks.btn-session.repaired",
      "challengeId": "iast.atomic.iast-iast-storage-token-leaks.btn-session",
      "variant": "repaired",
      "title": "sessionStorage.setItem('leak', token) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-token-leaks/btn-session/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submit-csrf.btn-set-action.review",
      "challengeId": "iast.atomic.iast-iast-form-submit-csrf.btn-set-action",
      "variant": "review",
      "title": "Set form.action from source review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submit-csrf/btn-set-action/review/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submit-csrf.btn-set-action.repaired",
      "challengeId": "iast.atomic.iast-iast-form-submit-csrf.btn-set-action",
      "variant": "repaired",
      "title": "Set form.action from source repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submit-csrf/btn-set-action/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss.innerhtml.review",
      "challengeId": "iast.atomic.iast-iast-dom-xss.innerhtml",
      "variant": "review",
      "title": "Set innerHTML from selected source review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss/innerhtml/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss.innerhtml.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-xss.innerhtml",
      "variant": "repaired",
      "title": "Set innerHTML from selected source repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss/innerhtml/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss.outerhtml.review",
      "challengeId": "iast.atomic.iast-iast-dom-xss.outerhtml",
      "variant": "review",
      "title": "Set outerHTML from selected source review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss/outerhtml/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss.outerhtml.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-xss.outerhtml",
      "variant": "repaired",
      "title": "Set outerHTML from selected source repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss/outerhtml/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submit-csrf.btn-set-formaction.review",
      "challengeId": "iast.atomic.iast-iast-form-submit-csrf.btn-set-formaction",
      "variant": "review",
      "title": "Set submitter formAction from source review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submit-csrf/btn-set-formaction/review/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submit-csrf.btn-set-formaction.repaired",
      "challengeId": "iast.atomic.iast-iast-form-submit-csrf.btn-set-formaction",
      "variant": "repaired",
      "title": "Set submitter formAction from source repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submit-csrf/btn-set-formaction/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-attr-href.review",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-attr-href",
      "variant": "review",
      "title": "setAttribute('href', payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-attr-href/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-attr-href.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-attr-href",
      "variant": "repaired",
      "title": "setAttribute('href', payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-attr-href/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-inline.review",
      "challengeId": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-inline",
      "variant": "review",
      "title": "setAttribute('onclick', payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss-secondary-sources/btn-inline/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-inline.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-xss-secondary-sources.btn-inline",
      "variant": "repaired",
      "title": "setAttribute('onclick', payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss-secondary-sources/btn-inline/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-attr-src.review",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-attr-src",
      "variant": "review",
      "title": "setAttribute('src', payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-attr-src/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.btn-attr-src.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.btn-attr-src",
      "variant": "repaired",
      "title": "setAttribute('src', payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/btn-attr-src/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-taint-to-exec.btn-interval.review",
      "challengeId": "iast.atomic.iast-iast-storage-taint-to-exec.btn-interval",
      "variant": "review",
      "title": "setInterval(payload, 10) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-taint-to-exec/btn-interval/review/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-taint-to-exec.btn-interval.repaired",
      "challengeId": "iast.atomic.iast-iast-storage-taint-to-exec.btn-interval",
      "variant": "repaired",
      "title": "setInterval(payload, 10) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-taint-to-exec/btn-interval/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-timer-js-execution.btn-interval.review",
      "challengeId": "iast.atomic.iast-iast-timer-js-execution.btn-interval",
      "variant": "review",
      "title": "setInterval(payload, 1000) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-timer-js-execution/btn-interval/review/"
    },
    {
      "id": "iast.atomic.iast-iast-timer-js-execution.btn-interval.repaired",
      "challengeId": "iast.atomic.iast-iast-timer-js-execution.btn-interval",
      "variant": "repaired",
      "title": "setInterval(payload, 1000) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-timer-js-execution/btn-interval/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-timer-js-execution.btn-timeout.review",
      "challengeId": "iast.atomic.iast-iast-timer-js-execution.btn-timeout",
      "variant": "review",
      "title": "setTimeout(payload, 0) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-timer-js-execution/btn-timeout/review/"
    },
    {
      "id": "iast.atomic.iast-iast-timer-js-execution.btn-timeout.repaired",
      "challengeId": "iast.atomic.iast-iast-timer-js-execution.btn-timeout",
      "variant": "repaired",
      "title": "setTimeout(payload, 0) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-timer-js-execution/btn-timeout/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-taint-to-exec.btn-timeout.review",
      "challengeId": "iast.atomic.iast-iast-storage-taint-to-exec.btn-timeout",
      "variant": "review",
      "title": "setTimeout(payload, 10) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-taint-to-exec/btn-timeout/review/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-taint-to-exec.btn-timeout.repaired",
      "challengeId": "iast.atomic.iast-iast-storage-taint-to-exec.btn-timeout",
      "variant": "repaired",
      "title": "setTimeout(payload, 10) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-taint-to-exec/btn-timeout/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-parser-xss.btn-shadow-sethtmlunsafe.review",
      "challengeId": "iast.atomic.iast-iast-dom-parser-xss.btn-shadow-sethtmlunsafe",
      "variant": "review",
      "title": "ShadowRoot.setHTMLUnsafe (if supported) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-parser-xss/btn-shadow-sethtmlunsafe/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-parser-xss.btn-shadow-sethtmlunsafe.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-parser-xss.btn-shadow-sethtmlunsafe",
      "variant": "repaired",
      "title": "ShadowRoot.setHTMLUnsafe (if supported) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-parser-xss/btn-shadow-sethtmlunsafe/fixed/"
    },
    {
      "id": "sast.atomic.sast-storage-security.page.review",
      "challengeId": "sast.atomic.sast-storage-security.page",
      "variant": "review",
      "title": "Storage security review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-storage-security/page/review/"
    },
    {
      "id": "sast.atomic.sast-storage-security.page.repaired",
      "challengeId": "sast.atomic.sast-storage-security.page",
      "variant": "repaired",
      "title": "Storage security repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-storage-security/page/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-inbound-channel-trust.submit-btn.review",
      "challengeId": "iast.atomic.iast-iast-inbound-channel-trust.submit-btn",
      "variant": "review",
      "title": "Submit review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-inbound-channel-trust/submit-btn/review/"
    },
    {
      "id": "iast.atomic.iast-iast-inbound-channel-trust.submit-btn.repaired",
      "challengeId": "iast.atomic.iast-iast-inbound-channel-trust.submit-btn",
      "variant": "repaired",
      "title": "Submit repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-inbound-channel-trust/submit-btn/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.form-button.review",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.form-button",
      "variant": "review",
      "title": "Submit form review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/form-button/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-url-navigation.form-button.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-url-navigation.form-button",
      "variant": "repaired",
      "title": "Submit form repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-url-navigation/form-button/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submission-hijack.submit-btn.review",
      "challengeId": "iast.atomic.iast-iast-form-submission-hijack.submit-btn",
      "variant": "review",
      "title": "Submit form review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submission-hijack/submit-btn/review/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submission-hijack.submit-btn.repaired",
      "challengeId": "iast.atomic.iast-iast-form-submission-hijack.submit-btn",
      "variant": "repaired",
      "title": "Submit form repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submission-hijack/submit-btn/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submit-csrf.submit-btn.review",
      "challengeId": "iast.atomic.iast-iast-form-submit-csrf.submit-btn",
      "variant": "review",
      "title": "Submit form review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submit-csrf/submit-btn/review/"
    },
    {
      "id": "iast.atomic.iast-iast-form-submit-csrf.submit-btn.repaired",
      "challengeId": "iast.atomic.iast-iast-form-submit-csrf.submit-btn",
      "variant": "repaired",
      "title": "Submit form repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-form-submit-csrf/submit-btn/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.response-submit.review",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.response-submit",
      "variant": "review",
      "title": "Submit form review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/response-submit/review/"
    },
    {
      "id": "iast.atomic.iast-iast-response-field-reachability.response-submit.repaired",
      "challengeId": "iast.atomic.iast-iast-response-field-reachability.response-submit",
      "variant": "repaired",
      "title": "Submit form repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-response-field-reachability/response-submit/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-open-redirect.redirect-submit.review",
      "challengeId": "iast.atomic.iast-iast-open-redirect.redirect-submit",
      "variant": "review",
      "title": "Submit redirect form review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-open-redirect/redirect-submit/review/"
    },
    {
      "id": "iast.atomic.iast-iast-open-redirect.redirect-submit.repaired",
      "challengeId": "iast.atomic.iast-iast-open-redirect.redirect-submit",
      "variant": "repaired",
      "title": "Submit redirect form repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-open-redirect/redirect-submit/fixed/"
    },
    {
      "id": "dast.route.targets-history-order-router-vulnerable-api-order-e42a2bb7.review",
      "challengeId": "dast.route.targets-history-order-router-vulnerable-api-order-e42a2bb7",
      "variant": "review",
      "title": "Targets · History order router · Vulnerable · Api · Order review route",
      "engines": [
        "DAST"
      ],
      "route": "/targets/history-order-router/vulnerable/api/order",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "POST"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.targets-history-order-router-vulnerable-api-order-e42a2bb7.control",
      "challengeId": "dast.route.targets-history-order-router-vulnerable-api-order-e42a2bb7",
      "variant": "repaired",
      "title": "Targets · History order router · Vulnerable · Api · Order paired control",
      "engines": [
        "DAST"
      ],
      "route": "/targets/history-order-router/fixed/api/order",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http",
        "loopbackOnly": true
      }
    },
    {
      "id": "dast.route.targets-jwt-lab-authorization-vulnerable-api-session-089af6d5.review",
      "challengeId": "dast.route.targets-jwt-lab-authorization-vulnerable-api-session-089af6d5",
      "variant": "review",
      "title": "Targets · Jwt lab · Authorization · Vulnerable · Api · Session review route",
      "engines": [
        "DAST"
      ],
      "route": "/targets/jwt-lab/authorization/vulnerable/api/session",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "POST"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.targets-jwt-lab-authorization-vulnerable-api-session-089af6d5.control",
      "challengeId": "dast.route.targets-jwt-lab-authorization-vulnerable-api-session-089af6d5",
      "variant": "repaired",
      "title": "Targets · Jwt lab · Authorization · Vulnerable · Api · Session paired control",
      "engines": [
        "DAST"
      ],
      "route": "/targets/jwt-lab/authorization/fixed/api/session",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http",
        "loopbackOnly": true
      }
    },
    {
      "id": "dast.route.targets-jwt-lab-cookie-vulnerable-api-session-f8e9eb91.review",
      "challengeId": "dast.route.targets-jwt-lab-cookie-vulnerable-api-session-f8e9eb91",
      "variant": "review",
      "title": "Targets · Jwt lab · Cookie · Vulnerable · Api · Session review route",
      "engines": [
        "DAST"
      ],
      "route": "/targets/jwt-lab/cookie/vulnerable/api/session",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "POST"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.targets-jwt-lab-cookie-vulnerable-api-session-f8e9eb91.control",
      "challengeId": "dast.route.targets-jwt-lab-cookie-vulnerable-api-session-f8e9eb91",
      "variant": "repaired",
      "title": "Targets · Jwt lab · Cookie · Vulnerable · Api · Session paired control",
      "engines": [
        "DAST"
      ],
      "route": "/targets/jwt-lab/cookie/fixed/api/session",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http",
        "loopbackOnly": true
      }
    },
    {
      "id": "dast.route.targets-jwt-lab-form-vulnerable-api-session-06c3aa28.review",
      "challengeId": "dast.route.targets-jwt-lab-form-vulnerable-api-session-06c3aa28",
      "variant": "review",
      "title": "Targets · Jwt lab · Form · Vulnerable · Api · Session review route",
      "engines": [
        "DAST"
      ],
      "route": "/targets/jwt-lab/form/vulnerable/api/session",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "POST"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.targets-jwt-lab-form-vulnerable-api-session-06c3aa28.control",
      "challengeId": "dast.route.targets-jwt-lab-form-vulnerable-api-session-06c3aa28",
      "variant": "repaired",
      "title": "Targets · Jwt lab · Form · Vulnerable · Api · Session paired control",
      "engines": [
        "DAST"
      ],
      "route": "/targets/jwt-lab/form/fixed/api/session",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http",
        "loopbackOnly": true
      }
    },
    {
      "id": "dast.route.targets-jwt-lab-json-vulnerable-api-session-79a6231e.review",
      "challengeId": "dast.route.targets-jwt-lab-json-vulnerable-api-session-79a6231e",
      "variant": "review",
      "title": "Targets · Jwt lab · Json · Vulnerable · Api · Session review route",
      "engines": [
        "DAST"
      ],
      "route": "/targets/jwt-lab/json/vulnerable/api/session",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "POST"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.targets-jwt-lab-json-vulnerable-api-session-79a6231e.control",
      "challengeId": "dast.route.targets-jwt-lab-json-vulnerable-api-session-79a6231e",
      "variant": "repaired",
      "title": "Targets · Jwt lab · Json · Vulnerable · Api · Session paired control",
      "engines": [
        "DAST"
      ],
      "route": "/targets/jwt-lab/json/fixed/api/session",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http",
        "loopbackOnly": true
      }
    },
    {
      "id": "dast.route.targets-same-origin-child-tab-vulnerable-api-context-32e96cb4.review",
      "challengeId": "dast.route.targets-same-origin-child-tab-vulnerable-api-context-32e96cb4",
      "variant": "review",
      "title": "Targets · Same origin child tab · Vulnerable · Api · Context review route",
      "engines": [
        "DAST"
      ],
      "route": "/targets/same-origin-child-tab/vulnerable/api/context",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.targets-same-origin-child-tab-vulnerable-api-context-32e96cb4.control",
      "challengeId": "dast.route.targets-same-origin-child-tab-vulnerable-api-context-32e96cb4",
      "variant": "repaired",
      "title": "Targets · Same origin child tab · Vulnerable · Api · Context paired control",
      "engines": [
        "DAST"
      ],
      "route": "/targets/same-origin-child-tab/fixed/api/context",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http",
        "loopbackOnly": true
      }
    },
    {
      "id": "dast.route.targets-session-bound-order-search-vulnerable-api-search-939d5b90.review",
      "challengeId": "dast.route.targets-session-bound-order-search-vulnerable-api-search-939d5b90",
      "variant": "review",
      "title": "Targets · Session bound order search · Vulnerable · Api · Search review route",
      "engines": [
        "DAST"
      ],
      "route": "/targets/session-bound-order-search/vulnerable/api/search",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "POST"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.targets-session-bound-order-search-vulnerable-api-search-939d5b90.control",
      "challengeId": "dast.route.targets-session-bound-order-search-vulnerable-api-search-939d5b90",
      "variant": "repaired",
      "title": "Targets · Session bound order search · Vulnerable · Api · Search paired control",
      "engines": [
        "DAST"
      ],
      "route": "/targets/session-bound-order-search/fixed/api/search",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "https",
        "loopbackOnly": true
      }
    },
    {
      "id": "sast.atomic.sast-client-template-injection.tmpl-target.review",
      "challengeId": "sast.atomic.sast-client-template-injection.tmpl-target",
      "variant": "review",
      "title": "tmpl-target review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-client-template-injection/tmpl-target/review/"
    },
    {
      "id": "sast.atomic.sast-client-template-injection.tmpl-target.repaired",
      "challengeId": "sast.atomic.sast-client-template-injection.tmpl-target",
      "variant": "repaired",
      "title": "tmpl-target repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-client-template-injection/tmpl-target/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-trusted-types-and-sanitizer-misuse.btn-create-html.review",
      "challengeId": "iast.atomic.iast-iast-trusted-types-and-sanitizer-misuse.btn-create-html",
      "variant": "review",
      "title": "trustedTypes.createPolicy(...).createHTML() review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-trusted-types-and-sanitizer-misuse/btn-create-html/review/"
    },
    {
      "id": "iast.atomic.iast-iast-trusted-types-and-sanitizer-misuse.btn-create-html.repaired",
      "challengeId": "iast.atomic.iast-iast-trusted-types-and-sanitizer-misuse.btn-create-html",
      "variant": "repaired",
      "title": "trustedTypes.createPolicy(...).createHTML() repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-trusted-types-and-sanitizer-misuse/btn-create-html/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-trusted-types-and-sanitizer-misuse.btn-create-script.review",
      "challengeId": "iast.atomic.iast-iast-trusted-types-and-sanitizer-misuse.btn-create-script",
      "variant": "review",
      "title": "trustedTypes.createPolicy(...).createScript() review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-trusted-types-and-sanitizer-misuse/btn-create-script/review/"
    },
    {
      "id": "iast.atomic.iast-iast-trusted-types-and-sanitizer-misuse.btn-create-script.repaired",
      "challengeId": "iast.atomic.iast-iast-trusted-types-and-sanitizer-misuse.btn-create-script",
      "variant": "repaired",
      "title": "trustedTypes.createPolicy(...).createScript() repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-trusted-types-and-sanitizer-misuse/btn-create-script/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-trusted-types-and-sanitizer-misuse.btn-create-script-url.review",
      "challengeId": "iast.atomic.iast-iast-trusted-types-and-sanitizer-misuse.btn-create-script-url",
      "variant": "review",
      "title": "trustedTypes.createPolicy(...).createScriptURL() review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-trusted-types-and-sanitizer-misuse/btn-create-script-url/review/"
    },
    {
      "id": "iast.atomic.iast-iast-trusted-types-and-sanitizer-misuse.btn-create-script-url.repaired",
      "challengeId": "iast.atomic.iast-iast-trusted-types-and-sanitizer-misuse.btn-create-script-url",
      "variant": "repaired",
      "title": "trustedTypes.createPolicy(...).createScriptURL() repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-trusted-types-and-sanitizer-misuse/btn-create-script-url/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-client-sql-injection.btn-sql.review",
      "challengeId": "iast.atomic.iast-iast-client-sql-injection.btn-sql",
      "variant": "review",
      "title": "tx.executeSql(statement) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-sql-injection/btn-sql/review/"
    },
    {
      "id": "iast.atomic.iast-iast-client-sql-injection.btn-sql.repaired",
      "challengeId": "iast.atomic.iast-iast-client-sql-injection.btn-sql",
      "variant": "repaired",
      "title": "tx.executeSql(statement) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-sql-injection/btn-sql/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-ws.review",
      "challengeId": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-ws",
      "variant": "review",
      "title": "WebSocket.send review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-session-material-cross-boundary-exfiltration/btn-ws/review/"
    },
    {
      "id": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-ws.repaired",
      "challengeId": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-ws",
      "variant": "repaired",
      "title": "WebSocket.send repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-session-material-cross-boundary-exfiltration/btn-ws/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-open-redirect.btn-open.review",
      "challengeId": "iast.atomic.iast-iast-open-redirect.btn-open",
      "variant": "review",
      "title": "window.open(payload) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-open-redirect/btn-open/review/"
    },
    {
      "id": "iast.atomic.iast-iast-open-redirect.btn-open.repaired",
      "challengeId": "iast.atomic.iast-iast-open-redirect.btn-open",
      "variant": "repaired",
      "title": "window.open(payload) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-open-redirect/btn-open/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-postmessage-misuse.btn-postmessage.review",
      "challengeId": "iast.atomic.iast-iast-postmessage-misuse.btn-postmessage",
      "variant": "review",
      "title": "window.postMessage(payload, '*') review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-postmessage-misuse/btn-postmessage/review/"
    },
    {
      "id": "iast.atomic.iast-iast-postmessage-misuse.btn-postmessage.repaired",
      "challengeId": "iast.atomic.iast-iast-postmessage-misuse.btn-postmessage",
      "variant": "repaired",
      "title": "window.postMessage(payload, '*') repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-postmessage-misuse/btn-postmessage/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-postmessage-misuse.btn-postmessage-cross.review",
      "challengeId": "iast.atomic.iast-iast-postmessage-misuse.btn-postmessage-cross",
      "variant": "review",
      "title": "window.postMessage(payload, targetOrigin) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-postmessage-misuse/btn-postmessage-cross/review/"
    },
    {
      "id": "iast.atomic.iast-iast-postmessage-misuse.btn-postmessage-cross.repaired",
      "challengeId": "iast.atomic.iast-iast-postmessage-misuse.btn-postmessage-cross",
      "variant": "repaired",
      "title": "window.postMessage(payload, targetOrigin) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-postmessage-misuse/btn-postmessage-cross/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss.inlineevent.review",
      "challengeId": "iast.atomic.iast-iast-dom-xss.inlineevent",
      "variant": "review",
      "title": "Wire onclick from selected source review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss/inlineevent/review/"
    },
    {
      "id": "iast.atomic.iast-iast-dom-xss.inlineevent.repaired",
      "challengeId": "iast.atomic.iast-iast-dom-xss.inlineevent",
      "variant": "repaired",
      "title": "Wire onclick from selected source repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-dom-xss/inlineevent/fixed/"
    },
    {
      "id": "sast.atomic.sast-web-message.wm-cookie-write.review",
      "challengeId": "sast.atomic.sast-web-message.wm-cookie-write",
      "variant": "review",
      "title": "WM-H4 (High): message payload written into document.cookie review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-web-message/wm-cookie-write/review/"
    },
    {
      "id": "sast.atomic.sast-web-message.wm-cookie-write.repaired",
      "challengeId": "sast.atomic.sast-web-message.wm-cookie-write",
      "variant": "repaired",
      "title": "WM-H4 (High): message payload written into document.cookie repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-web-message/wm-cookie-write/fixed/"
    },
    {
      "id": "sast.atomic.sast-web-message.wm-selector-write.review",
      "challengeId": "sast.atomic.sast-web-message.wm-selector-write",
      "variant": "review",
      "title": "WM-H5 (High): message payload written into selector review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-web-message/wm-selector-write/review/"
    },
    {
      "id": "sast.atomic.sast-web-message.wm-selector-write.repaired",
      "challengeId": "sast.atomic.sast-web-message.wm-selector-write",
      "variant": "repaired",
      "title": "WM-H5 (High): message payload written into selector repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-web-message/wm-selector-write/fixed/"
    },
    {
      "id": "sast.atomic.sast-web-message.wm-wildcard-target.review",
      "challengeId": "sast.atomic.sast-web-message.wm-wildcard-target",
      "variant": "review",
      "title": "WM-M1 (Medium): wildcard targetOrigin review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-web-message/wm-wildcard-target/review/"
    },
    {
      "id": "sast.atomic.sast-web-message.wm-wildcard-target.repaired",
      "challengeId": "sast.atomic.sast-web-message.wm-wildcard-target",
      "variant": "repaired",
      "title": "WM-M1 (Medium): wildcard targetOrigin repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-web-message/wm-wildcard-target/fixed/"
    },
    {
      "id": "sast.atomic.sast-web-message.wm-missing-target.review",
      "challengeId": "sast.atomic.sast-web-message.wm-missing-target",
      "variant": "review",
      "title": "WM-M2 (Medium): postMessage invoked without specifying targetOrigin review target",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-web-message/wm-missing-target/review/"
    },
    {
      "id": "sast.atomic.sast-web-message.wm-missing-target.repaired",
      "challengeId": "sast.atomic.sast-web-message.wm-missing-target",
      "variant": "repaired",
      "title": "WM-M2 (Medium): postMessage invoked without specifying targetOrigin repaired control",
      "engines": [
        "SAST"
      ],
      "route": "./atomic/sast/sast-web-message/wm-missing-target/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-inbound-channel-trust.btn-worker-action.review",
      "challengeId": "iast.atomic.iast-iast-inbound-channel-trust.btn-worker-action",
      "variant": "review",
      "title": "Worker message → form.action review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-inbound-channel-trust/btn-worker-action/review/"
    },
    {
      "id": "iast.atomic.iast-iast-inbound-channel-trust.btn-worker-action.repaired",
      "challengeId": "iast.atomic.iast-iast-inbound-channel-trust.btn-worker-action",
      "variant": "repaired",
      "title": "Worker message → form.action repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-inbound-channel-trust/btn-worker-action/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-xhr-header.review",
      "challengeId": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-xhr-header",
      "variant": "review",
      "title": "XHR header review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-session-material-cross-boundary-exfiltration/btn-xhr-header/review/"
    },
    {
      "id": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-xhr-header.repaired",
      "challengeId": "iast.atomic.iast-iast-session-material-cross-boundary-exfiltration.btn-xhr-header",
      "variant": "repaired",
      "title": "XHR header repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-session-material-cross-boundary-exfiltration/btn-xhr-header/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-backed-request-reuse.btn-xhr-url.review",
      "challengeId": "iast.atomic.iast-iast-storage-backed-request-reuse.btn-xhr-url",
      "variant": "review",
      "title": "xhr.open(storedUrl) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-backed-request-reuse/btn-xhr-url/review/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-backed-request-reuse.btn-xhr-url.repaired",
      "challengeId": "iast.atomic.iast-iast-storage-backed-request-reuse.btn-xhr-url",
      "variant": "repaired",
      "title": "xhr.open(storedUrl) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-backed-request-reuse/btn-xhr-url/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-backed-request-reuse.btn-xhr-header.review",
      "challengeId": "iast.atomic.iast-iast-storage-backed-request-reuse.btn-xhr-header",
      "variant": "review",
      "title": "xhr.setRequestHeader(stored Authorization) review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-backed-request-reuse/btn-xhr-header/review/"
    },
    {
      "id": "iast.atomic.iast-iast-storage-backed-request-reuse.btn-xhr-header.repaired",
      "challengeId": "iast.atomic.iast-iast-storage-backed-request-reuse.btn-xhr-header",
      "variant": "repaired",
      "title": "xhr.setRequestHeader(stored Authorization) repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-storage-backed-request-reuse/btn-xhr-header/fixed/"
    },
    {
      "id": "iast.atomic.iast-iast-client-http-exfiltration.btn-xhr.review",
      "challengeId": "iast.atomic.iast-iast-client-http-exfiltration.btn-xhr",
      "variant": "review",
      "title": "XMLHttpRequest.open/send review target",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-http-exfiltration/btn-xhr/review/"
    },
    {
      "id": "iast.atomic.iast-iast-client-http-exfiltration.btn-xhr.repaired",
      "challengeId": "iast.atomic.iast-iast-client-http-exfiltration.btn-xhr",
      "variant": "repaired",
      "title": "XMLHttpRequest.open/send repaired control",
      "engines": [
        "IAST"
      ],
      "route": "./atomic/iast/iast-iast-client-http-exfiltration/btn-xhr/fixed/"
    },
    {
      "id": "dast.route.well-known-assetlinks-json-6cafef57.review",
      "challengeId": "dast.route.well-known-assetlinks-json-6cafef57",
      "variant": "review",
      "title": " well known · Assetlinks json review route",
      "engines": [
        "DAST"
      ],
      "route": "/.well-known/assetlinks.json",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.well-known-change-password-6b5159ff.review",
      "challengeId": "dast.route.well-known-change-password-6b5159ff",
      "variant": "review",
      "title": " well known · Change password review route",
      "engines": [
        "DAST"
      ],
      "route": "/.well-known/change-password",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.well-known-jwks-json-bc639538.review",
      "challengeId": "dast.route.well-known-jwks-json-bc639538",
      "variant": "review",
      "title": " well known · Jwks json review route",
      "engines": [
        "DAST"
      ],
      "route": "/.well-known/jwks.json",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.well-known-oauth-authorization-server-cb96d2ef.review",
      "challengeId": "dast.route.well-known-oauth-authorization-server-cb96d2ef",
      "variant": "review",
      "title": " well known · Oauth authorization server review route",
      "engines": [
        "DAST"
      ],
      "route": "/.well-known/oauth-authorization-server",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.well-known-openid-configuration-ee132748.review",
      "challengeId": "dast.route.well-known-openid-configuration-ee132748",
      "variant": "review",
      "title": " well known · Openid configuration review route",
      "engines": [
        "DAST"
      ],
      "route": "/.well-known/openid-configuration",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.well-known-security-txt-45c9b9d0.review",
      "challengeId": "dast.route.well-known-security-txt-45c9b9d0",
      "variant": "review",
      "title": " well known · Security txt review route",
      "engines": [
        "DAST"
      ],
      "route": "/.well-known/security.txt",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "iast.angularjs-expression-parser",
      "challengeId": "iast.angularjs-expression-parser",
      "variant": "review",
      "title": "AngularJS expression parsing",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_angularjs_expression_minimal.html"
    },
    {
      "id": "iast.dangerous-url-schemes-minimal",
      "challengeId": "iast.dangerous-url-schemes-minimal",
      "variant": "review",
      "title": "Dangerous URL schemes — minimal automation case",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_dangerous_url_schemes_minimal.html"
    },
    {
      "id": "dast.route.humans-txt-fb163cc5.review",
      "challengeId": "dast.route.humans-txt-fb163cc5",
      "variant": "review",
      "title": "Humans txt review route",
      "engines": [
        "DAST"
      ],
      "route": "/humans.txt",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.orgs-acme-workspaces-red-team-settings-html-d4e7fb11.review",
      "challengeId": "dast.route.orgs-acme-workspaces-red-team-settings-html-d4e7fb11",
      "variant": "review",
      "title": "Orgs · Acme · Workspaces · Red team · Settings html review route",
      "engines": [
        "DAST"
      ],
      "route": "/orgs/acme/workspaces/red-team/settings.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-assets-app-bundle-js-b947fbe6.review",
      "challengeId": "dast.route.passive-assets-app-bundle-js-b947fbe6",
      "variant": "review",
      "title": "Passive · Assets · App bundle js review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/assets/app.bundle.js",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-assets-app-bundle-js-map-290d4171.review",
      "challengeId": "dast.route.passive-assets-app-bundle-js-map-290d4171",
      "variant": "review",
      "title": "Passive · Assets · App bundle js map review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/assets/app.bundle.js.map",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-assets-client-config-js-39fddcdc.review",
      "challengeId": "dast.route.passive-assets-client-config-js-39fddcdc",
      "variant": "review",
      "title": "Passive · Assets · Client config js review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/assets/client-config.js",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-checkout-payment-html-e9006afa.review",
      "challengeId": "dast.route.passive-checkout-payment-html-e9006afa",
      "variant": "review",
      "title": "Passive · Checkout · Payment html review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/checkout/payment.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-debug-source-map-html-a6a2b6fc.review",
      "challengeId": "dast.route.passive-debug-source-map-html-a6a2b6fc",
      "variant": "review",
      "title": "Passive · Debug · Source map html review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/debug/source-map.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-downloads-report-csv-769fe967.review",
      "challengeId": "dast.route.passive-downloads-report-csv-769fe967",
      "variant": "review",
      "title": "Passive · Downloads · Report csv review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/downloads/report.csv",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-files-data-dump-20cc1254.review",
      "challengeId": "dast.route.passive-files-data-dump-20cc1254",
      "variant": "review",
      "title": "Passive · Files · Data dump review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/files/data.dump",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-fixtures-data-sensitive-data-html-0ec19400.review",
      "challengeId": "dast.route.passive-fixtures-data-sensitive-data-html-0ec19400",
      "variant": "review",
      "title": "Passive · Fixtures · Data · Sensitive data html review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/fixtures/data/sensitive-data.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-fixtures-deser-indicator-html-d996a5c4.review",
      "challengeId": "dast.route.passive-fixtures-deser-indicator-html-d996a5c4",
      "variant": "review",
      "title": "Passive · Fixtures · Deser · Indicator html review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/fixtures/deser/indicator.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-fixtures-errors-stacktraces-html-aab7894a.review",
      "challengeId": "dast.route.passive-fixtures-errors-stacktraces-html-aab7894a",
      "variant": "review",
      "title": "Passive · Fixtures · Errors · Stacktraces html review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/fixtures/errors/stacktraces.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-fixtures-headers-hsts-over-http-html-99755486.review",
      "challengeId": "dast.route.passive-fixtures-headers-hsts-over-http-html-99755486",
      "variant": "review",
      "title": "Passive · Fixtures · Headers · Hsts over http html review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/fixtures/headers/hsts-over-http.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-fixtures-headers-report-only-html-b4235bf4.review",
      "challengeId": "dast.route.passive-fixtures-headers-report-only-html-b4235bf4",
      "variant": "review",
      "title": "Passive · Fixtures · Headers · Report only html review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/fixtures/headers/report-only.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-fixtures-params-high-risk-html-0af99c81.review",
      "challengeId": "dast.route.passive-fixtures-params-high-risk-html-0af99c81",
      "variant": "review",
      "title": "Passive · Fixtures · Params · High risk html review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/fixtures/params/high-risk.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-fixtures-tokens-index-html-53ba4070.review",
      "challengeId": "dast.route.passive-fixtures-tokens-index-html-53ba4070",
      "variant": "review",
      "title": "Passive · Fixtures · Tokens · Index html review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/fixtures/tokens/index.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-fixtures-tokens-jwt-url-html-b66d2e66.review",
      "challengeId": "dast.route.passive-fixtures-tokens-jwt-url-html-b66d2e66",
      "variant": "review",
      "title": "Passive · Fixtures · Tokens · Jwt url html review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/fixtures/tokens/jwt-url.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-fixtures-tokens-url-leaks-html-cc722dcf.review",
      "challengeId": "dast.route.passive-fixtures-tokens-url-leaks-html-cc722dcf",
      "variant": "review",
      "title": "Passive · Fixtures · Tokens · Url leaks html review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/fixtures/tokens/url-leaks.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-graphiql-5af2d466.review",
      "challengeId": "dast.route.passive-graphiql-5af2d466",
      "variant": "review",
      "title": "Passive · Graphiql review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/graphiql",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-graphql-5976ed21.review",
      "challengeId": "dast.route.passive-graphql-5976ed21",
      "variant": "review",
      "title": "Passive · Graphql review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/graphql",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-openapi-json-322c3b83.review",
      "challengeId": "dast.route.passive-openapi-json-322c3b83",
      "variant": "review",
      "title": "Passive · Openapi json review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/openapi.json",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-openapi-yaml-de6bb8ea.review",
      "challengeId": "dast.route.passive-openapi-yaml-de6bb8ea",
      "variant": "review",
      "title": "Passive · Openapi yaml review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/openapi.yaml",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-postman-collection-json-e1d8a2cf.review",
      "challengeId": "dast.route.passive-postman-collection-json-e1d8a2cf",
      "variant": "review",
      "title": "Passive · Postman collection json review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/postman.collection.json",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-realtime-events-5d1f02d1.review",
      "challengeId": "dast.route.passive-realtime-events-5d1f02d1",
      "variant": "review",
      "title": "Passive · Realtime · Events review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/realtime/events",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-realtime-overview-html-83e04df2.review",
      "challengeId": "dast.route.passive-realtime-overview-html-83e04df2",
      "variant": "review",
      "title": "Passive · Realtime · Overview html review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/realtime/overview.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-realtime-ws-b4ad985f.review",
      "challengeId": "dast.route.passive-realtime-ws-b4ad985f",
      "variant": "review",
      "title": "Passive · Realtime · Ws review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/realtime/ws",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET-UPGRADE"
        ],
        "transport": "websocket"
      }
    },
    {
      "id": "dast.route.passive-redoc-2fba9c18.review",
      "challengeId": "dast.route.passive-redoc-2fba9c18",
      "variant": "review",
      "title": "Passive · Redoc review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/redoc",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-swagger-ui-index-html-f4e5d4c2.review",
      "challengeId": "dast.route.passive-swagger-ui-index-html-f4e5d4c2",
      "variant": "review",
      "title": "Passive · Swagger ui · Index html review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/swagger-ui/index.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.passive-upload-index-html-eef47e92.review",
      "challengeId": "dast.route.passive-upload-index-html-eef47e92",
      "variant": "review",
      "title": "Passive · Upload · Index html review route",
      "engines": [
        "DAST"
      ],
      "route": "/passive/upload/index.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "POST"
        ],
        "transport": "http"
      }
    },
    {
      "id": "iast.postmessage-form-hijack-minimal",
      "challengeId": "iast.postmessage-form-hijack-minimal",
      "variant": "review",
      "title": "postMessage form hijack — minimal automation case",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_postmessage_form_hijack_minimal.html"
    },
    {
      "id": "dast.route.robots-txt-b7a9adb9.review",
      "challengeId": "dast.route.robots-txt-b7a9adb9",
      "variant": "review",
      "title": "Robots txt review route",
      "engines": [
        "DAST"
      ],
      "route": "/robots.txt",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.socket-io-005395ee.review",
      "challengeId": "dast.route.socket-io-005395ee",
      "variant": "review",
      "title": "Socket io review route",
      "engines": [
        "DAST"
      ],
      "route": "/socket.io/",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET-UPGRADE"
        ],
        "transport": "websocket"
      }
    },
    {
      "id": "dast.route.sockjs-echo-aabf14de.review",
      "challengeId": "dast.route.sockjs-echo-aabf14de",
      "variant": "review",
      "title": "Sockjs · Echo review route",
      "engines": [
        "DAST"
      ],
      "route": "/sockjs/echo",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET-UPGRADE"
        ],
        "transport": "websocket"
      }
    },
    {
      "id": "dast.route.support-tickets-create-b22bcaf8.review",
      "challengeId": "dast.route.support-tickets-create-b22bcaf8",
      "variant": "review",
      "title": "Support · Tickets · Create review route",
      "engines": [
        "DAST"
      ],
      "route": "/support/tickets/create",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "POST"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.switch-tenant-3ec88e58.review",
      "challengeId": "dast.route.switch-tenant-3ec88e58",
      "variant": "review",
      "title": "Switch tenant review route",
      "engines": [
        "DAST"
      ],
      "route": "/switch-tenant",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "POST"
        ],
        "transport": "http"
      }
    },
    {
      "id": "dast.route.wp-admin-index-html-726cc2b9.review",
      "challengeId": "dast.route.wp-admin-index-html-726cc2b9",
      "variant": "review",
      "title": "Wp admin · Index html review route",
      "engines": [
        "DAST"
      ],
      "route": "/wp-admin/index.html",
      "runtime": {
        "kind": "route-aware-server",
        "protocol": "http-or-https",
        "loopbackOnly": true
      },
      "request": {
        "methods": [
          "GET",
          "HEAD"
        ],
        "transport": "http"
      }
    },
    {
      "id": "passive.well-known-openid-configuration",
      "challengeId": "passive.well-known-openid-configuration",
      "variant": "review",
      "title": ".well-known and metadata files",
      "engines": [
        "DAST"
      ],
      "route": "/.well-known/openid-configuration"
    },
    {
      "id": "sast.append-child",
      "challengeId": "sast.append-child",
      "variant": "review",
      "title": "`appendChild`",
      "engines": [
        "SAST"
      ],
      "route": "./sast/append_child.html"
    },
    {
      "id": "sast.document-write",
      "challengeId": "sast.document-write",
      "variant": "review",
      "title": "`document.write` / `writeln`",
      "engines": [
        "SAST"
      ],
      "route": "./sast/document_write.html"
    },
    {
      "id": "sast.eval",
      "challengeId": "sast.eval",
      "variant": "review",
      "title": "`eval` family",
      "engines": [
        "SAST"
      ],
      "route": "./sast/eval.html"
    },
    {
      "id": "sast.inner-html",
      "challengeId": "sast.inner-html",
      "variant": "review",
      "title": "`innerHTML`",
      "engines": [
        "SAST"
      ],
      "route": "./sast/inner_html.html"
    },
    {
      "id": "sast.insert-adjacent-html",
      "challengeId": "sast.insert-adjacent-html",
      "variant": "review",
      "title": "`insertAdjacentHTML`",
      "engines": [
        "SAST"
      ],
      "route": "./sast/insert_adjacent_html.html"
    },
    {
      "id": "sast.function-constructor",
      "challengeId": "sast.function-constructor",
      "variant": "review",
      "title": "`new Function()`",
      "engines": [
        "SAST"
      ],
      "route": "./sast/function_constructor.html"
    },
    {
      "id": "sast.ajax-request-header",
      "challengeId": "sast.ajax-request-header",
      "variant": "review",
      "title": "Ajax request headers",
      "engines": [
        "SAST"
      ],
      "route": "./sast/ajax_request_header.html"
    },
    {
      "id": "iast.iast-blob-object-url-execution",
      "challengeId": "iast.iast-blob-object-url-execution",
      "variant": "review",
      "title": "Blob object URL execution",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_blob_object_url_execution.html"
    },
    {
      "id": "iast.iast-web-messaging-channels",
      "challengeId": "iast.iast-web-messaging-channels",
      "variant": "review",
      "title": "Broadcast/Message channels",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_web_messaging_channels.html"
    },
    {
      "id": "sast.service-worker-cache-poisoning",
      "challengeId": "sast.service-worker-cache-poisoning",
      "variant": "review",
      "title": "Cache poisoning",
      "engines": [
        "SAST"
      ],
      "route": "./sast/service_worker_cache_poisoning.html"
    },
    {
      "id": "passive.passive-assets-client-config-js",
      "challengeId": "passive.passive-assets-client-config-js",
      "variant": "review",
      "title": "Client config and secret-like values",
      "engines": [
        "DAST"
      ],
      "route": "/passive/assets/client-config.js"
    },
    {
      "id": "iast.iast-client-http-exfiltration",
      "challengeId": "iast.iast-client-http-exfiltration",
      "variant": "review",
      "title": "Client HTTP exfiltration",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_client_http_exfiltration.html"
    },
    {
      "id": "iast.iast-client-json-parsing",
      "challengeId": "iast.iast-client-json-parsing",
      "variant": "review",
      "title": "Client JSON parsing",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_client_json_parsing.html"
    },
    {
      "id": "iast.iast-client-sql-injection",
      "challengeId": "iast.iast-client-sql-injection",
      "variant": "review",
      "title": "Client SQL injection",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_client_sql_injection.html"
    },
    {
      "id": "sast.client-template-injection",
      "challengeId": "sast.client-template-injection",
      "variant": "review",
      "title": "Client template injection",
      "engines": [
        "SAST"
      ],
      "route": "./sast/client_template_injection.html"
    },
    {
      "id": "sast.client-injection",
      "challengeId": "sast.client-injection",
      "variant": "review",
      "title": "Client-side JSON / SQL / XPath",
      "engines": [
        "SAST"
      ],
      "route": "./sast/client_injection.html"
    },
    {
      "id": "iast.iast-clipboard-exfiltration",
      "challengeId": "iast.iast-clipboard-exfiltration",
      "variant": "review",
      "title": "Clipboard writes",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_clipboard_exfiltration.html"
    },
    {
      "id": "sast.cookie",
      "challengeId": "sast.cookie",
      "variant": "review",
      "title": "Cookie security",
      "engines": [
        "SAST"
      ],
      "route": "./sast/cookie.html"
    },
    {
      "id": "iast.iast-csrf-like-requests",
      "challengeId": "iast.iast-csrf-like-requests",
      "variant": "review",
      "title": "CSRF-like requests",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_csrf_like_requests.html"
    },
    {
      "id": "iast.iast-debug-logging-leaks",
      "challengeId": "iast.iast-debug-logging-leaks",
      "variant": "review",
      "title": "Debug logging leaks",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_debug_logging_leaks.html"
    },
    {
      "id": "iast.iast-document-domain-manipulation",
      "challengeId": "iast.iast-document-domain-manipulation",
      "variant": "review",
      "title": "document.domain",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_document_domain_manipulation.html"
    },
    {
      "id": "iast.iast-dom-clobbering",
      "challengeId": "iast.iast-dom-clobbering",
      "variant": "review",
      "title": "DOM clobbering",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_dom_clobbering.html"
    },
    {
      "id": "sast.dom-clobbering",
      "challengeId": "sast.dom-clobbering",
      "variant": "review",
      "title": "DOM clobbering",
      "engines": [
        "SAST"
      ],
      "route": "./sast/dom_clobbering.html"
    },
    {
      "id": "sast.dom-data-manipulation",
      "challengeId": "sast.dom-data-manipulation",
      "variant": "review",
      "title": "DOM data manipulation",
      "engines": [
        "SAST"
      ],
      "route": "./sast/dom_data_manipulation.html"
    },
    {
      "id": "iast.iast-dom-parser-xss",
      "challengeId": "iast.iast-dom-parser-xss",
      "variant": "review",
      "title": "DOM parser XSS",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_dom_parser_xss.html"
    },
    {
      "id": "sast.dom-selector",
      "challengeId": "sast.dom-selector",
      "variant": "review",
      "title": "DOM selector injection",
      "engines": [
        "SAST"
      ],
      "route": "./sast/dom_selector.html"
    },
    {
      "id": "iast.iast-dom-url-navigation",
      "challengeId": "iast.iast-dom-url-navigation",
      "variant": "review",
      "title": "DOM URL navigation",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_dom_url_navigation.html"
    },
    {
      "id": "iast.iast-dom-xss-secondary-sources",
      "challengeId": "iast.iast-dom-xss-secondary-sources",
      "variant": "review",
      "title": "DOM XSS secondary sources",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_dom_xss_secondary_sources.html"
    },
    {
      "id": "iast.iast-dom-xss",
      "challengeId": "iast.iast-dom-xss",
      "variant": "review",
      "title": "DOM XSS sinks",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_dom_xss.html"
    },
    {
      "id": "file.sast-append-child-copy-advanced-3f01e3c929",
      "challengeId": "legacy.sast-append-child-copy",
      "variant": "review",
      "title": "DOM-based test cases — appendChild()",
      "engines": [
        "SAST"
      ],
      "route": "/sast/append_child copy.advanced.html"
    },
    {
      "id": "file.sast-test-advanced-a44b653a55",
      "challengeId": "legacy.sast-test",
      "variant": "review",
      "title": "DOM-based test cases — document.cookie security",
      "engines": [
        "SAST"
      ],
      "route": "/sast/test.advanced.html"
    },
    {
      "id": "file.sast-dom-data-manipulation-copy-advanced-566f497511",
      "challengeId": "legacy.sast-dom-data-manipulation-copy",
      "variant": "review",
      "title": "DOM-based test cases — DOM data manipulation sinks",
      "engines": [
        "SAST"
      ],
      "route": "/sast/dom_data_manipulation copy.advanced.html"
    },
    {
      "id": "iast.iast-dynamic-script-loading",
      "challengeId": "iast.iast-dynamic-script-loading",
      "variant": "review",
      "title": "Dynamic script loading",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_dynamic_script_loading.html"
    },
    {
      "id": "passive.passive-fixtures-errors-stacktraces",
      "challengeId": "passive.passive-fixtures-errors-stacktraces",
      "variant": "review",
      "title": "Errors, stack traces, and internal hints",
      "engines": [
        "DAST"
      ],
      "route": "/passive/fixtures/errors/stacktraces.html"
    },
    {
      "id": "file.passive-file-transfer-surface-24ec8d11ca",
      "challengeId": "legacy.passive-file-transfer-surface",
      "variant": "review",
      "title": "File and data transfer fixture",
      "engines": [
        "DAST"
      ],
      "route": "/passive/file_transfer_surface.html"
    },
    {
      "id": "iast.iast-file-reader-sensitive-flows",
      "challengeId": "iast.iast-file-reader-sensitive-flows",
      "variant": "review",
      "title": "FileReader sensitive flows",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_file_reader_sensitive_flows.html"
    },
    {
      "id": "iast.iast-form-submission-hijack",
      "challengeId": "iast.iast-form-submission-hijack",
      "variant": "review",
      "title": "Form submission hijack",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_form_submission_hijack.html"
    },
    {
      "id": "iast.iast-form-submit-csrf",
      "challengeId": "iast.iast-form-submit-csrf",
      "variant": "review",
      "title": "Form submit trust",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_form_submit_csrf.html"
    },
    {
      "id": "passive.passive-checkout-payment",
      "challengeId": "passive.passive-checkout-payment",
      "variant": "review",
      "title": "Forms, workflows, and high-risk parameters",
      "engines": [
        "DAST"
      ],
      "route": "/passive/checkout/payment.html"
    },
    {
      "id": "passive.wp-admin-index",
      "challengeId": "passive.wp-admin-index",
      "variant": "review",
      "title": "Framework and console surfaces",
      "engines": [
        "DAST"
      ],
      "route": "/wp-admin/index.html"
    },
    {
      "id": "passive.passive-fixtures-headers-weak-security",
      "challengeId": "passive.passive-fixtures-headers-weak-security",
      "variant": "review",
      "title": "Headers, CORS, cache, and trust boundaries",
      "engines": [
        "DAST"
      ],
      "route": "/passive/fixtures/headers/weak-security.html"
    },
    {
      "id": "iast.iast-iframe-navigation",
      "challengeId": "iast.iast-iframe-navigation",
      "variant": "review",
      "title": "IFrame navigation",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_iframe_navigation.html"
    },
    {
      "id": "iast.iast-inbound-channel-trust",
      "challengeId": "iast.iast-inbound-channel-trust",
      "variant": "review",
      "title": "Inbound channel trust",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_inbound_channel_trust.html"
    },
    {
      "id": "iast.iast-indexeddb-cache-storage",
      "challengeId": "iast.iast-indexeddb-cache-storage",
      "variant": "review",
      "title": "IndexedDB and CacheStorage",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_indexeddb_cache_storage.html"
    },
    {
      "id": "sast.javascript-injection-taint",
      "challengeId": "sast.javascript-injection-taint",
      "variant": "review",
      "title": "JavaScript injection (taint)",
      "engines": [
        "SAST"
      ],
      "route": "./sast/javascript_injection_taint.html"
    },
    {
      "id": "iast.iast-js-execution",
      "challengeId": "iast.iast-js-execution",
      "variant": "review",
      "title": "JS execution sinks",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_js_execution.html"
    },
    {
      "id": "sast.jwt-client-misuse",
      "challengeId": "sast.jwt-client-misuse",
      "variant": "review",
      "title": "JWT client misuse",
      "engines": [
        "SAST"
      ],
      "route": "./sast/jwt_client_misuse.html"
    },
    {
      "id": "sast.link-manipulation",
      "challengeId": "sast.link-manipulation",
      "variant": "review",
      "title": "Link manipulation",
      "engines": [
        "SAST"
      ],
      "route": "./sast/link_manipulation.html"
    },
    {
      "id": "iast.iast-open-redirect",
      "challengeId": "iast.iast-open-redirect",
      "variant": "review",
      "title": "Open redirects",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_open_redirect.html"
    },
    {
      "id": "sast.open-redirect",
      "challengeId": "sast.open-redirect",
      "variant": "review",
      "title": "Open redirects",
      "engines": [
        "SAST"
      ],
      "route": "./sast/open_redirect.html"
    },
    {
      "id": "iast.iast-postmessage-misuse",
      "challengeId": "iast.iast-postmessage-misuse",
      "variant": "review",
      "title": "postMessage misuse",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_postmessage_misuse.html"
    },
    {
      "id": "sast.prototype-pollution-client",
      "challengeId": "sast.prototype-pollution-client",
      "variant": "review",
      "title": "Prototype pollution",
      "engines": [
        "SAST"
      ],
      "route": "./sast/prototype_pollution_client.html"
    },
    {
      "id": "iast.iast-prototype-pollution-impact",
      "challengeId": "iast.iast-prototype-pollution-impact",
      "variant": "review",
      "title": "Prototype pollution impact",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_prototype_pollution_impact.html"
    },
    {
      "id": "passive.passive-realtime-overview",
      "challengeId": "passive.passive-realtime-overview",
      "variant": "review",
      "title": "Realtime and upgrade surfaces",
      "engines": [
        "DAST"
      ],
      "route": "/passive/realtime/overview.html"
    },
    {
      "id": "iast.iast-realtime-exfiltration",
      "challengeId": "iast.iast-realtime-exfiltration",
      "variant": "review",
      "title": "Realtime exfiltration",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_realtime_exfiltration.html"
    },
    {
      "id": "iast.iast-referrer-helper",
      "challengeId": "iast.iast-referrer-helper",
      "variant": "review",
      "title": "Referrer helper",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_referrer_helper.html"
    },
    {
      "id": "iast.iast-response-field-reachability",
      "challengeId": "iast.iast-response-field-reachability",
      "variant": "review",
      "title": "Response field reachability",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_response_field_reachability.html"
    },
    {
      "id": "iast.iast-route-controlled-navigation",
      "challengeId": "iast.iast-route-controlled-navigation",
      "variant": "review",
      "title": "Route controlled navigation",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_route_controlled_navigation.html"
    },
    {
      "id": "iast.iast-runtime",
      "challengeId": "iast.iast-runtime",
      "variant": "review",
      "title": "Runtime playground",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_runtime.html"
    },
    {
      "id": "sast.secrets",
      "challengeId": "sast.secrets",
      "variant": "review",
      "title": "Secrets fixture",
      "engines": [
        "SAST"
      ],
      "route": "./sast/secrets.html"
    },
    {
      "id": "passive.passive-fixtures-data-sensitive-data",
      "challengeId": "passive.passive-fixtures-data-sensitive-data",
      "variant": "review",
      "title": "Sensitive data and serialized indicators",
      "engines": [
        "DAST"
      ],
      "route": "/passive/fixtures/data/sensitive-data.html"
    },
    {
      "id": "file.passive-deserialization-indicator-242b1e6b07",
      "challengeId": "legacy.passive-deserialization-indicator",
      "variant": "review",
      "title": "Serialized-value passive indicators",
      "engines": [
        "DAST"
      ],
      "route": "/passive/deserialization_indicator.html"
    },
    {
      "id": "iast.iast-session-material-cross-boundary-exfiltration",
      "challengeId": "iast.iast-session-material-cross-boundary-exfiltration",
      "variant": "review",
      "title": "Session material cross-boundary",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_session_material_cross_boundary_exfiltration.html"
    },
    {
      "id": "file.passive-sourcemap-debug-eb64e5c6e4",
      "challengeId": "legacy.passive-sourcemap-debug",
      "variant": "review",
      "title": "Source maps and debug artifacts",
      "engines": [
        "DAST"
      ],
      "route": "/passive/sourcemap_debug.html"
    },
    {
      "id": "sast.storage-security",
      "challengeId": "sast.storage-security",
      "variant": "review",
      "title": "Storage security",
      "engines": [
        "SAST"
      ],
      "route": "./sast/storage_security.html"
    },
    {
      "id": "iast.iast-storage-taint-to-exec",
      "challengeId": "iast.iast-storage-taint-to-exec",
      "variant": "review",
      "title": "Storage taint to execution",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_storage_taint_to_exec.html"
    },
    {
      "id": "iast.iast-storage-token-leaks",
      "challengeId": "iast.iast-storage-token-leaks",
      "variant": "review",
      "title": "Storage token leaks",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_storage_token_leaks.html"
    },
    {
      "id": "iast.iast-storage-backed-request-reuse",
      "challengeId": "iast.iast-storage-backed-request-reuse",
      "variant": "review",
      "title": "Storage-backed request reuse",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_storage_backed_request_reuse.html"
    },
    {
      "id": "passive.passive-swagger-ui-index",
      "challengeId": "passive.passive-swagger-ui-index",
      "variant": "review",
      "title": "Swagger, OpenAPI, ReDoc, and GraphQL",
      "engines": [
        "DAST"
      ],
      "route": "/passive/swagger-ui/index.html"
    },
    {
      "id": "passive.orgs-acme-workspaces-red-team-settings",
      "challengeId": "passive.orgs-acme-workspaces-red-team-settings",
      "variant": "review",
      "title": "Tenant-boundary surfaces",
      "engines": [
        "DAST"
      ],
      "route": "/orgs/acme/workspaces/red-team/settings.html"
    },
    {
      "id": "iast.iast-timer-js-execution",
      "challengeId": "iast.iast-timer-js-execution",
      "variant": "review",
      "title": "Timer-based execution",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_timer_js_execution.html"
    },
    {
      "id": "file.passive-token-param-surfaces-12112237dd",
      "challengeId": "legacy.passive-token-param-surfaces",
      "variant": "review",
      "title": "Token-in-URL and high-risk parameter fixture",
      "engines": [
        "DAST"
      ],
      "route": "/passive/token_param_surfaces.html"
    },
    {
      "id": "iast.iast-trusted-types-and-sanitizer-misuse",
      "challengeId": "iast.iast-trusted-types-and-sanitizer-misuse",
      "variant": "review",
      "title": "Trusted Types and sanitizers",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_trusted_types_and_sanitizer_misuse.html"
    },
    {
      "id": "sast.web-message",
      "challengeId": "sast.web-message",
      "variant": "review",
      "title": "Web message handling",
      "engines": [
        "SAST"
      ],
      "route": "./sast/web_message.html"
    },
    {
      "id": "iast.iast-websocket-url-poisoning",
      "challengeId": "iast.iast-websocket-url-poisoning",
      "variant": "review",
      "title": "WebSocket URL poisoning",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_websocket_url_poisoning.html"
    },
    {
      "id": "iast.iast-worker-script-loading",
      "challengeId": "iast.iast-worker-script-loading",
      "variant": "review",
      "title": "Worker registrations",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_worker_script_loading.html"
    },
    {
      "id": "iast.iast-xpath-injection",
      "challengeId": "iast.iast-xpath-injection",
      "variant": "review",
      "title": "XPath injection",
      "engines": [
        "IAST"
      ],
      "route": "./iast/iast_xpath_injection.html"
    }
  ]
}
