fix(规则脚本): 规则引擎 Groovy 脚本注入导致远程代码执行漏洞修复

This commit is contained in:
gx_ma
2026-10-08 09:28:44 +08:00
parent 09815ec5d2
commit e4ed6edbd6

View File

@@ -1,107 +0,0 @@
{
"date": "2026-10-01",
"timezone": "Asia/Shanghai",
"artifact": "D:\\ideaProject\\fastbee\\.security-fix\\backend-verify\\springboot\\fastbee-admin\\target\\fastbee-admin.jar",
"bytes": 161967403,
"sha256": "1996143de1ae02120be3b47da6d1f6feddf5197e9ae4ddccee55d0ae0165f2f4",
"scriptProviders": [
{
"jar": "BOOT-INF/lib/fastbee-ruleEngine-2.1.0.jar",
"provider": "com.fastbee.ruleEngine.security.SecureGroovyScriptExecutor"
}
],
"obsoleteSandboxClassPresent": false,
"bundledProjectJarChecks": [
"fastbee-framework-2.1.0.jar",
"fastbee-common-2.1.0.jar",
"fastbee-system-service-2.1.0.jar",
"fastbee-quartz-2.1.0.jar",
"fastbee-generator-2.1.0.jar",
"fastbee-open-api-2.1.0.jar",
"mqtt-broker-2.1.0.jar",
"iot-server-core-2.1.0.jar",
"sip-server-2.1.0.jar",
"boot-strap-2.1.0.jar",
"fastbee-protocol-collect-2.1.0.jar",
"base-server-2.1.0.jar",
"fastbee-iot-service-2.1.0.jar",
"fastbee-ruleEngine-2.1.0.jar",
"gateway-boot-2.1.0.jar",
"fastbee-mq-2.1.0.jar",
"fastbee-mqtt-client-2.1.0.jar"
],
"adminClassChecks": 28,
"suites": [
{
"name": "com.fastbee.ruleEngine.security.SecureGroovyScriptExecutorTest",
"tests": "16",
"failures": "0",
"errors": "0",
"skipped": "0"
},
{
"name": "com.fastbee.security.SecurityRegressionTest",
"tests": "26",
"failures": "0",
"errors": "0",
"skipped": "0"
}
],
"backendTests": 42,
"frontendChecks": 32,
"build": "clean package SUCCESS",
"frontendBuild": "production build SUCCESS",
"browser": {
"environment": "local production bundle, Chromium, mocked API; no deployed services accessed",
"passed": 7,
"checks": [
"restricted admin opens only the password page without homepage requests or error toasts",
"refreshing the password page neither loops nor starts business requests",
"direct big-screen navigation is gated before its components mount",
"successful password change logs out and reaches login without mounting the homepage",
"the complete restricted-account browser flow has no uncaught page errors",
"demo account clears stale local restrictions and enters the homepage normally",
"production bundle initializes routes and homepage data successfully for the demo account"
]
},
"demoPasswordExemption": {
"storedUserName": "fastbee",
"builtInAdminExcluded": true,
"authenticationAndAuthorizationStillRequired": true
},
"isolatedBuildRoot": "D:\\ideaProject\\fastbee\\.security-fix\\backend-verify\\springboot",
"sourceSnapshotChecks": 1051,
"adminResourceChecks": [
"i18n/messages.properties",
"i18n/messages_zh_CN.properties",
"i18n/messages_en_US.properties"
],
"ruleScriptCompatibility": {
"scriptId": "D1782337038486474752",
"source": "repository database seed, tested without changing the script logic",
"input": {
"co2": 666
},
"output": [
{
"id": "co2",
"value": "666"
}
],
"safeConsoleLogging": "PASS",
"forEachCallbacksSandboxed": "PASS",
"ruleProcessToJsonDecoder": "PASS",
"invalidPayloadErrorInThreeLocales": "PASS",
"realDeviceRetest": "NOT_RUN"
},
"ideStartupRecovery": {
"scope": "original workspace target/classes plus verified package runtime dependencies; IDE temporary manifest removed; offline checks only; application not started",
"restoredCompile": "PASS",
"classpathEntries": 282,
"sourceResourceChecks": 104,
"mybatisConfiguration": "PASS",
"scriptExecutorProvider": "PASS",
"databaseSeedRuleConversion": "PASS",
"fullApplicationStartup": "NOT_RUN"
}
}