#fixed code
                                private boolean applyFromHeader(Server server, Map<String, String> metadata) {
        String mobile = gatewayStrategyContextHolder.getHeader("mobile");
        String version = metadata.get(DiscoveryConstant.VERSION);
        String serviceId = pluginAdapter.getServerServiceId(server);

        LOG.info("Gateway端负载均衡用户定制触发：mobile={}, serviceId={}, metadata={}", mobile, serviceId, metadata);

        if (StringUtils.isNotEmpty(mobile)) {
            // 手机号以移动138开头，路由到1.0版本的服务上
            if (mobile.startsWith("138") && StringUtils.equals(version, "1.0")) {
                return true;
                // 手机号以联通133开头，路由到2.0版本的服务上
            } else if (mobile.startsWith("133") && StringUtils.equals(version, "1.1")) {
                return true;
            } else {
                // 其它情况，直接拒绝请求
                return false;
            }
        }

        return true;
    }
#vulnerable code 
                                private boolean applyFromHeader(Server server, Map<String, String> metadata) {
        String token = gatewayStrategyContextHolder.getHeader("token");
        String serviceId = pluginAdapter.getServerServiceId(server);

        LOG.info("Gateway端负载均衡用户定制触发：token={}, serviceId={}, metadata={}", token, serviceId, metadata);

        String filterToken = "abc";
        if (StringUtils.isNotEmpty(token) && token.contains(filterToken)) {
            LOG.info("过滤条件：当Token含有'{}'的时候，不能被Ribbon负载均衡到", filterToken);

            return false;
        }

        return true;
    } 
                            #location 8 
                            #vulnerability type NULL_DEREFERENCE