deepseek-coder-agent-cli 1.0.0
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/README.md +58 -0
- package/dist/bin/cliMode.d.ts +8 -0
- package/dist/bin/cliMode.d.ts.map +1 -0
- package/dist/bin/cliMode.js +20 -0
- package/dist/bin/cliMode.js.map +1 -0
- package/dist/bin/deepseek.d.ts +6 -0
- package/dist/bin/deepseek.d.ts.map +1 -0
- package/dist/bin/deepseek.js +136 -0
- package/dist/bin/deepseek.js.map +1 -0
- package/dist/config.d.ts +25 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +155 -0
- package/dist/config.js.map +1 -0
- package/dist/contracts/agent-profiles.schema.json +43 -0
- package/dist/contracts/agent-schemas.json +460 -0
- package/dist/contracts/models.schema.json +9 -0
- package/dist/contracts/module-schema.json +419 -0
- package/dist/contracts/schemas/agent-profile.schema.json +157 -0
- package/dist/contracts/schemas/agent-rules.schema.json +238 -0
- package/dist/contracts/schemas/agent-schemas.schema.json +528 -0
- package/dist/contracts/schemas/agent.schema.json +90 -0
- package/dist/contracts/schemas/tool-selection.schema.json +174 -0
- package/dist/contracts/tools.schema.json +82 -0
- package/dist/contracts/unified-schema.json +750 -0
- package/dist/contracts/v1/agent.d.ts +179 -0
- package/dist/contracts/v1/agent.d.ts.map +1 -0
- package/dist/contracts/v1/agent.js +8 -0
- package/dist/contracts/v1/agent.js.map +1 -0
- package/dist/contracts/v1/agentProfileManifest.d.ts +60 -0
- package/dist/contracts/v1/agentProfileManifest.d.ts.map +1 -0
- package/dist/contracts/v1/agentProfileManifest.js +9 -0
- package/dist/contracts/v1/agentProfileManifest.js.map +1 -0
- package/dist/contracts/v1/agentRules.d.ts +60 -0
- package/dist/contracts/v1/agentRules.d.ts.map +1 -0
- package/dist/contracts/v1/agentRules.js +10 -0
- package/dist/contracts/v1/agentRules.js.map +1 -0
- package/dist/contracts/v1/provider.d.ts +149 -0
- package/dist/contracts/v1/provider.d.ts.map +1 -0
- package/dist/contracts/v1/provider.js +7 -0
- package/dist/contracts/v1/provider.js.map +1 -0
- package/dist/contracts/v1/tool.d.ts +136 -0
- package/dist/contracts/v1/tool.d.ts.map +1 -0
- package/dist/contracts/v1/tool.js +7 -0
- package/dist/contracts/v1/tool.js.map +1 -0
- package/dist/contracts/v1/toolAccess.d.ts +43 -0
- package/dist/contracts/v1/toolAccess.d.ts.map +1 -0
- package/dist/contracts/v1/toolAccess.js +9 -0
- package/dist/contracts/v1/toolAccess.js.map +1 -0
- package/dist/core/agent.d.ts +287 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +1563 -0
- package/dist/core/agent.js.map +1 -0
- package/dist/core/agentProfileManifest.d.ts +3 -0
- package/dist/core/agentProfileManifest.d.ts.map +1 -0
- package/dist/core/agentProfileManifest.js +188 -0
- package/dist/core/agentProfileManifest.js.map +1 -0
- package/dist/core/agentProfiles.d.ts +22 -0
- package/dist/core/agentProfiles.d.ts.map +1 -0
- package/dist/core/agentProfiles.js +35 -0
- package/dist/core/agentProfiles.js.map +1 -0
- package/dist/core/agentRulebook.d.ts +11 -0
- package/dist/core/agentRulebook.d.ts.map +1 -0
- package/dist/core/agentRulebook.js +136 -0
- package/dist/core/agentRulebook.js.map +1 -0
- package/dist/core/agentSchemaLoader.d.ts +131 -0
- package/dist/core/agentSchemaLoader.d.ts.map +1 -0
- package/dist/core/agentSchemaLoader.js +235 -0
- package/dist/core/agentSchemaLoader.js.map +1 -0
- package/dist/core/agiCore.d.ts +290 -0
- package/dist/core/agiCore.d.ts.map +1 -0
- package/dist/core/agiCore.js +1348 -0
- package/dist/core/agiCore.js.map +1 -0
- package/dist/core/aiErrorFixer.d.ts +57 -0
- package/dist/core/aiErrorFixer.d.ts.map +1 -0
- package/dist/core/aiErrorFixer.js +214 -0
- package/dist/core/aiErrorFixer.js.map +1 -0
- package/dist/core/antiTermination.d.ts +226 -0
- package/dist/core/antiTermination.d.ts.map +1 -0
- package/dist/core/antiTermination.js +713 -0
- package/dist/core/antiTermination.js.map +1 -0
- package/dist/core/bashCommandGuidance.d.ts +16 -0
- package/dist/core/bashCommandGuidance.d.ts.map +1 -0
- package/dist/core/bashCommandGuidance.js +40 -0
- package/dist/core/bashCommandGuidance.js.map +1 -0
- package/dist/core/constants.d.ts +31 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/constants.js +62 -0
- package/dist/core/constants.js.map +1 -0
- package/dist/core/contextManager.d.ts +271 -0
- package/dist/core/contextManager.d.ts.map +1 -0
- package/dist/core/contextManager.js +1073 -0
- package/dist/core/contextManager.js.map +1 -0
- package/dist/core/contextWindow.d.ts +42 -0
- package/dist/core/contextWindow.d.ts.map +1 -0
- package/dist/core/contextWindow.js +123 -0
- package/dist/core/contextWindow.js.map +1 -0
- package/dist/core/customCommands.d.ts +19 -0
- package/dist/core/customCommands.d.ts.map +1 -0
- package/dist/core/customCommands.js +85 -0
- package/dist/core/customCommands.js.map +1 -0
- package/dist/core/deepBugAnalyzer.d.ts +25 -0
- package/dist/core/deepBugAnalyzer.d.ts.map +1 -0
- package/dist/core/deepBugAnalyzer.js +44 -0
- package/dist/core/deepBugAnalyzer.js.map +1 -0
- package/dist/core/dualTournament.d.ts +110 -0
- package/dist/core/dualTournament.d.ts.map +1 -0
- package/dist/core/dualTournament.js +270 -0
- package/dist/core/dualTournament.js.map +1 -0
- package/dist/core/dynamicGuardrails.d.ts +207 -0
- package/dist/core/dynamicGuardrails.d.ts.map +1 -0
- package/dist/core/dynamicGuardrails.js +516 -0
- package/dist/core/dynamicGuardrails.js.map +1 -0
- package/dist/core/embeddingProviders.d.ts +80 -0
- package/dist/core/embeddingProviders.d.ts.map +1 -0
- package/dist/core/embeddingProviders.js +241 -0
- package/dist/core/embeddingProviders.js.map +1 -0
- package/dist/core/episodicMemory.d.ts +259 -0
- package/dist/core/episodicMemory.d.ts.map +1 -0
- package/dist/core/episodicMemory.js +833 -0
- package/dist/core/episodicMemory.js.map +1 -0
- package/dist/core/errors/apiKeyErrors.d.ts +11 -0
- package/dist/core/errors/apiKeyErrors.d.ts.map +1 -0
- package/dist/core/errors/apiKeyErrors.js +159 -0
- package/dist/core/errors/apiKeyErrors.js.map +1 -0
- package/dist/core/errors/errorTypes.d.ts +111 -0
- package/dist/core/errors/errorTypes.d.ts.map +1 -0
- package/dist/core/errors/errorTypes.js +345 -0
- package/dist/core/errors/errorTypes.js.map +1 -0
- package/dist/core/errors/index.d.ts +50 -0
- package/dist/core/errors/index.d.ts.map +1 -0
- package/dist/core/errors/index.js +156 -0
- package/dist/core/errors/index.js.map +1 -0
- package/dist/core/errors/networkErrors.d.ts +14 -0
- package/dist/core/errors/networkErrors.d.ts.map +1 -0
- package/dist/core/errors/networkErrors.js +53 -0
- package/dist/core/errors/networkErrors.js.map +1 -0
- package/dist/core/errors/safetyValidator.d.ts +115 -0
- package/dist/core/errors/safetyValidator.d.ts.map +1 -0
- package/dist/core/errors/safetyValidator.js +302 -0
- package/dist/core/errors/safetyValidator.js.map +1 -0
- package/dist/core/errors.d.ts +4 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +33 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/finalResponseFormatter.d.ts +10 -0
- package/dist/core/finalResponseFormatter.d.ts.map +1 -0
- package/dist/core/finalResponseFormatter.js +14 -0
- package/dist/core/finalResponseFormatter.js.map +1 -0
- package/dist/core/flowProtection.d.ts +154 -0
- package/dist/core/flowProtection.d.ts.map +1 -0
- package/dist/core/flowProtection.js +436 -0
- package/dist/core/flowProtection.js.map +1 -0
- package/dist/core/gitWorktreeManager.d.ts +126 -0
- package/dist/core/gitWorktreeManager.d.ts.map +1 -0
- package/dist/core/gitWorktreeManager.js +403 -0
- package/dist/core/gitWorktreeManager.js.map +1 -0
- package/dist/core/guardrails.d.ts +150 -0
- package/dist/core/guardrails.d.ts.map +1 -0
- package/dist/core/guardrails.js +360 -0
- package/dist/core/guardrails.js.map +1 -0
- package/dist/core/hallucinationGuard.d.ts +57 -0
- package/dist/core/hallucinationGuard.d.ts.map +1 -0
- package/dist/core/hallucinationGuard.js +237 -0
- package/dist/core/hallucinationGuard.js.map +1 -0
- package/dist/core/hitlEnforcement.d.ts +143 -0
- package/dist/core/hitlEnforcement.d.ts.map +1 -0
- package/dist/core/hitlEnforcement.js +583 -0
- package/dist/core/hitlEnforcement.js.map +1 -0
- package/dist/core/hooks.d.ts +113 -0
- package/dist/core/hooks.d.ts.map +1 -0
- package/dist/core/hooks.js +364 -0
- package/dist/core/hooks.js.map +1 -0
- package/dist/core/hotReload.d.ts +154 -0
- package/dist/core/hotReload.d.ts.map +1 -0
- package/dist/core/hotReload.js +451 -0
- package/dist/core/hotReload.js.map +1 -0
- package/dist/core/hypothesisEngine.d.ts +27 -0
- package/dist/core/hypothesisEngine.d.ts.map +1 -0
- package/dist/core/hypothesisEngine.js +58 -0
- package/dist/core/hypothesisEngine.js.map +1 -0
- package/dist/core/index.d.ts +26 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +54 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/inputProtection.d.ts +122 -0
- package/dist/core/inputProtection.d.ts.map +1 -0
- package/dist/core/inputProtection.js +421 -0
- package/dist/core/inputProtection.js.map +1 -0
- package/dist/core/liveGCPVerification.d.ts +41 -0
- package/dist/core/liveGCPVerification.d.ts.map +1 -0
- package/dist/core/liveGCPVerification.js +745 -0
- package/dist/core/liveGCPVerification.js.map +1 -0
- package/dist/core/modelDiscovery.d.ts +105 -0
- package/dist/core/modelDiscovery.d.ts.map +1 -0
- package/dist/core/modelDiscovery.js +740 -0
- package/dist/core/modelDiscovery.js.map +1 -0
- package/dist/core/multilinePasteHandler.d.ts +35 -0
- package/dist/core/multilinePasteHandler.d.ts.map +1 -0
- package/dist/core/multilinePasteHandler.js +80 -0
- package/dist/core/multilinePasteHandler.js.map +1 -0
- package/dist/core/parallel.d.ts +85 -0
- package/dist/core/parallel.d.ts.map +1 -0
- package/dist/core/parallel.js +150 -0
- package/dist/core/parallel.js.map +1 -0
- package/dist/core/parallelCoordinator.d.ts +21 -0
- package/dist/core/parallelCoordinator.d.ts.map +1 -0
- package/dist/core/parallelCoordinator.js +42 -0
- package/dist/core/parallelCoordinator.js.map +1 -0
- package/dist/core/parallelExecutor.d.ts +215 -0
- package/dist/core/parallelExecutor.d.ts.map +1 -0
- package/dist/core/parallelExecutor.js +584 -0
- package/dist/core/parallelExecutor.js.map +1 -0
- package/dist/core/platformSecurityIntegration.d.ts +133 -0
- package/dist/core/platformSecurityIntegration.d.ts.map +1 -0
- package/dist/core/platformSecurityIntegration.js +419 -0
- package/dist/core/platformSecurityIntegration.js.map +1 -0
- package/dist/core/preferences.d.ts +71 -0
- package/dist/core/preferences.d.ts.map +1 -0
- package/dist/core/preferences.js +341 -0
- package/dist/core/preferences.js.map +1 -0
- package/dist/core/productTestHarness.d.ts +46 -0
- package/dist/core/productTestHarness.d.ts.map +1 -0
- package/dist/core/productTestHarness.js +128 -0
- package/dist/core/productTestHarness.js.map +1 -0
- package/dist/core/providerKeys.d.ts +20 -0
- package/dist/core/providerKeys.d.ts.map +1 -0
- package/dist/core/providerKeys.js +40 -0
- package/dist/core/providerKeys.js.map +1 -0
- package/dist/core/realityScore.d.ts +159 -0
- package/dist/core/realityScore.d.ts.map +1 -0
- package/dist/core/realityScore.js +734 -0
- package/dist/core/realityScore.js.map +1 -0
- package/dist/core/repoUpgradeOrchestrator.d.ts +223 -0
- package/dist/core/repoUpgradeOrchestrator.d.ts.map +1 -0
- package/dist/core/repoUpgradeOrchestrator.js +1003 -0
- package/dist/core/repoUpgradeOrchestrator.js.map +1 -0
- package/dist/core/resultVerification.d.ts +47 -0
- package/dist/core/resultVerification.d.ts.map +1 -0
- package/dist/core/resultVerification.js +126 -0
- package/dist/core/resultVerification.js.map +1 -0
- package/dist/core/revenueEnvValidator.d.ts +30 -0
- package/dist/core/revenueEnvValidator.d.ts.map +1 -0
- package/dist/core/revenueEnvValidator.js +241 -0
- package/dist/core/revenueEnvValidator.js.map +1 -0
- package/dist/core/schemaValidator.d.ts +49 -0
- package/dist/core/schemaValidator.d.ts.map +1 -0
- package/dist/core/schemaValidator.js +234 -0
- package/dist/core/schemaValidator.js.map +1 -0
- package/dist/core/secretStore.d.ts +48 -0
- package/dist/core/secretStore.d.ts.map +1 -0
- package/dist/core/secretStore.js +295 -0
- package/dist/core/secretStore.js.map +1 -0
- package/dist/core/securityTournament.d.ts +83 -0
- package/dist/core/securityTournament.d.ts.map +1 -0
- package/dist/core/securityTournament.js +357 -0
- package/dist/core/securityTournament.js.map +1 -0
- package/dist/core/selfUpgrade.d.ts +253 -0
- package/dist/core/selfUpgrade.d.ts.map +1 -0
- package/dist/core/selfUpgrade.js +669 -0
- package/dist/core/selfUpgrade.js.map +1 -0
- package/dist/core/sessionStorage.d.ts +10 -0
- package/dist/core/sessionStorage.d.ts.map +1 -0
- package/dist/core/sessionStorage.js +46 -0
- package/dist/core/sessionStorage.js.map +1 -0
- package/dist/core/sessionStore.d.ts +35 -0
- package/dist/core/sessionStore.d.ts.map +1 -0
- package/dist/core/sessionStore.js +191 -0
- package/dist/core/sessionStore.js.map +1 -0
- package/dist/core/taskCompletionDetector.d.ts +112 -0
- package/dist/core/taskCompletionDetector.d.ts.map +1 -0
- package/dist/core/taskCompletionDetector.js +469 -0
- package/dist/core/taskCompletionDetector.js.map +1 -0
- package/dist/core/toolPreconditions.d.ts +34 -0
- package/dist/core/toolPreconditions.d.ts.map +1 -0
- package/dist/core/toolPreconditions.js +242 -0
- package/dist/core/toolPreconditions.js.map +1 -0
- package/dist/core/toolRuntime.d.ts +185 -0
- package/dist/core/toolRuntime.d.ts.map +1 -0
- package/dist/core/toolRuntime.js +412 -0
- package/dist/core/toolRuntime.js.map +1 -0
- package/dist/core/tournamentStrategy.d.ts +12 -0
- package/dist/core/tournamentStrategy.d.ts.map +1 -0
- package/dist/core/tournamentStrategy.js +41 -0
- package/dist/core/tournamentStrategy.js.map +1 -0
- package/dist/core/types/utilityTypes.d.ts +192 -0
- package/dist/core/types/utilityTypes.d.ts.map +1 -0
- package/dist/core/types/utilityTypes.js +272 -0
- package/dist/core/types/utilityTypes.js.map +1 -0
- package/dist/core/types.d.ts +334 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +76 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/unifiedOrchestrator.d.ts +47 -0
- package/dist/core/unifiedOrchestrator.d.ts.map +1 -0
- package/dist/core/unifiedOrchestrator.js +103 -0
- package/dist/core/unifiedOrchestrator.js.map +1 -0
- package/dist/core/universalSecurityAudit.d.ts +104 -0
- package/dist/core/universalSecurityAudit.d.ts.map +1 -0
- package/dist/core/universalSecurityAudit.js +2190 -0
- package/dist/core/universalSecurityAudit.js.map +1 -0
- package/dist/core/updateChecker.d.ts +148 -0
- package/dist/core/updateChecker.d.ts.map +1 -0
- package/dist/core/updateChecker.js +593 -0
- package/dist/core/updateChecker.js.map +1 -0
- package/dist/core/variantExecution.d.ts +23 -0
- package/dist/core/variantExecution.d.ts.map +1 -0
- package/dist/core/variantExecution.js +58 -0
- package/dist/core/variantExecution.js.map +1 -0
- package/dist/core/verificationFirst.d.ts +110 -0
- package/dist/core/verificationFirst.d.ts.map +1 -0
- package/dist/core/verificationFirst.js +312 -0
- package/dist/core/verificationFirst.js.map +1 -0
- package/dist/core/winnerStrategy.d.ts +15 -0
- package/dist/core/winnerStrategy.d.ts.map +1 -0
- package/dist/core/winnerStrategy.js +18 -0
- package/dist/core/winnerStrategy.js.map +1 -0
- package/dist/core/zeroDayDiscovery.d.ts +96 -0
- package/dist/core/zeroDayDiscovery.d.ts.map +1 -0
- package/dist/core/zeroDayDiscovery.js +358 -0
- package/dist/core/zeroDayDiscovery.js.map +1 -0
- package/dist/headless/interactiveShell.d.ts +22 -0
- package/dist/headless/interactiveShell.d.ts.map +1 -0
- package/dist/headless/interactiveShell.js +3832 -0
- package/dist/headless/interactiveShell.js.map +1 -0
- package/dist/headless/quickMode.d.ts +26 -0
- package/dist/headless/quickMode.d.ts.map +1 -0
- package/dist/headless/quickMode.js +226 -0
- package/dist/headless/quickMode.js.map +1 -0
- package/dist/providers/baseProvider.d.ts +148 -0
- package/dist/providers/baseProvider.d.ts.map +1 -0
- package/dist/providers/baseProvider.js +284 -0
- package/dist/providers/baseProvider.js.map +1 -0
- package/dist/providers/deepseekReasonerProvider.d.ts +57 -0
- package/dist/providers/deepseekReasonerProvider.d.ts.map +1 -0
- package/dist/providers/deepseekReasonerProvider.js +87 -0
- package/dist/providers/deepseekReasonerProvider.js.map +1 -0
- package/dist/providers/openaiChatCompletionsProvider.d.ts +64 -0
- package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -0
- package/dist/providers/openaiChatCompletionsProvider.js +1000 -0
- package/dist/providers/openaiChatCompletionsProvider.js.map +1 -0
- package/dist/providers/providerFactory.d.ts +24 -0
- package/dist/providers/providerFactory.d.ts.map +1 -0
- package/dist/providers/providerFactory.js +27 -0
- package/dist/providers/providerFactory.js.map +1 -0
- package/dist/providers/resilientProvider.d.ts +103 -0
- package/dist/providers/resilientProvider.d.ts.map +1 -0
- package/dist/providers/resilientProvider.js +462 -0
- package/dist/providers/resilientProvider.js.map +1 -0
- package/dist/runtime/agentController.d.ts +114 -0
- package/dist/runtime/agentController.d.ts.map +1 -0
- package/dist/runtime/agentController.js +693 -0
- package/dist/runtime/agentController.js.map +1 -0
- package/dist/runtime/agentHost.d.ts +61 -0
- package/dist/runtime/agentHost.d.ts.map +1 -0
- package/dist/runtime/agentHost.js +157 -0
- package/dist/runtime/agentHost.js.map +1 -0
- package/dist/runtime/agentSession.d.ts +45 -0
- package/dist/runtime/agentSession.d.ts.map +1 -0
- package/dist/runtime/agentSession.js +214 -0
- package/dist/runtime/agentSession.js.map +1 -0
- package/dist/runtime/agentWorkerPool.d.ts +167 -0
- package/dist/runtime/agentWorkerPool.d.ts.map +1 -0
- package/dist/runtime/agentWorkerPool.js +435 -0
- package/dist/runtime/agentWorkerPool.js.map +1 -0
- package/dist/runtime/node.d.ts +7 -0
- package/dist/runtime/node.d.ts.map +1 -0
- package/dist/runtime/node.js +18 -0
- package/dist/runtime/node.js.map +1 -0
- package/dist/runtime/universal.d.ts +18 -0
- package/dist/runtime/universal.d.ts.map +1 -0
- package/dist/runtime/universal.js +21 -0
- package/dist/runtime/universal.js.map +1 -0
- package/dist/ui/PromptController.d.ts +174 -0
- package/dist/ui/PromptController.d.ts.map +1 -0
- package/dist/ui/PromptController.js +351 -0
- package/dist/ui/PromptController.js.map +1 -0
- package/dist/ui/UnifiedUIRenderer.d.ts +779 -0
- package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -0
- package/dist/ui/UnifiedUIRenderer.js +5458 -0
- package/dist/ui/UnifiedUIRenderer.js.map +1 -0
- package/dist/ui/animatedStatus.d.ts +140 -0
- package/dist/ui/animatedStatus.d.ts.map +1 -0
- package/dist/ui/animatedStatus.js +480 -0
- package/dist/ui/animatedStatus.js.map +1 -0
- package/dist/ui/animation/AnimationScheduler.d.ts +197 -0
- package/dist/ui/animation/AnimationScheduler.d.ts.map +1 -0
- package/dist/ui/animation/AnimationScheduler.js +440 -0
- package/dist/ui/animation/AnimationScheduler.js.map +1 -0
- package/dist/ui/codeHighlighter.d.ts +6 -0
- package/dist/ui/codeHighlighter.d.ts.map +1 -0
- package/dist/ui/codeHighlighter.js +855 -0
- package/dist/ui/codeHighlighter.js.map +1 -0
- package/dist/ui/designSystem.d.ts +26 -0
- package/dist/ui/designSystem.d.ts.map +1 -0
- package/dist/ui/designSystem.js +114 -0
- package/dist/ui/designSystem.js.map +1 -0
- package/dist/ui/errorFormatter.d.ts +64 -0
- package/dist/ui/errorFormatter.d.ts.map +1 -0
- package/dist/ui/errorFormatter.js +316 -0
- package/dist/ui/errorFormatter.js.map +1 -0
- package/dist/ui/globalWriteLock.d.ts +63 -0
- package/dist/ui/globalWriteLock.d.ts.map +1 -0
- package/dist/ui/globalWriteLock.js +173 -0
- package/dist/ui/globalWriteLock.js.map +1 -0
- package/dist/ui/index.d.ts +32 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +54 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/interrupts/InterruptManager.d.ts +157 -0
- package/dist/ui/interrupts/InterruptManager.d.ts.map +1 -0
- package/dist/ui/interrupts/InterruptManager.js +501 -0
- package/dist/ui/interrupts/InterruptManager.js.map +1 -0
- package/dist/ui/layout.d.ts +27 -0
- package/dist/ui/layout.d.ts.map +1 -0
- package/dist/ui/layout.js +184 -0
- package/dist/ui/layout.js.map +1 -0
- package/dist/ui/maxOffensiveUkraineUI.d.ts +94 -0
- package/dist/ui/maxOffensiveUkraineUI.d.ts.map +1 -0
- package/dist/ui/maxOffensiveUkraineUI.js +316 -0
- package/dist/ui/maxOffensiveUkraineUI.js.map +1 -0
- package/dist/ui/outputMode.d.ts +44 -0
- package/dist/ui/outputMode.d.ts.map +1 -0
- package/dist/ui/outputMode.js +123 -0
- package/dist/ui/outputMode.js.map +1 -0
- package/dist/ui/overlay/OverlayManager.d.ts +105 -0
- package/dist/ui/overlay/OverlayManager.d.ts.map +1 -0
- package/dist/ui/overlay/OverlayManager.js +291 -0
- package/dist/ui/overlay/OverlayManager.js.map +1 -0
- package/dist/ui/premiumComponents.d.ts +54 -0
- package/dist/ui/premiumComponents.d.ts.map +1 -0
- package/dist/ui/premiumComponents.js +241 -0
- package/dist/ui/premiumComponents.js.map +1 -0
- package/dist/ui/richText.d.ts +13 -0
- package/dist/ui/richText.d.ts.map +1 -0
- package/dist/ui/richText.js +444 -0
- package/dist/ui/richText.js.map +1 -0
- package/dist/ui/telemetry/ResponseTracker.d.ts +22 -0
- package/dist/ui/telemetry/ResponseTracker.d.ts.map +1 -0
- package/dist/ui/telemetry/ResponseTracker.js +60 -0
- package/dist/ui/telemetry/ResponseTracker.js.map +1 -0
- package/dist/ui/telemetry/UITelemetry.d.ts +181 -0
- package/dist/ui/telemetry/UITelemetry.d.ts.map +1 -0
- package/dist/ui/telemetry/UITelemetry.js +446 -0
- package/dist/ui/telemetry/UITelemetry.js.map +1 -0
- package/dist/ui/textHighlighter.d.ts +83 -0
- package/dist/ui/textHighlighter.d.ts.map +1 -0
- package/dist/ui/textHighlighter.js +267 -0
- package/dist/ui/textHighlighter.js.map +1 -0
- package/dist/ui/theme.d.ts +364 -0
- package/dist/ui/theme.d.ts.map +1 -0
- package/dist/ui/theme.js +471 -0
- package/dist/ui/theme.js.map +1 -0
- package/dist/ui/toolDisplay.d.ts +221 -0
- package/dist/ui/toolDisplay.d.ts.map +1 -0
- package/dist/ui/toolDisplay.js +1654 -0
- package/dist/ui/toolDisplay.js.map +1 -0
- package/dist/ui/uiConstants.d.ts +288 -0
- package/dist/ui/uiConstants.d.ts.map +1 -0
- package/dist/ui/uiConstants.js +472 -0
- package/dist/ui/uiConstants.js.map +1 -0
- package/dist/utils/askUserPrompt.d.ts +21 -0
- package/dist/utils/askUserPrompt.d.ts.map +1 -0
- package/dist/utils/askUserPrompt.js +87 -0
- package/dist/utils/askUserPrompt.js.map +1 -0
- package/dist/utils/asyncUtils.d.ts +95 -0
- package/dist/utils/asyncUtils.d.ts.map +1 -0
- package/dist/utils/asyncUtils.js +286 -0
- package/dist/utils/asyncUtils.js.map +1 -0
- package/dist/utils/debugLogger.d.ts +6 -0
- package/dist/utils/debugLogger.d.ts.map +1 -0
- package/dist/utils/debugLogger.js +39 -0
- package/dist/utils/debugLogger.js.map +1 -0
- package/dist/utils/errorUtils.d.ts +12 -0
- package/dist/utils/errorUtils.d.ts.map +1 -0
- package/dist/utils/errorUtils.js +83 -0
- package/dist/utils/errorUtils.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +10 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +78 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/packageInfo.d.ts +14 -0
- package/dist/utils/packageInfo.d.ts.map +1 -0
- package/dist/utils/packageInfo.js +45 -0
- package/dist/utils/packageInfo.js.map +1 -0
- package/dist/utils/planFormatter.d.ts +34 -0
- package/dist/utils/planFormatter.d.ts.map +1 -0
- package/dist/utils/planFormatter.js +141 -0
- package/dist/utils/planFormatter.js.map +1 -0
- package/dist/utils/securityUtils.d.ts +132 -0
- package/dist/utils/securityUtils.d.ts.map +1 -0
- package/dist/utils/securityUtils.js +324 -0
- package/dist/utils/securityUtils.js.map +1 -0
- package/dist/workspace.d.ts +8 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +134 -0
- package/dist/workspace.js.map +1 -0
- package/dist/workspace.validator.d.ts +49 -0
- package/dist/workspace.validator.d.ts.map +1 -0
- package/dist/workspace.validator.js +215 -0
- package/dist/workspace.validator.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export function resolveWorkspaceRoot(variant, context) {
|
|
2
|
+
return context.variantWorkspaceRoots?.[variant] ?? context.variantWorkspaceRoots?.primary;
|
|
3
|
+
}
|
|
4
|
+
export function canRunVariantsParallel(modeDefinition, context) {
|
|
5
|
+
if (!modeDefinition.parallelVariants || !context.parallelVariants) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
const primaryRoot = context.variantWorkspaceRoots?.primary;
|
|
9
|
+
const refinerRoot = context.variantWorkspaceRoots?.refiner;
|
|
10
|
+
return Boolean(primaryRoot && refinerRoot && primaryRoot !== refinerRoot);
|
|
11
|
+
}
|
|
12
|
+
export async function executeVariants(options) {
|
|
13
|
+
const { module, step, mode, modeDefinition, context, executeVariant, emit } = options;
|
|
14
|
+
const variantResults = {};
|
|
15
|
+
if (canRunVariantsParallel(modeDefinition, context)) {
|
|
16
|
+
emit?.({
|
|
17
|
+
type: 'upgrade.step.variants.parallel',
|
|
18
|
+
timestamp: Date.now(),
|
|
19
|
+
data: { moduleId: module.id, stepId: step.id, variants: modeDefinition.variants },
|
|
20
|
+
});
|
|
21
|
+
const results = await Promise.all(modeDefinition.variants.map(async (variant) => {
|
|
22
|
+
const result = await executeVariant({
|
|
23
|
+
module,
|
|
24
|
+
step,
|
|
25
|
+
mode,
|
|
26
|
+
variant,
|
|
27
|
+
previousResult: undefined,
|
|
28
|
+
workspaceRoot: resolveWorkspaceRoot(variant, context),
|
|
29
|
+
repoPolicy: context.repoPolicy,
|
|
30
|
+
});
|
|
31
|
+
return { variant, result };
|
|
32
|
+
}));
|
|
33
|
+
for (const entry of results) {
|
|
34
|
+
variantResults[entry.variant] = entry.result;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
let primaryResult;
|
|
39
|
+
for (const variant of modeDefinition.variants) {
|
|
40
|
+
const previousResult = variant === 'refiner' ? primaryResult : undefined;
|
|
41
|
+
const result = await executeVariant({
|
|
42
|
+
module,
|
|
43
|
+
step,
|
|
44
|
+
mode,
|
|
45
|
+
variant,
|
|
46
|
+
previousResult,
|
|
47
|
+
workspaceRoot: resolveWorkspaceRoot(variant, context),
|
|
48
|
+
repoPolicy: context.repoPolicy,
|
|
49
|
+
});
|
|
50
|
+
variantResults[variant] = result;
|
|
51
|
+
if (variant === 'primary') {
|
|
52
|
+
primaryResult = result;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return variantResults;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=variantExecution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variantExecution.js","sourceRoot":"","sources":["../../src/core/variantExecution.ts"],"names":[],"mappings":"AA0BA,MAAM,UAAU,oBAAoB,CAClC,OAAuB,EACvB,OAAgC;IAEhC,OAAO,OAAO,CAAC,qBAAqB,EAAE,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,qBAAqB,EAAE,OAAO,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,cAAyC,EACzC,OAAgC;IAEhC,IAAI,CAAC,cAAc,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,OAAO,CAAC;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,OAAO,CAAC;IAC3D,OAAO,OAAO,CAAC,WAAW,IAAI,WAAW,IAAI,WAAW,KAAK,WAAW,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAgC;IAEhC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACtF,MAAM,cAAc,GAAuD,EAAE,CAAC;IAE9E,IAAI,sBAAsB,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC;QACpD,IAAI,EAAE,CAAC;YACL,IAAI,EAAE,gCAAgC;YACtC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;SAClF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;gBAClC,MAAM;gBACN,IAAI;gBACJ,IAAI;gBACJ,OAAO;gBACP,cAAc,EAAE,SAAS;gBACzB,aAAa,EAAE,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC;gBACrD,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAC7B,CAAC,CAAC,CACH,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC/C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,aAA4C,CAAC;QACjD,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC9C,MAAM,cAAc,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;gBAClC,MAAM;gBACN,IAAI;gBACJ,IAAI;gBACJ,OAAO;gBACP,cAAc;gBACd,aAAa,EAAE,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC;gBACrD,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;YACH,cAAc,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;YACjC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,aAAa,GAAG,MAAM,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verification-First Principle
|
|
3
|
+
*
|
|
4
|
+
* @author Bo Shang <bo@shang.software>
|
|
5
|
+
* @license MIT
|
|
6
|
+
*
|
|
7
|
+
* CORE PRINCIPLE:
|
|
8
|
+
* You are NOT allowed to report ANY finding until it has been
|
|
9
|
+
* verified on actual reality first.
|
|
10
|
+
*
|
|
11
|
+
* - No hypothetical vulnerabilities
|
|
12
|
+
* - No speculative analysis
|
|
13
|
+
* - No AI-generated guesses reported as facts
|
|
14
|
+
* - ONLY verified, tested, real findings
|
|
15
|
+
*
|
|
16
|
+
* If it can't be verified, it doesn't get reported.
|
|
17
|
+
*/
|
|
18
|
+
export interface VerifiedFinding {
|
|
19
|
+
id: string;
|
|
20
|
+
category: string;
|
|
21
|
+
title: string;
|
|
22
|
+
description: string;
|
|
23
|
+
verified: true;
|
|
24
|
+
verificationMethod: string;
|
|
25
|
+
verificationOutput: string;
|
|
26
|
+
severity: 'critical' | 'high' | 'medium' | 'low' | 'info';
|
|
27
|
+
exploitable: boolean;
|
|
28
|
+
timestamp: string;
|
|
29
|
+
}
|
|
30
|
+
export interface UnverifiedClaim {
|
|
31
|
+
claim: string;
|
|
32
|
+
reason: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Verify a CPU vulnerability claim against /sys/devices/system/cpu/vulnerabilities/
|
|
36
|
+
*
|
|
37
|
+
* @author Bo Shang <bo@shang.software>
|
|
38
|
+
*/
|
|
39
|
+
export declare function verifyCPUVulnerability(name: string): VerifiedFinding | null;
|
|
40
|
+
/**
|
|
41
|
+
* Verify NVIDIA driver presence and version
|
|
42
|
+
*
|
|
43
|
+
* @author Bo Shang <bo@shang.software>
|
|
44
|
+
*/
|
|
45
|
+
export declare function verifyNVIDIADriver(): VerifiedFinding | null;
|
|
46
|
+
/**
|
|
47
|
+
* Verify kernel security setting
|
|
48
|
+
*
|
|
49
|
+
* @author Bo Shang <bo@shang.software>
|
|
50
|
+
*/
|
|
51
|
+
export declare function verifyKernelSetting(name: string, path: string, vulnerableValue: string): VerifiedFinding | null;
|
|
52
|
+
/**
|
|
53
|
+
* Verify syscall availability (does it exist and can we call it?)
|
|
54
|
+
*
|
|
55
|
+
* @author Bo Shang <bo@shang.software>
|
|
56
|
+
*/
|
|
57
|
+
export declare function verifySyscallExists(name: string, number: number): VerifiedFinding | null;
|
|
58
|
+
/**
|
|
59
|
+
* Run all verifications and return ONLY verified findings
|
|
60
|
+
*
|
|
61
|
+
* @author Bo Shang <bo@shang.software>
|
|
62
|
+
*/
|
|
63
|
+
export declare function runVerifiedDiscovery(): VerifiedFinding[];
|
|
64
|
+
/**
|
|
65
|
+
* Filter out any unverified claims
|
|
66
|
+
*
|
|
67
|
+
* @author Bo Shang <bo@shang.software>
|
|
68
|
+
*/
|
|
69
|
+
export declare function rejectUnverifiedClaims(claims: string[]): UnverifiedClaim[];
|
|
70
|
+
/**
|
|
71
|
+
* MUST be called at application startup.
|
|
72
|
+
* System will refuse to run if this is not called.
|
|
73
|
+
*
|
|
74
|
+
* @author Bo Shang <bo@shang.software>
|
|
75
|
+
*/
|
|
76
|
+
export declare function enforceVerificationFirstOnLoad(): void;
|
|
77
|
+
/**
|
|
78
|
+
* Check if verification-first is properly initialized.
|
|
79
|
+
* Call this before ANY output operation.
|
|
80
|
+
*
|
|
81
|
+
* @throws Error if verification-first not initialized
|
|
82
|
+
* @author Bo Shang <bo@shang.software>
|
|
83
|
+
*/
|
|
84
|
+
export declare function requireVerificationFirst(): void;
|
|
85
|
+
/**
|
|
86
|
+
* Wrapper that enforces verification-first before executing any function
|
|
87
|
+
*
|
|
88
|
+
* @author Bo Shang <bo@shang.software>
|
|
89
|
+
*/
|
|
90
|
+
export declare function withVerificationFirst<T extends (...args: any[]) => any>(fn: T): T;
|
|
91
|
+
/**
|
|
92
|
+
* Check if verification-first is initialized
|
|
93
|
+
*
|
|
94
|
+
* @author Bo Shang <bo@shang.software>
|
|
95
|
+
*/
|
|
96
|
+
export declare function isVerificationFirstInitialized(): boolean;
|
|
97
|
+
declare const _default: {
|
|
98
|
+
verifyCPUVulnerability: typeof verifyCPUVulnerability;
|
|
99
|
+
verifyNVIDIADriver: typeof verifyNVIDIADriver;
|
|
100
|
+
verifyKernelSetting: typeof verifyKernelSetting;
|
|
101
|
+
verifySyscallExists: typeof verifySyscallExists;
|
|
102
|
+
runVerifiedDiscovery: typeof runVerifiedDiscovery;
|
|
103
|
+
rejectUnverifiedClaims: typeof rejectUnverifiedClaims;
|
|
104
|
+
enforceVerificationFirstOnLoad: typeof enforceVerificationFirstOnLoad;
|
|
105
|
+
requireVerificationFirst: typeof requireVerificationFirst;
|
|
106
|
+
withVerificationFirst: typeof withVerificationFirst;
|
|
107
|
+
isVerificationFirstInitialized: typeof isVerificationFirstInitialized;
|
|
108
|
+
};
|
|
109
|
+
export default _default;
|
|
110
|
+
//# sourceMappingURL=verificationFirst.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verificationFirst.d.ts","sourceRoot":"","sources":["../../src/core/verificationFirst.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAeH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,IAAI,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC1D,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAiD3E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,IAAI,CAgC3D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAwB/G;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CA0BxF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,EAAE,CA2CxD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAK1E;AAMD;;;;;GAKG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAqBrD;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAe/C;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAKjF;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,IAAI,OAAO,CAExD;;;;;;;;;;;;;AAMD,wBAWE"}
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verification-First Principle
|
|
3
|
+
*
|
|
4
|
+
* @author Bo Shang <bo@shang.software>
|
|
5
|
+
* @license MIT
|
|
6
|
+
*
|
|
7
|
+
* CORE PRINCIPLE:
|
|
8
|
+
* You are NOT allowed to report ANY finding until it has been
|
|
9
|
+
* verified on actual reality first.
|
|
10
|
+
*
|
|
11
|
+
* - No hypothetical vulnerabilities
|
|
12
|
+
* - No speculative analysis
|
|
13
|
+
* - No AI-generated guesses reported as facts
|
|
14
|
+
* - ONLY verified, tested, real findings
|
|
15
|
+
*
|
|
16
|
+
* If it can't be verified, it doesn't get reported.
|
|
17
|
+
*/
|
|
18
|
+
import { execSync } from 'child_process';
|
|
19
|
+
import { existsSync, readFileSync } from 'fs';
|
|
20
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
21
|
+
// Enforcement State
|
|
22
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
23
|
+
let verificationFirstInitialized = false;
|
|
24
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
25
|
+
// Verification Functions
|
|
26
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
27
|
+
/**
|
|
28
|
+
* Verify a CPU vulnerability claim against /sys/devices/system/cpu/vulnerabilities/
|
|
29
|
+
*
|
|
30
|
+
* @author Bo Shang <bo@shang.software>
|
|
31
|
+
*/
|
|
32
|
+
export function verifyCPUVulnerability(name) {
|
|
33
|
+
const sysPath = `/sys/devices/system/cpu/vulnerabilities/${name.toLowerCase().replace(/[\s-]/g, '_')}`;
|
|
34
|
+
// Map common names to kernel paths
|
|
35
|
+
const nameMap = {
|
|
36
|
+
'spectre_v1': 'spectre_v1',
|
|
37
|
+
'spectre_v2': 'spectre_v2',
|
|
38
|
+
'spectre': 'spectre_v1',
|
|
39
|
+
'meltdown': 'meltdown',
|
|
40
|
+
'l1tf': 'l1tf',
|
|
41
|
+
'mds': 'mds',
|
|
42
|
+
'tsx_async_abort': 'tsx_async_abort',
|
|
43
|
+
'itlb_multihit': 'itlb_multihit',
|
|
44
|
+
'mmio_stale_data': 'mmio_stale_data',
|
|
45
|
+
'retbleed': 'retbleed',
|
|
46
|
+
'spec_store_bypass': 'spec_store_bypass',
|
|
47
|
+
'srbds': 'srbds',
|
|
48
|
+
'gather_data_sampling': 'gather_data_sampling',
|
|
49
|
+
'gds': 'gather_data_sampling',
|
|
50
|
+
'downfall': 'gather_data_sampling',
|
|
51
|
+
};
|
|
52
|
+
const kernelName = nameMap[name.toLowerCase()] || name.toLowerCase().replace(/[\s-]/g, '_');
|
|
53
|
+
const path = `/sys/devices/system/cpu/vulnerabilities/${kernelName}`;
|
|
54
|
+
if (!existsSync(path)) {
|
|
55
|
+
return null; // Can't verify - don't report
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
const status = readFileSync(path, 'utf-8').trim();
|
|
59
|
+
const isVulnerable = status.toLowerCase().includes('vulnerable');
|
|
60
|
+
const isMitigated = status.toLowerCase().includes('mitigation');
|
|
61
|
+
return {
|
|
62
|
+
id: `cpu-${kernelName}-${Date.now()}`,
|
|
63
|
+
category: 'cpu-vulnerability',
|
|
64
|
+
title: `${name}: ${status}`,
|
|
65
|
+
description: status,
|
|
66
|
+
verified: true,
|
|
67
|
+
verificationMethod: `cat ${path}`,
|
|
68
|
+
verificationOutput: status,
|
|
69
|
+
severity: isVulnerable ? 'critical' : (isMitigated ? 'info' : 'low'),
|
|
70
|
+
exploitable: isVulnerable && !isMitigated,
|
|
71
|
+
timestamp: new Date().toISOString()
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Verify NVIDIA driver presence and version
|
|
80
|
+
*
|
|
81
|
+
* @author Bo Shang <bo@shang.software>
|
|
82
|
+
*/
|
|
83
|
+
export function verifyNVIDIADriver() {
|
|
84
|
+
if (!existsSync('/proc/driver/nvidia/version')) {
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
const version = readFileSync('/proc/driver/nvidia/version', 'utf-8').trim();
|
|
89
|
+
const versionMatch = version.match(/(\d+\.\d+\.\d+)/);
|
|
90
|
+
const driverVersion = versionMatch ? versionMatch[1] : 'unknown';
|
|
91
|
+
// Check for device files
|
|
92
|
+
const hasDevice = existsSync('/dev/nvidia0') || existsSync('/dev/nvidia-uvm');
|
|
93
|
+
if (!hasDevice) {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
id: `nvidia-driver-${Date.now()}`,
|
|
98
|
+
category: 'gpu-driver',
|
|
99
|
+
title: `NVIDIA Driver ${driverVersion}`,
|
|
100
|
+
description: version.split('\n')[0],
|
|
101
|
+
verified: true,
|
|
102
|
+
verificationMethod: 'cat /proc/driver/nvidia/version && ls /dev/nvidia*',
|
|
103
|
+
verificationOutput: version.split('\n')[0],
|
|
104
|
+
severity: 'info',
|
|
105
|
+
exploitable: false, // Don't claim exploitable without actual test
|
|
106
|
+
timestamp: new Date().toISOString()
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Verify kernel security setting
|
|
115
|
+
*
|
|
116
|
+
* @author Bo Shang <bo@shang.software>
|
|
117
|
+
*/
|
|
118
|
+
export function verifyKernelSetting(name, path, vulnerableValue) {
|
|
119
|
+
if (!existsSync(path)) {
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
try {
|
|
123
|
+
const value = readFileSync(path, 'utf-8').trim();
|
|
124
|
+
const isVulnerable = value === vulnerableValue;
|
|
125
|
+
return {
|
|
126
|
+
id: `kernel-${name}-${Date.now()}`,
|
|
127
|
+
category: 'kernel-config',
|
|
128
|
+
title: `${name}: ${value}`,
|
|
129
|
+
description: `${path} = ${value}`,
|
|
130
|
+
verified: true,
|
|
131
|
+
verificationMethod: `cat ${path}`,
|
|
132
|
+
verificationOutput: value,
|
|
133
|
+
severity: isVulnerable ? 'high' : 'info',
|
|
134
|
+
exploitable: isVulnerable,
|
|
135
|
+
timestamp: new Date().toISOString()
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Verify syscall availability (does it exist and can we call it?)
|
|
144
|
+
*
|
|
145
|
+
* @author Bo Shang <bo@shang.software>
|
|
146
|
+
*/
|
|
147
|
+
export function verifySyscallExists(name, number) {
|
|
148
|
+
// Check if syscall is available by looking at audit or testing
|
|
149
|
+
// For now, verify via /proc/kallsyms if accessible
|
|
150
|
+
try {
|
|
151
|
+
const kallsyms = execSync(`grep -c "sys_${name}\\|__x64_sys_${name}" /proc/kallsyms 2>/dev/null || echo 0`, { encoding: 'utf-8' }).trim();
|
|
152
|
+
const exists = parseInt(kallsyms) > 0;
|
|
153
|
+
if (!exists) {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
return {
|
|
157
|
+
id: `syscall-${name}-${Date.now()}`,
|
|
158
|
+
category: 'syscall',
|
|
159
|
+
title: `Syscall: ${name} (#${number})`,
|
|
160
|
+
description: `Syscall ${name} is present in kernel`,
|
|
161
|
+
verified: true,
|
|
162
|
+
verificationMethod: `grep sys_${name} /proc/kallsyms`,
|
|
163
|
+
verificationOutput: `Found ${kallsyms} symbols`,
|
|
164
|
+
severity: 'info', // Don't claim severity without actual exploitation test
|
|
165
|
+
exploitable: false, // Don't claim exploitable without proof
|
|
166
|
+
timestamp: new Date().toISOString()
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
return null;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Run all verifications and return ONLY verified findings
|
|
175
|
+
*
|
|
176
|
+
* @author Bo Shang <bo@shang.software>
|
|
177
|
+
*/
|
|
178
|
+
export function runVerifiedDiscovery() {
|
|
179
|
+
const findings = [];
|
|
180
|
+
console.log('[VERIFY] Running verification-first discovery...');
|
|
181
|
+
console.log('[VERIFY] Only verified findings will be reported.\n');
|
|
182
|
+
// CPU vulnerabilities - verify each one
|
|
183
|
+
const cpuVulns = ['spectre_v1', 'spectre_v2', 'meltdown', 'l1tf', 'mds',
|
|
184
|
+
'tsx_async_abort', 'mmio_stale_data', 'retbleed',
|
|
185
|
+
'gather_data_sampling', 'spec_store_bypass'];
|
|
186
|
+
for (const vuln of cpuVulns) {
|
|
187
|
+
const verified = verifyCPUVulnerability(vuln);
|
|
188
|
+
if (verified) {
|
|
189
|
+
findings.push(verified);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
// NVIDIA driver
|
|
193
|
+
const nvidia = verifyNVIDIADriver();
|
|
194
|
+
if (nvidia) {
|
|
195
|
+
findings.push(nvidia);
|
|
196
|
+
}
|
|
197
|
+
// Kernel security settings
|
|
198
|
+
const kernelSettings = [
|
|
199
|
+
{ name: 'io_uring', path: '/proc/sys/kernel/io_uring_disabled', vulnValue: '0' },
|
|
200
|
+
{ name: 'unprivileged_bpf', path: '/proc/sys/kernel/unprivileged_bpf_disabled', vulnValue: '0' },
|
|
201
|
+
{ name: 'unprivileged_userfaultfd', path: '/proc/sys/vm/unprivileged_userfaultfd', vulnValue: '1' },
|
|
202
|
+
{ name: 'kptr_restrict', path: '/proc/sys/kernel/kptr_restrict', vulnValue: '0' },
|
|
203
|
+
{ name: 'dmesg_restrict', path: '/proc/sys/kernel/dmesg_restrict', vulnValue: '0' },
|
|
204
|
+
];
|
|
205
|
+
for (const setting of kernelSettings) {
|
|
206
|
+
const verified = verifyKernelSetting(setting.name, setting.path, setting.vulnValue);
|
|
207
|
+
if (verified) {
|
|
208
|
+
findings.push(verified);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
console.log(`[VERIFY] Completed: ${findings.length} verified findings\n`);
|
|
212
|
+
return findings;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Filter out any unverified claims
|
|
216
|
+
*
|
|
217
|
+
* @author Bo Shang <bo@shang.software>
|
|
218
|
+
*/
|
|
219
|
+
export function rejectUnverifiedClaims(claims) {
|
|
220
|
+
return claims.map(claim => ({
|
|
221
|
+
claim,
|
|
222
|
+
reason: 'Not verified on actual system - rejected per verification-first principle'
|
|
223
|
+
}));
|
|
224
|
+
}
|
|
225
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
226
|
+
// Mandatory Load Enforcement
|
|
227
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
228
|
+
/**
|
|
229
|
+
* MUST be called at application startup.
|
|
230
|
+
* System will refuse to run if this is not called.
|
|
231
|
+
*
|
|
232
|
+
* @author Bo Shang <bo@shang.software>
|
|
233
|
+
*/
|
|
234
|
+
export function enforceVerificationFirstOnLoad() {
|
|
235
|
+
console.log(`
|
|
236
|
+
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
237
|
+
║ VERIFICATION-FIRST ENFORCEMENT - MANDATORY SECURITY CHECK ║
|
|
238
|
+
║ Author: Bo Shang <bo@shang.software> ║
|
|
239
|
+
║ ║
|
|
240
|
+
║ ⚠️ CORE PRINCIPLE: You are NOT allowed to report ANY finding until it ║
|
|
241
|
+
║ has been verified on actual reality first. ║
|
|
242
|
+
║ ║
|
|
243
|
+
║ - No hypothetical vulnerabilities ║
|
|
244
|
+
║ - No speculative analysis ║
|
|
245
|
+
║ - No AI-generated guesses reported as facts ║
|
|
246
|
+
║ - ONLY verified, tested, real findings ║
|
|
247
|
+
║ ║
|
|
248
|
+
║ If it can't be verified, it doesn't get reported. ║
|
|
249
|
+
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
250
|
+
`);
|
|
251
|
+
verificationFirstInitialized = true;
|
|
252
|
+
console.log('[VERIFY] Verification-first principle ENFORCED');
|
|
253
|
+
console.log('[VERIFY] All outputs will be verified against actual system state\n');
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Check if verification-first is properly initialized.
|
|
257
|
+
* Call this before ANY output operation.
|
|
258
|
+
*
|
|
259
|
+
* @throws Error if verification-first not initialized
|
|
260
|
+
* @author Bo Shang <bo@shang.software>
|
|
261
|
+
*/
|
|
262
|
+
export function requireVerificationFirst() {
|
|
263
|
+
if (!verificationFirstInitialized) {
|
|
264
|
+
console.error(`
|
|
265
|
+
╔══════════════════════════════════════════════════════════════════════════════╗
|
|
266
|
+
║ ❌ VERIFICATION-FIRST ENFORCEMENT FAILURE ║
|
|
267
|
+
║ ║
|
|
268
|
+
║ Verification-first was not initialized. System cannot proceed. ║
|
|
269
|
+
║ ║
|
|
270
|
+
║ Call enforceVerificationFirstOnLoad() at application startup. ║
|
|
271
|
+
║ ║
|
|
272
|
+
║ Author: Bo Shang <bo@shang.software> ║
|
|
273
|
+
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
274
|
+
`);
|
|
275
|
+
process.exit(1);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Wrapper that enforces verification-first before executing any function
|
|
280
|
+
*
|
|
281
|
+
* @author Bo Shang <bo@shang.software>
|
|
282
|
+
*/
|
|
283
|
+
export function withVerificationFirst(fn) {
|
|
284
|
+
return ((...args) => {
|
|
285
|
+
requireVerificationFirst();
|
|
286
|
+
return fn(...args);
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Check if verification-first is initialized
|
|
291
|
+
*
|
|
292
|
+
* @author Bo Shang <bo@shang.software>
|
|
293
|
+
*/
|
|
294
|
+
export function isVerificationFirstInitialized() {
|
|
295
|
+
return verificationFirstInitialized;
|
|
296
|
+
}
|
|
297
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
298
|
+
// Exports
|
|
299
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
300
|
+
export default {
|
|
301
|
+
verifyCPUVulnerability,
|
|
302
|
+
verifyNVIDIADriver,
|
|
303
|
+
verifyKernelSetting,
|
|
304
|
+
verifySyscallExists,
|
|
305
|
+
runVerifiedDiscovery,
|
|
306
|
+
rejectUnverifiedClaims,
|
|
307
|
+
enforceVerificationFirstOnLoad,
|
|
308
|
+
requireVerificationFirst,
|
|
309
|
+
withVerificationFirst,
|
|
310
|
+
isVerificationFirstInitialized
|
|
311
|
+
};
|
|
312
|
+
//# sourceMappingURL=verificationFirst.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verificationFirst.js","sourceRoot":"","sources":["../../src/core/verificationFirst.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TournamentOutcome } from './dualTournament.js';
|
|
2
|
+
import type { RepoUpgradeModeDefinition, UpgradeStepResult, UpgradeVariant } from './repoUpgradeOrchestrator.js';
|
|
3
|
+
export interface WinnerResolutionInput {
|
|
4
|
+
modeDefinition: RepoUpgradeModeDefinition;
|
|
5
|
+
variantResults: Partial<Record<UpgradeVariant, UpgradeStepResult>>;
|
|
6
|
+
tournamentOutcome: TournamentOutcome | null;
|
|
7
|
+
}
|
|
8
|
+
export declare function resolveWinner(input: WinnerResolutionInput, pickWinner: (definition: RepoUpgradeModeDefinition, primary: UpgradeStepResult, refiner?: UpgradeStepResult) => {
|
|
9
|
+
winner: UpgradeStepResult;
|
|
10
|
+
winnerVariant: UpgradeVariant;
|
|
11
|
+
}): {
|
|
12
|
+
winner: UpgradeStepResult;
|
|
13
|
+
winnerVariant: UpgradeVariant;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=winnerStrategy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"winnerStrategy.d.ts","sourceRoot":"","sources":["../../src/core/winnerStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEjH,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,yBAAyB,CAAC;IAC1C,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACnE,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC7C;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,qBAAqB,EAC5B,UAAU,EAAE,CAAC,UAAU,EAAE,yBAAyB,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,iBAAiB,KAAK;IAC9G,MAAM,EAAE,iBAAiB,CAAC;IAC1B,aAAa,EAAE,cAAc,CAAC;CAC/B,GACA;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,aAAa,EAAE,cAAc,CAAA;CAAE,CAiB9D"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export function resolveWinner(input, pickWinner) {
|
|
2
|
+
const primary = input.variantResults.primary;
|
|
3
|
+
const refiner = input.variantResults.refiner;
|
|
4
|
+
if (input.tournamentOutcome?.ranked?.length) {
|
|
5
|
+
const top = input.tournamentOutcome.ranked[0];
|
|
6
|
+
const winnerVariant = top.candidateId === 'refiner' && refiner ? 'refiner' : 'primary';
|
|
7
|
+
if (winnerVariant === 'primary') {
|
|
8
|
+
primary.humanAccuracy = top.humanAccuracy;
|
|
9
|
+
}
|
|
10
|
+
else if (refiner) {
|
|
11
|
+
refiner.humanAccuracy = top.humanAccuracy;
|
|
12
|
+
}
|
|
13
|
+
const winner = winnerVariant === 'refiner' && refiner ? refiner : primary;
|
|
14
|
+
return { winner, winnerVariant };
|
|
15
|
+
}
|
|
16
|
+
return pickWinner(input.modeDefinition, primary, refiner);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=winnerStrategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"winnerStrategy.js","sourceRoot":"","sources":["../../src/core/winnerStrategy.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,aAAa,CAC3B,KAA4B,EAC5B,UAGC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,OAAQ,CAAC;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;IAE7C,IAAI,KAAK,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;QAC/C,MAAM,aAAa,GAAmB,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QACvG,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;QAC5C,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;QAC5C,CAAC;QACD,MAAM,MAAM,GAAG,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1E,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zero-Day Discovery Engine
|
|
3
|
+
*
|
|
4
|
+
* MAXIMUM CAPABILITIES FOR DISCOVERING ZERO-DAYS IN ANY POSSIBLE WAY
|
|
5
|
+
*
|
|
6
|
+
* Integrates with universal security audit, tournament RL, and provides
|
|
7
|
+
* comprehensive zero-day discovery pathways across all attack surfaces.
|
|
8
|
+
*/
|
|
9
|
+
import { type SecurityFinding } from './universalSecurityAudit.js';
|
|
10
|
+
export interface ZeroDayDiscoveryConfig {
|
|
11
|
+
/** Primary target (domain, IP, cloud project, etc.) */
|
|
12
|
+
target: string;
|
|
13
|
+
/** Type of target for focused discovery */
|
|
14
|
+
targetType: 'web' | 'cloud' | 'mobile' | 'api' | 'infrastructure' | 'iot' | 'network' | 'binary' | 'source';
|
|
15
|
+
/** Specific attack surfaces to target */
|
|
16
|
+
attackSurface: string[];
|
|
17
|
+
/** Discovery aggressiveness 0-1 */
|
|
18
|
+
aggressiveness: number;
|
|
19
|
+
/** Enable live exploitation verification */
|
|
20
|
+
liveVerification: boolean;
|
|
21
|
+
/** Enable tournament RL optimization */
|
|
22
|
+
enableTournament: boolean;
|
|
23
|
+
/** Zero-day heuristic categories to apply */
|
|
24
|
+
heuristics: ZeroDayHeuristic[];
|
|
25
|
+
/** Output directory for findings */
|
|
26
|
+
outputDir: string;
|
|
27
|
+
}
|
|
28
|
+
export type ZeroDayHeuristic = 'complexityCorrelation' | 'trustBoundaryAnalysis' | 'temporalCoupling' | 'serializationBoundaries' | 'emergentBehaviors' | 'errorHandlingAsymmetry' | 'implicitStateDependencies' | 'resourceExhaustion' | 'supplyChainAnalysis' | 'cryptographicWeakness' | 'raceConditions' | 'memoryCorruption' | 'logicBugs' | 'configurationDrift';
|
|
29
|
+
export interface ZeroDayFinding extends SecurityFinding {
|
|
30
|
+
zeroDayConfidence: number;
|
|
31
|
+
heuristic: ZeroDayHeuristic;
|
|
32
|
+
attackVector: string;
|
|
33
|
+
exploitationComplexity: 'low' | 'medium' | 'high' | 'expert';
|
|
34
|
+
patchedIn: string | null;
|
|
35
|
+
discoveryMethod: 'heuristic' | 'tournament' | 'fuzzing' | 'symbolic' | 'taint' | 'pattern';
|
|
36
|
+
}
|
|
37
|
+
export interface ZeroDayDiscoveryResult {
|
|
38
|
+
target: string;
|
|
39
|
+
targetType: string;
|
|
40
|
+
startTime: string;
|
|
41
|
+
endTime: string;
|
|
42
|
+
duration: number;
|
|
43
|
+
findings: ZeroDayFinding[];
|
|
44
|
+
discoveryMetrics: {
|
|
45
|
+
totalPathsExplored: number;
|
|
46
|
+
uniqueAttackVectors: number;
|
|
47
|
+
heuristicMatches: number;
|
|
48
|
+
tournamentRounds: number;
|
|
49
|
+
verificationAttempts: number;
|
|
50
|
+
falsePositives: number;
|
|
51
|
+
};
|
|
52
|
+
recommendations: {
|
|
53
|
+
immediate: string[];
|
|
54
|
+
shortTerm: string[];
|
|
55
|
+
longTerm: string[];
|
|
56
|
+
};
|
|
57
|
+
evidence: {
|
|
58
|
+
logs: string[];
|
|
59
|
+
screenshots?: string[];
|
|
60
|
+
networkTraces?: string[];
|
|
61
|
+
memoryDumps?: string[];
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export declare class ZeroDayDiscovery {
|
|
65
|
+
private config;
|
|
66
|
+
private findings;
|
|
67
|
+
private evidence;
|
|
68
|
+
constructor(config: Partial<ZeroDayDiscoveryConfig> & {
|
|
69
|
+
target: string;
|
|
70
|
+
});
|
|
71
|
+
/**
|
|
72
|
+
* MAXIMUM CAPABILITY ZERO-DAY DISCOVERY
|
|
73
|
+
*
|
|
74
|
+
* Executes comprehensive discovery across all available pathways:
|
|
75
|
+
* 1. Heuristic-based vulnerability prediction
|
|
76
|
+
* 2. Universal security audit integration
|
|
77
|
+
* 3. Tournament RL optimization
|
|
78
|
+
* 4. Live verification and exploitation
|
|
79
|
+
* 5. Multi-vector attack surface exploration
|
|
80
|
+
*/
|
|
81
|
+
discover(): Promise<ZeroDayDiscoveryResult>;
|
|
82
|
+
private discoverViaHeuristics;
|
|
83
|
+
private generateHeuristicFindings;
|
|
84
|
+
private discoverViaUniversalAudit;
|
|
85
|
+
private discoverViaTournament;
|
|
86
|
+
private verifyFindings;
|
|
87
|
+
private generateDiscoveryResult;
|
|
88
|
+
private saveFindings;
|
|
89
|
+
private inferProviderFromTarget;
|
|
90
|
+
private determineAttackVectorFromFinding;
|
|
91
|
+
private determineSeverity;
|
|
92
|
+
private determineExploitability;
|
|
93
|
+
private determineAttackVector;
|
|
94
|
+
private determineExploitationComplexity;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=zeroDayDiscovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zeroDayDiscovery.d.ts","sourceRoot":"","sources":["../../src/core/zeroDayDiscovery.ts"],"names":[],"mappings":"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"}
|