@objectstack/core 1.1.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +8 -8
- package/CHANGELOG.md +16 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js.map +1 -1
- package/examples/api-registry-example.ts +2 -0
- package/examples/kernel-features-example.ts +2 -0
- package/examples/phase2-integration.ts +2 -0
- package/package.json +2 -2
- package/src/api-registry-plugin.ts +2 -0
- package/src/api-registry.ts +2 -0
- package/src/contracts/data-engine.ts +2 -0
- package/src/contracts/http-server.ts +2 -0
- package/src/contracts/logger.ts +2 -0
- package/src/dependency-resolver.ts +2 -0
- package/src/health-monitor.ts +2 -0
- package/src/hot-reload.ts +2 -0
- package/src/index.ts +2 -0
- package/src/kernel-base.ts +2 -0
- package/src/kernel.ts +2 -0
- package/src/lite-kernel.ts +2 -0
- package/src/logger.ts +2 -0
- package/src/plugin-loader.ts +2 -0
- package/src/qa/adapter.ts +2 -0
- package/src/qa/http-adapter.ts +2 -0
- package/src/qa/index.ts +2 -0
- package/src/qa/runner.ts +2 -0
- package/src/security/index.ts +2 -0
- package/src/security/permission-manager.ts +2 -0
- package/src/security/plugin-config-validator.ts +2 -0
- package/src/security/plugin-permission-enforcer.ts +2 -0
- package/src/security/plugin-signature-verifier.ts +2 -0
- package/src/security/sandbox-runtime.ts +2 -0
- package/src/security/security-scanner.ts +10 -8
- package/src/types.ts +2 -0
- package/src/utils/env.ts +2 -0
- package/vitest.config.ts +2 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@objectstack/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "Microkernel Core for ObjectStack",
|
|
6
6
|
"type": "module",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"pino": "^10.3.0",
|
|
23
23
|
"pino-pretty": "^13.1.3",
|
|
24
24
|
"zod": "^3.24.1",
|
|
25
|
-
"@objectstack/spec": "
|
|
25
|
+
"@objectstack/spec": "2.0.1"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"pino": "^8.0.0"
|
package/src/api-registry.ts
CHANGED
package/src/contracts/logger.ts
CHANGED
package/src/health-monitor.ts
CHANGED
package/src/hot-reload.ts
CHANGED
package/src/index.ts
CHANGED
package/src/kernel-base.ts
CHANGED
package/src/kernel.ts
CHANGED
package/src/lite-kernel.ts
CHANGED
package/src/logger.ts
CHANGED
package/src/plugin-loader.ts
CHANGED
package/src/qa/adapter.ts
CHANGED
package/src/qa/http-adapter.ts
CHANGED
package/src/qa/index.ts
CHANGED
package/src/qa/runner.ts
CHANGED
package/src/security/index.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.
|
|
2
|
+
|
|
1
3
|
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
+
KernelSecurityVulnerability,
|
|
5
|
+
KernelSecurityScanResult
|
|
4
6
|
} from '@objectstack/spec/kernel';
|
|
5
7
|
import type { ObjectLogger } from '../logger.js';
|
|
6
8
|
|
|
@@ -42,10 +44,10 @@ export class PluginSecurityScanner {
|
|
|
42
44
|
private logger: ObjectLogger;
|
|
43
45
|
|
|
44
46
|
// Known vulnerabilities database (CVE cache)
|
|
45
|
-
private vulnerabilityDb = new Map<string,
|
|
47
|
+
private vulnerabilityDb = new Map<string, KernelSecurityVulnerability>();
|
|
46
48
|
|
|
47
49
|
// Scan results cache
|
|
48
|
-
private scanResults = new Map<string,
|
|
50
|
+
private scanResults = new Map<string, KernelSecurityScanResult>();
|
|
49
51
|
|
|
50
52
|
private passThreshold: number = 70;
|
|
51
53
|
|
|
@@ -59,7 +61,7 @@ export class PluginSecurityScanner {
|
|
|
59
61
|
/**
|
|
60
62
|
* Perform a comprehensive security scan on a plugin
|
|
61
63
|
*/
|
|
62
|
-
async scan(target: ScanTarget): Promise<
|
|
64
|
+
async scan(target: ScanTarget): Promise<KernelSecurityScanResult> {
|
|
63
65
|
this.logger.info('Starting security scan', {
|
|
64
66
|
pluginId: target.pluginId,
|
|
65
67
|
version: target.version
|
|
@@ -91,7 +93,7 @@ export class PluginSecurityScanner {
|
|
|
91
93
|
// Calculate security score (0-100, higher is better)
|
|
92
94
|
const score = this.calculateSecurityScore(issues);
|
|
93
95
|
|
|
94
|
-
const result:
|
|
96
|
+
const result: KernelSecurityScanResult = {
|
|
95
97
|
timestamp: new Date().toISOString(),
|
|
96
98
|
scanner: { name: 'ObjectStack Security Scanner', version: '1.0.0' },
|
|
97
99
|
status: score >= this.passThreshold ? 'passed' : 'failed',
|
|
@@ -309,7 +311,7 @@ export class PluginSecurityScanner {
|
|
|
309
311
|
addVulnerability(
|
|
310
312
|
packageName: string,
|
|
311
313
|
version: string,
|
|
312
|
-
vulnerability:
|
|
314
|
+
vulnerability: KernelSecurityVulnerability
|
|
313
315
|
): void {
|
|
314
316
|
const key = `${packageName}@${version}`;
|
|
315
317
|
this.vulnerabilityDb.set(key, vulnerability);
|
|
@@ -324,7 +326,7 @@ export class PluginSecurityScanner {
|
|
|
324
326
|
/**
|
|
325
327
|
* Get scan result from cache
|
|
326
328
|
*/
|
|
327
|
-
getScanResult(pluginId: string, version: string):
|
|
329
|
+
getScanResult(pluginId: string, version: string): KernelSecurityScanResult | undefined {
|
|
328
330
|
return this.scanResults.get(`${pluginId}:${version}`);
|
|
329
331
|
}
|
|
330
332
|
|
package/src/types.ts
CHANGED
package/src/utils/env.ts
CHANGED