{
  "framework": "Universal Honeypot Benchmarking Standard (UHBS) v4.0.1",
  "evaluation_type": "Full-Spectrum (Static Audit + Dynamic Sandbox)",
  "target": {
    "name": "espot",
    "kind": "generic",
    "host": "espot-lab",
    "port": 9200,
    "source_root": "/honeypot",
    "profile_class": "Web-API",
    "protocols": [
      "http"
    ],
    "ports_map": {
      "http": 9200
    }
  },
  "baseline": null,
  "uhqs": {
    "target": "espot",
    "S_A": 86.75,
    "S_B": 82.5,
    "S_C": 55.0,
    "C": 90.0,
    "S_E": 100.0,
    "S_F": 70.0,
    "delta_c": 0.81,
    "uhqs": 63.33,
    "weights": {
      "protocol": 0.25,
      "behavior": 0.2,
      "telemetry": 0.2,
      "scale": 0.15,
      "static": 0.2
    },
    "profile_class": "Web-API",
    "grade": "GRADE D (Needs Remediation)",
    "phase": "profile+static+sandbox+dynamic+score",
    "version": "4.0.1",
    "containment_measured": true
  },
  "hqs": {
    "target": "espot",
    "S_A": 86.75,
    "S_B": 82.5,
    "S_C": 55.0,
    "C": 90.0,
    "S_E": 100.0,
    "S_F": 70.0,
    "delta_c": 0.81,
    "uhqs": 63.33,
    "weights": {
      "protocol": 0.25,
      "behavior": 0.2,
      "telemetry": 0.2,
      "scale": 0.15,
      "static": 0.2
    },
    "profile_class": "Web-API",
    "grade": "GRADE D (Needs Remediation)",
    "phase": "profile+static+sandbox+dynamic+score",
    "version": "4.0.1",
    "containment_measured": true
  },
  "modules": [
    {
      "module": "SANDBOX",
      "dimension": "sandbox",
      "score": 85.0,
      "status": "PASSED",
      "checks": [
        {
          "id": "sandbox.reach.http",
          "team": "blue",
          "passed": true,
          "detail": "espot-lab:9200 open",
          "score": 25.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "sandbox.airgap_attested",
          "team": "blue",
          "passed": true,
          "detail": "operator attested air-gapped sandbox (UHBS_AIRGAP_ATTESTED=1)",
          "score": 25.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "sandbox.egress_deny_tooling",
          "team": "blue",
          "passed": false,
          "detail": "host-egress-deny.sh not found",
          "score": 10.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "sandbox.gateway_log_configured",
          "team": "blue",
          "passed": true,
          "detail": "UHBS_EGRESS_GATEWAY_LOG=/telemetry/egress-gateway.log",
          "score": 25.0,
          "evidence": [],
          "critical": false
        }
      ],
      "metrics": {
        "reachable_protocols": 1
      },
      "notes": [
        "Phase 3 preflight \u2014 does not replace real air-gap deployment"
      ],
      "error": null
    },
    {
      "module": "F",
      "dimension": "static",
      "score": 70.0,
      "status": "PASSED",
      "checks": [
        {
          "id": "white.static_private_keys",
          "team": "white",
          "passed": true,
          "detail": "0 static private keys",
          "score": 10.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "white.hardcoded_ssh_banners",
          "team": "white",
          "passed": true,
          "detail": "0 hardcoded SSH banners",
          "score": 5.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "white.predictable_seeds",
          "team": "white",
          "passed": true,
          "detail": "0 predictable PRNG seeds",
          "score": 5.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "white.hardcoded_macs",
          "team": "white",
          "passed": true,
          "detail": "0 hardcoded MAC addresses",
          "score": 5.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "white.prompt_corpus_present",
          "team": "white",
          "passed": true,
          "detail": "no prompt corpus (N/A for non-LLM)",
          "score": 5.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "white.prompt_boundaries",
          "team": "white",
          "passed": true,
          "detail": "no weak delimiter/extract patterns",
          "score": 10.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "white.fallback_strings",
          "team": "white",
          "passed": true,
          "detail": "no plain-text LLM fallback artifacts",
          "score": 10.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "white.bandit",
          "team": "white",
          "passed": true,
          "detail": "bandit HIGH=0",
          "score": 8.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "white.semgrep",
          "team": "white",
          "passed": false,
          "detail": "semgrep error/critical=2 total=6",
          "score": 6.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "white.trivy",
          "team": "white",
          "passed": true,
          "detail": "trivy not installed (skipped)",
          "score": 4.0.1,
          "evidence": [],
          "critical": false
        },
        {
          "id": "white.sast_gate",
          "team": "white",
          "passed": false,
          "detail": "2 high/critical findings",
          "score": 0.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "white.vfs_posix_coverage",
          "team": "white",
          "passed": false,
          "detail": "POSIX coverage 11% (11/104)",
          "score": 2.64,
          "evidence": [
            "cd",
            "date",
            "file",
            "id",
            "ip",
            "mv",
            "npm",
            "type",
            "uname",
            "wget",
            "whoami"
          ],
          "critical": false
        },
        {
          "id": "white.blocking_calls",
          "team": "white",
          "passed": true,
          "detail": "sleep/blocking markers in non-test code\u22480",
          "score": 5.0,
          "evidence": [],
          "critical": false
        }
      ],
      "metrics": {
        "source_root": "/honeypot"
      },
      "notes": [
        "Module F white-box audit (keys/prompts/SAST/VFS)"
      ],
      "error": null
    },
    {
      "module": "A",
      "dimension": "protocol",
      "score": 86.75,
      "status": "PASSED",
      "checks": [
        {
          "id": "rfc9110.reject_body_before_headers",
          "team": "red",
          "passed": true,
          "detail": "status=400",
          "score": 100.0,
          "evidence": [
            "HTTP/1.1 400 Bad Request\r\nConnection: close\r\n\r\n"
          ],
          "critical": false
        },
        {
          "id": "rfc9112.bare_lf_framing",
          "team": "blue",
          "passed": true,
          "detail": "HTTP/1.1 200",
          "score": 100.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "rfc9110.invalid_header_syntax",
          "team": "red",
          "passed": true,
          "detail": "status=400",
          "score": 100.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "rfc9110.unknown_http_version",
          "team": "blue",
          "passed": false,
          "detail": "status=200 (want 400/505 or close)",
          "score": 20.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "rfc9110.valid_get_status",
          "team": "blue",
          "passed": true,
          "detail": "HTTP/1.1 200",
          "score": 100.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "http.timing.sample_size",
          "team": "blue",
          "passed": true,
          "detail": "n=1000 requested=1000 errors=0",
          "score": 100.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "http.timing.iat_jitter",
          "team": "red",
          "passed": true,
          "detail": "median=0.179ms pstdev=0.413ms (target jitter often <2ms vs native)",
          "score": 100.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "http.module_a.composite",
          "team": "blue",
          "passed": true,
          "detail": "fsm=67 nego=100 timing=100",
          "score": 86.7496,
          "evidence": [],
          "critical": false
        }
      ],
      "metrics": {
        "per_protocol": {
          "http": 86.75
        },
        "protocols": [
          "http"
        ],
        "timing_samples": 1000,
        "available_plugins": [
          "ftp",
          "generic",
          "git",
          "http",
          "modbus",
          "mysql",
          "ntp",
          "rdp",
          "redis",
          "sip",
          "smb",
          "smtp",
          "snmp",
          "ssh",
          "telnet",
          "tftp",
          "vnc"
        ]
      },
      "notes": [
        "UHBS Module A \u2014 plugins=['http']",
        "class=Web-API strict_rfc=True"
      ],
      "error": null
    },
    {
      "module": "B",
      "dimension": "behavior",
      "score": 82.5,
      "status": "PASSED",
      "checks": [
        {
          "id": "http.state.consistent_get",
          "team": "blue",
          "passed": true,
          "detail": "consistent HTTP responses",
          "score": 100.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "http.payload.unsupported",
          "team": "red",
          "passed": true,
          "detail": "no payload probe \u2014 skipped",
          "score": 50.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "http.fuzz.binary",
          "team": "red",
          "passed": true,
          "detail": "survived binary blast",
          "score": 100.0,
          "evidence": [],
          "critical": false
        }
      ],
      "metrics": {
        "per_protocol": {
          "http": 82.5
        },
        "class": "Web-API"
      },
      "notes": [
        "UHBS Module B class=Web-API"
      ],
      "error": null
    },
    {
      "module": "C",
      "dimension": "telemetry",
      "score": 55.0,
      "status": "PARTIAL",
      "checks": [
        {
          "id": "http.fuzz.binary",
          "team": "red",
          "passed": true,
          "detail": "survived binary blast",
          "score": 100.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "c1.json_parse_clean",
          "team": "blue",
          "passed": true,
          "detail": "0 malformed / 0 records",
          "score": 20.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "c1.stix_2_1",
          "team": "blue",
          "passed": false,
          "detail": "no STIX objects found",
          "score": 0.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "c1.otel_or_ecs",
          "team": "blue",
          "passed": false,
          "detail": "otel_docs=0 ecs_docs=0",
          "score": 5.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "c1.payload_hashes",
          "team": "blue",
          "passed": false,
          "detail": "no md5/sha256 fields",
          "score": 0.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "c1.mitre_mapping",
          "team": "blue",
          "passed": false,
          "detail": "no MITRE tags",
          "score": 0.0,
          "evidence": [],
          "critical": false
        }
      ],
      "metrics": {},
      "notes": [
        "UHBS C1 schema: STIX 2.1 / OTel / ECS best-effort validators"
      ],
      "error": null
    },
    {
      "module": "D",
      "dimension": "containment",
      "score": 90.0,
      "status": "PARTIAL",
      "checks": [
        {
          "id": "d1.shell_exec_unavailable",
          "team": "blue",
          "passed": true,
          "detail": "no explicit SSH listener (ports.ssh / ssh_port) \u2014 remote shell egress/LPE probes skipped for this protocol",
          "score": 0.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "d1.egress_gateway_log",
          "team": "blue",
          "passed": true,
          "detail": "0 gateway canary hits",
          "score": 20.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "d1.airgap_attested",
          "team": "blue",
          "passed": true,
          "detail": "UHBS_AIRGAP_ATTESTED=1 (operator attestation; not a substitute for shell probes on SSH decoys)",
          "score": 0.0,
          "evidence": [],
          "critical": false
        }
      ],
      "metrics": {
        "breakout": false,
        "allowed_outbound_traffic": false,
        "shell_exec": false,
        "protocols": [
          "http"
        ]
      },
      "notes": [
        "Module D (protocol-agnostic): no SSH exec surface configured \u2014 Safety Gate cannot fully clear without shell probes or UHBS_EGRESS_GATEWAY_LOG evidence. Non-SSH decoys are graded on gateway/airgap attestation only."
      ],
      "error": null
    },
    {
      "module": "E",
      "dimension": "scale",
      "score": 100.0,
      "status": "PASSED",
      "checks": [
        {
          "id": "e1.p95_vs_tps",
          "team": "blue",
          "passed": true,
          "detail": "P50=3.0ms P95=8.3ms P99=10.3ms TPS_limit=150.0ms proto=http",
          "score": 45.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "e1.error_rate",
          "team": "blue",
          "passed": true,
          "detail": "errors=0/200 rate=0.00%",
          "score": 20.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "e2.exhaustion_input",
          "team": "red",
          "passed": true,
          "detail": "completed exhaustion/fuzz blast",
          "score": 15.0,
          "evidence": [],
          "critical": false
        },
        {
          "id": "e2.circuit_breaker_alive",
          "team": "blue",
          "passed": true,
          "detail": "service alive after load (connect 0.2ms)",
          "score": 20.0,
          "evidence": [],
          "critical": false
        }
      ],
      "metrics": {
        "p50_ms": 2.97,
        "p95_ms": 8.28,
        "p99_ms": 10.31,
        "p95_limit_ms": 150.0,
        "errors": 0,
        "concurrency": 25,
        "requests": 200,
        "wall_s": 0.06,
        "protocol": "http"
      },
      "notes": [],
      "error": null
    }
  ],
  "extras": {
    "target_scores": {
      "protocol": 86.75,
      "behavior": 82.5,
      "telemetry": 55.0,
      "containment": 90.0,
      "scale": 100.0,
      "static": 70.0
    },
    "uhqs_version": "4.0.1",
    "tps": {
      "name": "Web-API-Decoy",
      "class": "Web-API",
      "protocols": [
        "http"
      ],
      "expected_p95_latency_ms": 150.0
    }
  }
}