Estoy tratando de desinfectar los datos JSON de la fuente de entrada en la siguiente función. Sin embargo, la herramienta Checkmarx todavía se queja sin importar dónde agregue sanitizeObject() . Agradezco cualquier sugerencia
const fs = require('fs') const config = require('config') var _require = require('jsdom'), JSDOM = _require.JSDOM; var window = new JSDOM('').window; var DOMPurify = createDOMPurify(window); function sanitizeValue(value){ return DOMPurify.sanitize(value); } function sanitizeObject(obj) { var sanitizedObject = {}; Object.keys(obj).forEach(function (key) { sanitizedObject[key] = sanitizeValue(obj[key]); }); return sanitizedObject; }; const getMyData = () => { let myData = JSON.parse(sanitizeObject(fs.readFileSync('./my/dist/path/mydata.json'))) return myData }Error de Checkmarx: error de CSS almacenado de la siguiente manera
se queja en readFileSync
La aplicación = incrusta datos que no son de confianza en la salida generada con envío, en Xx de module.js. Estos datos no confiables se incrustan directamente en la salida sin la desinfección o codificación adecuadas, lo que permite a un atacante inyectar código malicioso en la salida.
El atacante podría alterar la página web devuelta guardando datos maliciosos en un almacén de datos con anticipación. Luego, los datos modificados por el atacante se leen de la base de datos mediante el método = con readFileSync, en la línea 11 de module.js. Estos datos que no son de confianza luego fluyen a través del código directamente a la página web de salida, sin desinfección.
Esto puede habilitar un ataque de secuencias de comandos entre sitios almacenados (XSS)