UNPKG

@hclsoftware/secagent

Version:

IAST agent

55 lines (46 loc) 1.59 kB
//IASTIGNORE /* * **************************************************** * Licensed Materials - Property of HCL. * (c) Copyright HCL Technologies Ltd. 2017, 2025. * Note to U.S. Government Users *Restricted Rights. * **************************************************** */ 'use strict' const TaskType = require('./TaskType') class ParameterUnderTest{ constructor (param, taskList){ this.taskList = taskList this.originalParam = param this.originalProcessedParam = this.getProcessedParam(this.originalParam); } mutate(mutagen){ return [this.originalParam, mutagen, this.originalParam].origJoin(''); } getProcessedParam(param){ if(this.taskList == null){return param} let tempParam = param for (const task of this.taskList){ tempParam = task.performAction(tempParam) if(task.taskType === TaskType.VALIDATION && !task.isVerified){ return null } } return tempParam } getMutatedProcessedParam(mutagen) { let beforeProcessing = this.mutate(mutagen) return { beforeProcessing : beforeProcessing, afterProcessing : this.getProcessedParam(beforeProcessing) } } setOriginalParamPlaceholder(){ this.getProcessedParamoriginalParam = "IAST" this.originalProcessedParam = getProcessedParam("IAST"); } emptyTaskList() { return this.taskList!=null && this.taskList.length === 0; } } module.exports.ParameterUnderTest = ParameterUnderTest