def METHOD_NAME(vm, uds_path, blob_path, blob_hash):
    """Negative test for host-initiated connections.
    This will start a daemonized echo server on the guest VM, and then spawn
    `NEGATIVE_TEST_CONNECTION_COUNT` `HostEchoWorker` threads.
    Closes the UDS sockets while data is in flight.
    """
    cmd = "/tmp/vsock_helper echosrv -d {}".format(ECHO_SERVER_PORT)
    ecode, _, _ = vm.ssh.run(cmd)
    assert ecode == 0
    workers = []
    for _ in range(NEGATIVE_TEST_CONNECTION_COUNT):
        worker = HostEchoWorker(uds_path, blob_path)
        workers.append(worker)
        worker.start()
    for wrk in workers:
        wrk.close_uds()
        wrk.join()
    # Validate that Firecracker is still up and running.
    ecode, _, _ = vm.ssh.run("sync")
    # Should fail if Firecracker exited from SIGPIPE handler.
    assert ecode == 0
    # Validate vsock emulation still accepts connections and works
    # as expected.
    check_host_connections(vm, uds_path, blob_path, blob_hash)