У меня есть микросервис с пружинными ботинками, который имеет много конечных точек API. Моя команда DevOps недавно применила Snyk Scan для сборки Jenkins, которая предотвращает развертывание API из -за следующей ошибки: < /p>
Unsanitized ввод от тела HTTP -запроса здесь, где она используется для визуализации HTML -страницы, возвращенной пользователю. Это может привести к перекрестной атаке сценариев (xss).
Я понимаю, что Snyk предупреждает меня не использовать входные данные в API, поскольку он может содержать какой-то нежелательный символ, который может вызвать проблему. Кроме того, я выполняю должное соответствие данных (с точки зрения регулярного положения, типов данных, размера, длины, расширений и т. Д.). Следовательно, насколько мне известно, здесь нет никакой причины XSS. До сих пор я попробовал эти 2 решения, которые, очевидно, не работали < /p>
Как было предложено самим Snyk, я попытался установить заголовок типа контента для приложения JSON. Я предположил, что Snyk подумал, что это не возвращаемый скрипт. /> Пример кода для справки -< /p>
@PostMapping
public Mono xyzmethod(@RequestPart List strings) {
return Mono.deferContextual(contextView -> {
String correlationId = contextView.getOrDefault(CORRELATION_ID, "");
log.info("correlationId: {} [Start]-Controller-POST /v1/", correlationId);
return abcService.updateString(strings) // snyk complains about using it directly without sanitizing
.map(response -> {
HttpStatus httpStatus = Constants.SUCCESS.equals(response.getStatus()) ? HttpStatus.OK : HttpStatus.BAD_REQUEST;
return ResponseEntity.status(httpStatus).body(response);
});
});
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... s-per-snyk