rea-agents 5.0.0 → 6.1.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 +168 -655
- package/bridge/android/ReaJadxBridge.java +14 -5
- package/bridge/ghidra/ReaGhidraBridge.java +173 -47
- package/bridge/hopper_bridge.py +310 -128
- package/bridge/mitmproxy/capture.py +208 -0
- package/bridge/native/rea_lldb_tracer.py +839 -0
- package/bridge/process/ProcessRunTokenReader.swift +297 -0
- package/bridge/process/ProcessRunTokenReaderMain.swift +35 -0
- package/bridge/pwndbg/core_context.py +101 -0
- package/bridge/pwndbg/launch.py +39 -0
- package/bridge/pwndbg/launch_impl.py +34 -0
- package/bridge/pwntools/decoder_runtime.py +59 -0
- package/bridge/pwntools/layout.py +39 -0
- package/bridge/pwntools/layout_impl.py +309 -0
- package/bridge/pwntools/recorded_crash.py +39 -0
- package/bridge/pwntools/recorded_crash_impl.py +147 -0
- package/dist/android/JadxConfiguration.js +196 -33
- package/dist/android/JadxMcpTransport.js +4 -0
- package/dist/android/JadxProtocol.js +6 -0
- package/dist/android/JadxProvider.js +20 -2
- package/dist/android/JadxSession.js +23 -4
- package/dist/application/AnalysisContextQueries.js +8 -35
- package/dist/application/AnalysisDocument.js +32 -0
- package/dist/application/AppBundleExecutable.js +67 -21
- package/dist/application/CallPathTracing.js +19 -3
- package/dist/application/CapabilityInventory.js +27 -3
- package/dist/application/ClientConfigurationDocument.js +871 -6
- package/dist/application/ClientRegistrationIdentity.js +26 -5
- package/dist/application/ClientRegistrationStatus.js +29 -14
- package/dist/application/DirectAnalysis.js +97 -33
- package/dist/application/Doctor.js +4 -2
- package/dist/application/DoctorScope.js +25 -13
- package/dist/application/EnhancedLiteralTracing.js +22 -25
- package/dist/application/EnhancedTools.js +13 -11
- package/dist/application/EvidenceBundleFiles.js +24 -12
- package/dist/application/FunctionAnalysisEvidence.js +2 -3
- package/dist/application/InventoryProjectionEvidence.js +4 -3
- package/dist/application/InvestigationProviders.js +3 -2
- package/dist/application/JsonFiles.js +50 -28
- package/dist/application/ProcedureAddressResolution.js +11 -0
- package/dist/application/ReconstructionCoverageService.js +7 -4
- package/dist/application/ReconstructionObligationCandidates.js +5 -1
- package/dist/application/ReconstructionObligationLedgerService.js +4 -3
- package/dist/application/Setup.js +13 -1
- package/dist/application/SetupClientConfiguration.js +10 -15
- package/dist/application/SetupHost.js +5 -2
- package/dist/application/SetupPlan.js +5 -3
- package/dist/application/SupportedClients.js +34 -1
- package/dist/application/Uninstall.js +4 -3
- package/dist/application/Update.js +18 -3
- package/dist/application/UpdateRuntime.js +46 -25
- package/dist/application/WebModuleTraceService.js +4 -2
- package/dist/application/WebNetworkCapturePort.js +1 -0
- package/dist/application/WebNetworkCaptureService.js +134 -0
- package/dist/application/WebRuntimeService.js +5 -3
- package/dist/application/WebScriptExportService.js +2 -2
- package/dist/application/WebSourceLocationService.js +4 -2
- package/dist/application/WindowsCapabilities.js +1 -1
- package/dist/application/WorkflowEvidence.js +82 -0
- package/dist/application/binary/AnalysisProviderEvaluation.js +21 -5
- package/dist/application/binary/AnalysisProviderRegistry.js +2 -0
- package/dist/application/binary/AnalysisSnapshotCache.js +52 -12
- package/dist/application/binary/BinarySession.js +131 -76
- package/dist/application/binary/BinarySessionOpen.js +19 -6
- package/dist/application/binary/BinarySessionRecords.js +45 -3
- package/dist/application/binary/BinarySessionStatus.js +17 -1
- package/dist/application/binary/CompositeProvider.js +13 -0
- package/dist/application/binary/LazyAnalysisProvider.js +3 -0
- package/dist/application/binaryDiagnostics/BinaryLayoutPort.js +1 -0
- package/dist/application/binaryDiagnostics/BinaryLayoutService.js +59 -0
- package/dist/application/binaryDiagnostics/RecordedCrashPort.js +1 -0
- package/dist/application/binaryDiagnostics/RecordedCrashService.js +62 -0
- package/dist/application/evm/EvmInterfacePort.js +1 -0
- package/dist/application/evm/EvmInterfaceService.js +64 -0
- package/dist/application/investigation/EvidenceLedger.js +21 -7
- package/dist/application/investigation/InvestigationRecords.js +8 -0
- package/dist/application/javascript/JavaScriptAnalysisControl.js +34 -0
- package/dist/application/javascript/JavaScriptApplicationEvidence.js +25 -5
- package/dist/application/javascript/JavaScriptApplicationEvidenceGraph.js +19 -2
- package/dist/application/javascript/JavaScriptApplicationService.js +34 -14
- package/dist/application/javascript/JavaScriptApplicationWorkflowService.js +5 -5
- package/dist/application/javascript/JavaScriptArtifactAnalysis.js +47 -27
- package/dist/application/javascript/JavaScriptArtifactGraphBuilder.js +39 -7
- package/dist/application/javascript/JavaScriptArtifactGraphDocuments.js +26 -2
- package/dist/application/javascript/JavaScriptArtifactPathResolution.js +80 -27
- package/dist/application/javascript/JavaScriptArtifactReconstruction.js +33 -12
- package/dist/application/javascript/JavaScriptModuleRelationships.js +37 -8
- package/dist/application/javascript/JavaScriptRecoveryService.js +4 -2
- package/dist/application/javascript/JavaScriptRuntimeObservationService.js +3 -1
- package/dist/application/javascript/JavaScriptRuntimeReconciliationService.js +3 -3
- package/dist/application/javascript/JavaScriptSemanticGraphAsyncProjection.js +7 -7
- package/dist/application/javascript/JavaScriptSemanticGraphBuilder.js +149 -72
- package/dist/application/javascript/JavaScriptSemanticGraphChildProcessProjection.js +14 -15
- package/dist/application/javascript/JavaScriptSemanticGraphConstruction.js +41 -1
- package/dist/application/javascript/JavaScriptSemanticGraphDataProjection.js +7 -7
- package/dist/application/javascript/JavaScriptSemanticGraphFlowProjection.js +5 -9
- package/dist/application/javascript/JavaScriptSemanticGraphObjectProjection.js +3 -3
- package/dist/application/javascript/JavaScriptSemanticGraphProjection.js +118 -12
- package/dist/application/javascript/JavaScriptSemanticGraphResourceProjection.js +3 -3
- package/dist/application/javascript/JavaScriptSemanticGraphValueProjection.js +27 -5
- package/dist/application/managed/ManagedApplicationGraphService.js +4 -3
- package/dist/application/managed/ManagedMemberComparisonService.js +7 -4
- package/dist/application/managed/ManagedNativeVerificationService.js +4 -3
- package/dist/application/managed/ManagedReconstructionService.js +4 -3
- package/dist/application/{ProcessCli.js → process/ProcessCli.js} +23 -15
- package/dist/application/{ProcessEvidence.js → process/ProcessEvidence.js} +8 -7
- package/dist/application/workflowInputError.js +18 -0
- package/dist/artifacts/ArtifactProvider.js +42 -5
- package/dist/artifacts/ArtifactProviderMetadata.js +2 -1
- package/dist/artifacts/MachOSliceArtifactReader.js +98 -14
- package/dist/artifacts/NativeDmgArtifactReader.js +13 -6
- package/dist/artifacts/ZipArtifactReader.js +3 -0
- package/dist/artifacts/apple/AppleAssetCatalogAnalysis.js +22 -3
- package/dist/artifacts/apple/DylibResolutionReader.js +259 -0
- package/dist/artifacts/apple/InterfaceBuilderAnalysis.js +176 -56
- package/dist/artifacts/apple/InterfaceBuilderDecodeBudget.js +195 -0
- package/dist/artifacts/apple/KeyedArchiveReader.js +36 -22
- package/dist/artifacts/apple/MachoLoadCommandReader.js +355 -0
- package/dist/artifacts/apple/NibArchive.js +81 -14
- package/dist/artifacts/apple/NibViewHierarchy.js +10 -3
- package/dist/artifacts/apple/PlistNumberLiterals.js +164 -0
- package/dist/{application → artifacts/extraction}/ArtifactExtraction.js +10 -10
- package/dist/{application → artifacts/inventory}/ArtifactGraphConstruction.js +16 -11
- package/dist/{application → artifacts/inventory}/ArtifactInventory.js +4 -4
- package/dist/{application/ArtifactInventory → artifacts/inventory}/classify.js +2 -2
- package/dist/{application/ArtifactInventory → artifacts/inventory}/reader.js +5 -5
- package/dist/{application/ArtifactInventory → artifacts/inventory}/scanCanonical.js +14 -17
- package/dist/{application/ArtifactInventory → artifacts/inventory}/scanReader.js +5 -5
- package/dist/artifacts/javascript/JavaScriptArtifactFiles.js +6 -2
- package/dist/artifacts/readStableArtifact.js +20 -4
- package/dist/browser/CdpCaptureCompleteness.js +2 -0
- package/dist/browser/CdpCaptureEventHandlers.js +165 -12
- package/dist/browser/CdpCaptureEventTypes.js +5 -1
- package/dist/browser/CdpCaptureEvents.js +34 -0
- package/dist/browser/CdpConnection.js +30 -11
- package/dist/browser/CdpOptionalCommand.js +2 -3
- package/dist/browser/CdpPageCapture.js +23 -1
- package/dist/browser/PlaywrightElectronActiveActions.js +32 -23
- package/dist/browser/PlaywrightElectronActiveProjection.js +141 -0
- package/dist/browser/PlaywrightElectronActiveProvider.js +130 -122
- package/dist/browser/WebSourceMapFetcher.js +426 -72
- package/dist/browser/assets/LocalWebScriptArtifacts.js +2 -2
- package/dist/browser/history/CaptureFailures.js +137 -0
- package/dist/browser/history/CaptureFormatError.js +10 -0
- package/dist/browser/history/CaptureRedaction.js +65 -0
- package/dist/browser/history/CaptureRelease.js +17 -0
- package/dist/browser/history/HarCapture.js +165 -0
- package/dist/browser/history/HarCaptureAdapter.js +20 -0
- package/dist/browser/history/HarCaptureProcess.js +57 -0
- package/dist/browser/history/HarJson.js +92 -0
- package/dist/browser/history/HarSchema.js +72 -0
- package/dist/browser/history/HistoricalCaptureDecoder.js +188 -0
- package/dist/browser/history/HistoricalCaptureFormatAdapter.js +1 -0
- package/dist/browser/history/MitmproxyCaptureAdapter.js +42 -0
- package/dist/cli/analysisSelector.js +23 -0
- package/dist/cli/applicationCommands.js +2 -3
- package/dist/cli/artifactCommands.js +26 -1
- package/dist/cli/binaryDiagnosticsCommands.js +39 -0
- package/dist/cli/coreAnalysisCommands.js +2 -2
- package/dist/cli/coreBinaryCommands.js +78 -20
- package/dist/cli/electronCommands.js +21 -13
- package/dist/cli/evmCommands.js +24 -0
- package/dist/cli/firmwareCommands.js +6 -3
- package/dist/cli/javascriptApplicationAnalysis.js +20 -3
- package/dist/cli/jsonOutput.js +38 -0
- package/dist/cli/nativeCallCommands.js +34 -0
- package/dist/cli/processCommands.js +1 -1
- package/dist/cli/streamedJsonOutput.js +56 -0
- package/dist/cli/utilityCommands.js +2 -0
- package/dist/cli/webNetworkCaptureCommands.js +40 -0
- package/dist/cli/webRuntimeCommands.js +8 -8
- package/dist/cli.js +11 -4
- package/dist/cliBrowserScenarioCommands.js +2 -2
- package/dist/cliCommandNames.js +6 -1
- package/dist/cliJsonInput.js +35 -1
- package/dist/cliOutput.js +21 -6
- package/dist/composition/binaryDiagnostics.js +8 -0
- package/dist/composition/evm.js +4 -0
- package/dist/composition/webNetworkCaptures.js +6 -0
- package/dist/config/environment.js +4 -0
- package/dist/config/ghidraStartupTimeout.js +17 -0
- package/dist/config/mcpResponseBudget.js +22 -0
- package/dist/config/parseConfig.js +2 -1
- package/dist/contracts/artifactToolContracts.js +6 -0
- package/dist/contracts/browserCaptureToolInputSchema.js +43 -0
- package/dist/contracts/browserToolContracts.js +4 -3
- package/dist/contracts/enhancedInputs.js +5 -3
- package/dist/contracts/enhancedToolContracts.js +3 -3
- package/dist/contracts/errorSchemas.js +8 -1
- package/dist/contracts/evm/evmToolContracts.js +20 -0
- package/dist/contracts/hopperMemoryContracts.js +2 -5
- package/dist/contracts/investigationExamples.js +2 -2
- package/dist/contracts/javascript/electronToolContracts.js +1 -1
- package/dist/contracts/managed/managedToolContracts.js +8 -6
- package/dist/contracts/native/binaryDiagnosticsToolContracts.js +42 -0
- package/dist/contracts/native/nativeToolContracts.js +21 -3
- package/dist/contracts/officialToolContracts.js +26 -24
- package/dist/contracts/process/processCaptureExample.js +2 -0
- package/dist/contracts/promptContracts.js +3 -3
- package/dist/contracts/sessionLifecycleInputs.js +18 -5
- package/dist/contracts/sessionStatusContract.js +8 -2
- package/dist/contracts/sessionToolContracts.js +8 -3
- package/dist/contracts/sessionToolSchemas.js +8 -4
- package/dist/contracts/toolContractExamples.js +1 -2
- package/dist/contracts/toolContractHelpers.js +4 -1
- package/dist/contracts/toolContracts.js +6 -0
- package/dist/contracts/toolEffects.js +30 -1
- package/dist/contracts/toolOutputSchemaGroups.js +33 -28
- package/dist/contracts/toolOutputSchemaPrimitives.js +19 -1
- package/dist/contracts/toolSchemaMetadata.js +69 -10
- package/dist/contracts/webNetworkCaptureToolContracts.js +24 -0
- package/dist/domain/analysisErrorBase.js +22 -2
- package/dist/domain/analysisErrorCore.js +61 -5
- package/dist/domain/analysisErrorPresentation.js +95 -12
- package/dist/domain/analysisErrorProjection.js +148 -19
- package/dist/domain/analysisSnapshot.js +166 -2
- package/dist/domain/android/androidAnalysis.js +2 -4
- package/dist/domain/android/androidApplication.js +17 -9
- package/dist/domain/apple/appleApplication.js +41 -14
- package/dist/domain/apple/dyldEnvironment.js +73 -0
- package/dist/domain/apple/dyldPaths.js +81 -0
- package/dist/domain/apple/dylibResolution.js +478 -0
- package/dist/domain/apple/dylibResolutionFindings.js +77 -0
- package/dist/domain/apple/interfaceBuilderGraph.js +25 -13
- package/dist/domain/apple/interfaceBuilderKeyedArchive.js +13 -3
- package/dist/domain/apple/keyedArchive.js +9 -1
- package/dist/domain/apple/machoContainer.js +54 -0
- package/dist/domain/apple/plistNumbers.js +76 -0
- package/dist/domain/artifactIdentity.js +29 -0
- package/dist/domain/artifactInventoryEvidence.js +19 -24
- package/dist/domain/artifactPathSyntax.js +1 -1
- package/dist/domain/bridgeCandidateProjection.js +71 -0
- package/dist/domain/browserCompleteness.js +1 -0
- package/dist/domain/browserObservation.js +1 -1
- package/dist/domain/browserObservationError.js +24 -5
- package/dist/domain/browserObservationSchemas.js +13 -0
- package/dist/domain/browserScenarioValues.js +5 -2
- package/dist/domain/bundleComparison.js +3 -2
- package/dist/domain/callPathSchemas.js +1 -1
- package/dist/domain/canonicalDigest.js +13 -1
- package/dist/domain/canonicalJsonDigestSteps.js +133 -0
- package/dist/domain/canonicalOrdering.js +9 -5
- package/dist/domain/changedBehavior.js +9 -9
- package/dist/domain/comparisonSourceEvidence.js +40 -0
- package/dist/domain/comparisonStatus.js +2 -30
- package/dist/domain/configurationErrors.js +1 -1
- package/dist/domain/conformanceTrustGate.js +0 -16
- package/dist/domain/evidence.js +78 -11
- package/dist/domain/evidenceBundle.js +42 -1
- package/dist/domain/evidenceErrors.js +12 -1
- package/dist/domain/evm/evmInterface.js +63 -0
- package/dist/domain/explicitSensitiveFailure.js +108 -0
- package/dist/domain/explicitSensitiveValues.js +10 -0
- package/dist/domain/firmware/firmwareAnalysis.js +10 -4
- package/dist/domain/hopperErrors.js +23 -2
- package/dist/domain/hopperValues.js +51 -8
- package/dist/domain/immutableJson.js +114 -0
- package/dist/domain/inputIssueProjection.js +3 -0
- package/dist/domain/javascript/electronActiveObservation.js +37 -6
- package/dist/domain/javascript/electronStaticAnalysisValues.js +6 -12
- package/dist/domain/javascript/htmlArtifactReferences.js +40 -0
- package/dist/domain/javascript/javascriptApplicationAnalysis.js +71 -23
- package/dist/domain/javascript/javascriptApplicationGraph.js +13 -0
- package/dist/domain/javascript/javascriptAstValues.js +20 -0
- package/dist/domain/javascript/javascriptExportShapeComparison.js +21 -5
- package/dist/domain/javascript/javascriptExportShapeVariants.js +0 -10
- package/dist/domain/javascript/javascriptRecovery.js +3 -8
- package/dist/domain/javascript/javascriptSemanticAnalysis.js +97 -2
- package/dist/domain/javascript/javascriptSemanticCoverage.js +6 -5
- package/dist/domain/javascript/javascriptSemanticDataEffectHelpers.js +9 -17
- package/dist/domain/javascript/javascriptSemanticDataEffects.js +22 -5
- package/dist/domain/javascript/javascriptSemanticGraph.js +34 -5
- package/dist/domain/javascript/javascriptSemanticGraphSchemas.js +1 -0
- package/dist/domain/javascript/javascriptSemanticPrimitives.js +25 -17
- package/dist/domain/javascript/javascriptSemanticQuerySchemas.js +8 -4
- package/dist/domain/javascript/javascriptSemanticResourceLimits.js +77 -0
- package/dist/domain/javascript/javascriptSemanticValues.js +83 -11
- package/dist/domain/javascript/javascriptSourceParser.js +6 -2
- package/dist/domain/javascript/javascriptStaticAnalysis.js +22 -17
- package/dist/domain/javascript/javascriptStaticAnalysisBundler.js +5 -3
- package/dist/domain/javascript/javascriptStaticAnalysisCalls.js +14 -4
- package/dist/domain/javascript/javascriptStaticAnalysisFindings.js +66 -7
- package/dist/domain/javascript/javascriptStaticAnalysisHelpers.js +28 -16
- package/dist/domain/javascript/javascriptStaticAnalysisState.js +3 -2
- package/dist/domain/jsonSerialization.js +109 -0
- package/dist/domain/jsonValue.js +91 -3
- package/dist/domain/localPath.js +8 -0
- package/dist/domain/managed/managedApplicationGraph.js +10 -10
- package/dist/domain/managed/managedInspectionEvidence.js +16 -0
- package/dist/domain/managed/managedMemberComparisonMatch.js +5 -9
- package/dist/domain/managed/managedNativeVerification.js +3 -9
- package/dist/domain/native/binaryLayout.js +357 -0
- package/dist/domain/native/fileOffsetPartialObservation.js +1 -0
- package/dist/domain/native/nativeCallObservation.js +186 -0
- package/dist/domain/native/nativeCallPartialObservation.js +33 -0
- package/dist/domain/native/objcSwiftMetadata.js +0 -39
- package/dist/domain/native/recordedCrash.js +266 -0
- package/dist/domain/native/recordedCrashNoteCoverage.js +73 -0
- package/dist/domain/{processCapture.js → process/processCapture.js} +143 -2
- package/dist/domain/{processCaptureExample.js → process/processCaptureExample.js} +5 -0
- package/dist/domain/process/processCaptureParsing.js +54 -0
- package/dist/domain/{processCaptureValidation.js → process/processCaptureValidation.js} +18 -2
- package/dist/domain/{processComparison.js → process/processComparison.js} +39 -5
- package/dist/domain/{processObservation.js → process/processObservation.js} +1 -1
- package/dist/domain/{processScenario.js → process/processScenario.js} +11 -10
- package/dist/domain/{processTraceSpecification.js → process/processTraceSpecification.js} +1 -1
- package/dist/domain/propertyListKeys.js +1 -1
- package/dist/domain/propertyListXmlText.js +19 -0
- package/dist/domain/providerAdapterError.js +1 -1
- package/dist/domain/providerOperationHealth.js +54 -0
- package/dist/domain/providerSelectionError.js +4 -2
- package/dist/domain/reconstructionVerification.js +9 -46
- package/dist/domain/reconstructionVerificationSchemas.js +3 -3
- package/dist/domain/residualUnknown.js +3 -2
- package/dist/domain/staticRuntimeCorrelation.js +9 -46
- package/dist/domain/webBundleAnalysis.js +20 -8
- package/dist/domain/webBundleAnalyzerInspection.js +13 -8
- package/dist/domain/webBundleAnalyzerResult.js +41 -2
- package/dist/domain/webCaptureDiff.js +1 -0
- package/dist/domain/webNetworkCapture.js +118 -0
- package/dist/domain/webNetworkCaptureCoordinates.js +58 -0
- package/dist/domain/webRuntime.js +19 -5
- package/dist/domain/webSourceLocation.js +1 -0
- package/dist/dotnet/ManagedExceptionRegionValidation.js +41 -0
- package/dist/dotnet/ManagedMemberInspector.js +4 -2
- package/dist/dotnet/ManagedMemberInspectorCore.js +38 -32
- package/dist/dotnet/ManagedMemberInstructionDecoder.js +23 -7
- package/dist/dotnet/ManagedMemberRows.js +14 -3
- package/dist/dotnet/ManagedMetadataHeaps.js +20 -2
- package/dist/dotnet/ManagedMetadataInventory.js +38 -28
- package/dist/dotnet/ManagedMetadataInventoryRows.js +24 -10
- package/dist/dotnet/ManagedMethodBodyReader.js +7 -1
- package/dist/dotnet/ManagedNativeBoundaryHelpers.js +15 -3
- package/dist/dotnet/ManagedNativeBoundaryInspector.js +3 -1
- package/dist/dotnet/ManagedPeReader.js +11 -0
- package/dist/evm/EvmBytecodeCarrier.js +21 -0
- package/dist/evm/EvmWorkerLimits.js +40 -0
- package/dist/evm/EvmoleFailures.js +126 -0
- package/dist/evm/EvmoleInterfaceAdapter.js +53 -0
- package/dist/evm/EvmoleInterfaceProvider.js +273 -0
- package/dist/evm/EvmoleInterfaceWorker.js +87 -0
- package/dist/evm/EvmoleRelease.js +16 -0
- package/dist/firmware/FirmwareCommand.js +1 -0
- package/dist/firmware/FirmwareFiles.js +1 -1
- package/dist/generatedPackageMetadata.js +2 -2
- package/dist/ghidra/GhidraAnalysisProfile.js +5 -0
- package/dist/ghidra/GhidraClient.js +47 -14
- package/dist/ghidra/GhidraDiagnostics.js +7 -7
- package/dist/ghidra/GhidraFunctionValues.js +10 -7
- package/dist/ghidra/GhidraInstallation.js +18 -21
- package/dist/ghidra/GhidraInventoryValues.js +14 -4
- package/dist/ghidra/GhidraJavaLaunch.js +62 -0
- package/dist/ghidra/GhidraLauncher.js +34 -16
- package/dist/ghidra/GhidraProvider.js +2 -2
- package/dist/ghidra/GhidraProviderCapabilities.js +15 -3
- package/dist/ghidra/GhidraProviderClient.js +23 -12
- package/dist/ghidra/GhidraSessionError.js +11 -7
- package/dist/ghidra/GhidraTargetSnapshot.js +47 -12
- package/dist/ghidra/GhidraTransport.js +20 -0
- package/dist/hopper/BridgeLauncher.js +33 -11
- package/dist/hopper/HopperAnalysisProfile.js +62 -4
- package/dist/hopper/HopperCleanup.js +15 -3
- package/dist/hopper/HopperClient.js +222 -14
- package/dist/hopper/HopperFileOffset.js +237 -0
- package/dist/hopper/HopperMachOImage.js +196 -0
- package/dist/hopper/HopperOperationStage.js +6 -0
- package/dist/hopper/HopperProvider.js +63 -9
- package/dist/hopper/HopperProviderCapabilities.js +19 -1
- package/dist/hopper/HopperRegexSearch.js +137 -0
- package/dist/hopper/HopperRegexWorker.js +27 -0
- package/dist/hopper/HopperRequestQueue.js +68 -19
- package/dist/hopper/HopperTargetLease.js +3 -2
- package/dist/hopper/LinuxPrivateDisplayProbe.js +4 -2
- package/dist/inspector/JavaScriptRuntimeScope.js +9 -1
- package/dist/inspector/V8InspectorCaptureProjection.js +8 -3
- package/dist/inspector/V8InspectorProvider.js +47 -11
- package/dist/javascript/recovery/WakaruCommand.js +3 -0
- package/dist/javascript/sourceMaps/DecodedSourceMap.js +47 -0
- package/dist/javascript/sourceMaps/SourceMapCommand.js +17 -0
- package/dist/javascript/sourceMaps/SourceMapFormat.js +79 -31
- package/dist/javascript/sourceMaps/TraceSourceMap.js +14 -28
- package/dist/mcpDoctor.js +62 -2
- package/dist/native/AppleDispatchCoverage.js +47 -6
- package/dist/native/AppleDispatchDecodeFacts.js +6 -0
- package/dist/native/AppleDispatchMetadata.js +6 -3
- package/dist/native/AppleMachoFixups.js +48 -24
- package/dist/native/AppleMachoSelection.js +32 -16
- package/dist/native/AppleObjcCategories.js +6 -2
- package/dist/native/AppleObjcDispatchFacets.js +5 -2
- package/dist/native/AppleObjcProperties.js +2 -1
- package/dist/native/AppleSwiftDispatchFacets.js +27 -21
- package/dist/native/AppleSwiftVtables.js +21 -15
- package/dist/native/CommandRunner.js +82 -84
- package/dist/native/LldbCallTracer.js +541 -0
- package/dist/native/LldbRetainedObservations.js +178 -0
- package/dist/native/NativeCallObservation.js +194 -0
- package/dist/native/NativeMacOSProvider.js +117 -20
- package/dist/native/NativeMacOSProviderMetadata.js +8 -3
- package/dist/native/SignatureTargetBinding.js +155 -0
- package/dist/native/parsers/lipo.js +71 -1
- package/dist/native/pwndbg/PwndbgCoreContext.js +180 -0
- package/dist/native/pwntools/PwntoolsDecoder.js +203 -0
- package/dist/native/pwntools/PwntoolsFailures.js +180 -0
- package/dist/native/pwntools/PwntoolsLayoutProvider.js +36 -0
- package/dist/native/pwntools/PwntoolsRecordedCrashProvider.js +75 -0
- package/dist/native/pwntools/PwntoolsRelease.js +19 -0
- package/dist/native/pwntools/PwntoolsResourceLimits.js +76 -0
- package/dist/native/pwntools/RecordedCrashSourceBindings.js +46 -0
- package/dist/native/pwntools/RecordedCrashStructureBindings.js +103 -0
- package/dist/process/DarwinProcessRunTokenReader.js +293 -0
- package/dist/process/ExecFileOutput.js +20 -0
- package/dist/process/OwnedCommand.js +118 -0
- package/dist/process/ProcessOwnership.js +431 -51
- package/dist/process/ProcessOwnershipObservation.js +209 -27
- package/dist/process/ProviderProcess.js +68 -10
- package/dist/{application → process/capture}/ProcessCaptureCapability.js +15 -0
- package/dist/{application → process/capture}/ProcessCaptureError.js +18 -2
- package/dist/process/capture/ProcessCaptureLifecycle.js +681 -0
- package/dist/{application → process/capture}/ProcessHarness.js +195 -29
- package/dist/{application → process/capture}/ProcessSampling.js +2 -2
- package/dist/server/EvidenceMcpServer.js +146 -0
- package/dist/server/createServer.js +37 -8
- package/dist/server/promptCompletion.js +10 -3
- package/dist/server/registerAndroidTools.js +2 -4
- package/dist/server/registerApplicationTools/helpers.js +2 -4
- package/dist/server/registerArtifactComparisonTool.js +11 -7
- package/dist/server/registerBinaryDiagnosticsTools.js +15 -0
- package/dist/server/registerBrowserScenarioTool.js +2 -4
- package/dist/server/registerBrowserTools.js +2 -4
- package/dist/server/registerBundleComparisonTool.js +2 -3
- package/dist/server/registerCloseLifecycleTool.js +8 -18
- package/dist/server/registerElectronTools.js +2 -4
- package/dist/server/registerEnhancedTools.js +18 -59
- package/dist/server/registerEvidenceTools.js +3 -5
- package/dist/server/registerEvmTools.js +15 -0
- package/dist/server/registerFirmwareTools.js +2 -4
- package/dist/server/registerFunctionComparisonTool.js +10 -6
- package/dist/server/registerInvestigationTools.js +7 -7
- package/dist/server/registerJavaScriptRecoveryTool.js +2 -4
- package/dist/server/registerJavaScriptRuntimeObservationTools.js +2 -4
- package/dist/server/registerManagedWorkflowTools/compareManagedMembers.js +2 -4
- package/dist/server/registerManagedWorkflowTools/importManagedReconstruction.js +2 -4
- package/dist/server/registerManagedWorkflowTools/projectManagedApplicationGraph.js +2 -4
- package/dist/server/registerManagedWorkflowTools/verifyManagedNativeBoundaries.js +2 -4
- package/dist/server/registerOfficialTools.js +2 -4
- package/dist/server/registerProcessComparisonTool.js +72 -46
- package/dist/server/registerRecordedCrashTools.js +15 -0
- package/dist/server/registerSessionRecordTools.js +5 -6
- package/dist/server/registerSessionStatusTool.js +17 -3
- package/dist/server/registerSessionTools.js +13 -5
- package/dist/server/registerWebModuleTool.js +2 -4
- package/dist/server/registerWebNetworkCaptureTool.js +26 -0
- package/dist/server/registerWebRuntimeTools.js +3 -7
- package/dist/server/registerWebScriptTool.js +2 -4
- package/dist/server/registerWebSourceLocationTool.js +2 -4
- package/dist/server/runDerivedOperation.js +15 -3
- package/dist/server/sessionAvailabilityPolicy.js +3 -1
- package/dist/server/sessionToolPolicies.js +1 -1
- package/dist/server/toolRegistrationOptions.js +2 -2
- package/dist/server/toolResult.js +63 -11
- package/dist/server/toolResultEncoding.js +33 -0
- package/install.sh +1 -1
- package/native/windows/build/manifest.json +2 -2
- package/native/windows/build/rea-windows-x64.node +0 -0
- package/package.json +42 -9
- package/scripts/electron-active-hook-boundaries.cjs +18 -20
- package/scripts/electron-active-hook.cjs +241 -37
- package/scripts/rea.mjs +11 -3
- package/skills/reverse-engineer-anything/SKILL.md +32 -4
- package/skills/reverse-engineer-anything/references/javascript-applications.md +8 -1
- package/skills/reverse-engineer-anything/references/native-and-artifacts.md +29 -0
- package/third_party/README.md +60 -0
- package/third_party/evmole/LICENSE +21 -0
- package/third_party/evmole/README.md +22 -0
- package/third_party/pwndbg/LICENSE.md +21 -0
- package/third_party/pwndbg/README.md +23 -0
- package/third_party/pwntools/README.md +40 -0
- package/dist/application/AuthorizedArtifactInventory.js +0 -7
- package/dist/application/ProcessCaptureLifecycle.js +0 -299
- package/dist/application/StoreFileLock.js +0 -124
- package/dist/contracts/processCaptureExample.js +0 -2
- package/dist/domain/bytecodeProvider.js +0 -178
- package/dist/domain/customProtocolCapture.js +0 -137
- package/dist/domain/eventProcessTree.js +0 -225
- package/dist/domain/mobileApplicationInvestigation.js +0 -159
- package/dist/domain/packageAnalysis.js +0 -123
- package/dist/domain/peInspection.js +0 -197
- package/dist/domain/processCaptureParsing.js +0 -21
- package/dist/domain/protocolCapture.js +0 -217
- package/dist/domain/runtimeIdentification.js +0 -212
- package/dist/generatedMcpToolCatalog.js +0 -37
- package/dist/ghidra/GhidraDefaults.js +0 -2
- /package/dist/application/{ArtifactExtractionDestination.js → artifacts/ArtifactExtractionDestination.js} +0 -0
- /package/dist/{application/ArtifactInventory → artifacts/inventory}/policy.js +0 -0
- /package/dist/{application/ArtifactInventory → artifacts/inventory}/types.js +0 -0
- /package/dist/domain/{processEvidenceProvider.js → process/processEvidenceProvider.js} +0 -0
- /package/dist/domain/{processTraceComparison.js → process/processTraceComparison.js} +0 -0
- /package/dist/domain/{processTraceDimensionProjection.js → process/processTraceDimensionProjection.js} +0 -0
- /package/dist/domain/{processTraceEvaluation.js → process/processTraceEvaluation.js} +0 -0
- /package/dist/{application → process/capture}/FilesystemSnapshot.js +0 -0
- /package/dist/{application → process/capture}/ProcessCaptureEnvironment.js +0 -0
- /package/dist/{application → process/capture}/ProcessCaptureJournal.js +0 -0
- /package/dist/{application → process/capture}/ProcessFilesystemEffects.js +0 -0
- /package/dist/{application → process/capture}/ProcessNormalization.js +0 -0
- /package/dist/{application → process/capture}/ProcessScenarioRuntimeValidation.js +0 -0
- /package/dist/{application → process/capture}/ProcessTimer.js +0 -0
- /package/dist/{application → process/capture}/TerminalRenderer.js +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { STDIO_DEFAULT_MAX_BUFFER_SIZE } from "@modelcontextprotocol/server";
|
|
2
|
+
import { constants as bufferConstants } from "node:buffer";
|
|
3
|
+
import { bufferedJsonParts, jsonParts } from "../domain/jsonSerialization.js";
|
|
4
|
+
// Leave room for the SDK's JSON-RPC envelope and protocol metadata. This budget
|
|
5
|
+
// follows the pinned client's actual default framing limit, not a result-row cap.
|
|
6
|
+
export const MCP_RESULT_BUDGET_BYTES = STDIO_DEFAULT_MAX_BUFFER_SIZE - 1024;
|
|
7
|
+
export const MCP_RESULT_STRING_LIMIT = bufferConstants.MAX_STRING_LENGTH - 1024;
|
|
8
|
+
const RESULT_ENVELOPE_BYTES = Buffer.byteLength(JSON.stringify({
|
|
9
|
+
content: [{ type: "text", text: "" }],
|
|
10
|
+
structuredContent: null,
|
|
11
|
+
})) - 4;
|
|
12
|
+
/** Account for structured JSON and escaped text before allocating the complete text. */
|
|
13
|
+
export const encodeToolResult = (value, budgetBytes = MCP_RESULT_BUDGET_BYTES) => {
|
|
14
|
+
const parts = [];
|
|
15
|
+
let bytes = RESULT_ENVELOPE_BYTES;
|
|
16
|
+
let codeUnits = RESULT_ENVELOPE_BYTES;
|
|
17
|
+
for (const part of bufferedJsonParts(jsonParts(value))) {
|
|
18
|
+
const escapedPart = JSON.stringify(part);
|
|
19
|
+
bytes += Buffer.byteLength(part) + Buffer.byteLength(escapedPart) - 2;
|
|
20
|
+
codeUnits += part.length + escapedPart.length - 2;
|
|
21
|
+
if (bytes > budgetBytes || codeUnits > MCP_RESULT_STRING_LIMIT)
|
|
22
|
+
return {
|
|
23
|
+
ok: false,
|
|
24
|
+
bytesAtLeast: bytes,
|
|
25
|
+
codeUnitsAtLeast: codeUnits,
|
|
26
|
+
constraint: codeUnits > MCP_RESULT_STRING_LIMIT
|
|
27
|
+
? "string-length"
|
|
28
|
+
: "receive-buffer",
|
|
29
|
+
};
|
|
30
|
+
parts.push(part);
|
|
31
|
+
}
|
|
32
|
+
return { ok: true, text: parts.join(""), bytes };
|
|
33
|
+
};
|
package/install.sh
CHANGED
|
@@ -107,7 +107,7 @@ if [[ "$dry_run" == true ]]; then
|
|
|
107
107
|
fi
|
|
108
108
|
|
|
109
109
|
printf 'Installing %s@%s...\n' "$PACKAGE" "$version"
|
|
110
|
-
npm install --global "${prefix_args[@]}" "$PACKAGE@$version" || fail "npm could not install REA. Check registry access and npm permissions, then retry."
|
|
110
|
+
npm install --global ${prefix_args[@]+"${prefix_args[@]}"} "$PACKAGE@$version" || fail "npm could not install REA. Check registry access and npm permissions, then retry."
|
|
111
111
|
[[ -x "$install_bin" ]] || fail "npm completed without installing the rea command. Check the npm global bin directory and PATH, then retry."
|
|
112
112
|
installed_version="$("$install_bin" --version 2>/dev/null | tr -d '[:space:]')" || fail "the installed REA version could not be read. Reinstall the requested version, then retry."
|
|
113
113
|
[[ "$installed_version" == "$version" ]] || fail "installed version $installed_version does not match $version. Reinstall the requested version, then retry."
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
|
-
"packageVersion": "
|
|
2
|
+
"packageVersion": "6.1.0",
|
|
3
3
|
"platform": "win32",
|
|
4
4
|
"architecture": "x64",
|
|
5
5
|
"abiVersion": 1,
|
|
6
6
|
"nodeApiVersion": 8,
|
|
7
7
|
"artifact": "rea-windows-x64.node",
|
|
8
|
-
"artifactSha256": "
|
|
8
|
+
"artifactSha256": "9914815706dcd4ef94d01543e31cb0b20035e98d5011d4b4e7f8e509823c8b1d"
|
|
9
9
|
}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rea-agents",
|
|
3
3
|
"mcpName": "io.github.morluto/rea",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "6.1.0",
|
|
5
5
|
"description": "Reverse engineer anything from your terminal or agent with one CLI and MCP server.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -44,10 +44,14 @@
|
|
|
44
44
|
"bridge/hopper_bridge.py",
|
|
45
45
|
"bridge/native/NativeUIChildren.swift",
|
|
46
46
|
"bridge/native/ReaNativeUI.swift",
|
|
47
|
+
"bridge/native/rea_lldb_tracer.py",
|
|
48
|
+
"bridge/process/ProcessRunTokenReader.swift",
|
|
49
|
+
"bridge/process/ProcessRunTokenReaderMain.swift",
|
|
47
50
|
"bridge/ghidra/ReaGhidraBridge.java",
|
|
48
51
|
"bridge/ghidra/ReaGhidraExtensions.java",
|
|
49
52
|
"bridge/ghidra/ReaGhidraPrepareCom.java",
|
|
50
53
|
"bridge/android/ReaJadxBridge.java",
|
|
54
|
+
"bridge/mitmproxy/capture.py",
|
|
51
55
|
"scripts/rea.mjs",
|
|
52
56
|
"scripts/electron-active-hook.cjs",
|
|
53
57
|
"scripts/electron-active-hook-boundaries.cjs",
|
|
@@ -59,18 +63,31 @@
|
|
|
59
63
|
"LICENSE",
|
|
60
64
|
"native/windows/build/manifest.json",
|
|
61
65
|
"native/windows/build/rea-windows-x64.node",
|
|
62
|
-
"scripts/verify-windows-native-artifact.mjs"
|
|
66
|
+
"scripts/verify-windows-native-artifact.mjs",
|
|
67
|
+
"bridge/pwntools/layout.py",
|
|
68
|
+
"bridge/pwntools/layout_impl.py",
|
|
69
|
+
"third_party/pwntools/README.md",
|
|
70
|
+
"third_party/evmole/README.md",
|
|
71
|
+
"third_party/evmole/LICENSE",
|
|
72
|
+
"bridge/pwntools/decoder_runtime.py",
|
|
73
|
+
"bridge/pwntools/recorded_crash.py",
|
|
74
|
+
"bridge/pwntools/recorded_crash_impl.py",
|
|
75
|
+
"bridge/pwndbg/launch.py",
|
|
76
|
+
"bridge/pwndbg/launch_impl.py",
|
|
77
|
+
"bridge/pwndbg/core_context.py",
|
|
78
|
+
"third_party/pwndbg/README.md",
|
|
79
|
+
"third_party/pwndbg/LICENSE.md"
|
|
63
80
|
],
|
|
64
81
|
"scripts": {
|
|
65
82
|
"deps:check": "node scripts/check-dependency-install.mjs",
|
|
66
83
|
"metadata:generate": "node scripts/generate-package-metadata.mjs",
|
|
67
84
|
"metadata:check": "node scripts/generate-package-metadata.mjs --check",
|
|
68
85
|
"mcp-registry:check": "node scripts/verify-mcp-registry-metadata.mjs",
|
|
69
|
-
"mcp-catalog:generate": "npm run build:cached
|
|
86
|
+
"mcp-catalog:generate": "npm run build:cached",
|
|
70
87
|
"mcp-catalog:check": "node scripts/generate-mcp-tool-catalog.mjs --check",
|
|
71
88
|
"prebuild": "npm run deps:check && npm run metadata:check",
|
|
72
89
|
"build": "node scripts/run-exclusive.mjs build npm run build:unlocked",
|
|
73
|
-
"build:unlocked": "node scripts/clean-build-output.mjs && tsc -p tsconfig.build.json",
|
|
90
|
+
"build:unlocked": "node scripts/clean-build-output.mjs && tsc -p tsconfig.build.json && node scripts/generate-mcp-tool-catalog.mjs && node scripts/generate-skill-metadata.mjs && node scripts/generate-product-catalog.mjs && node scripts/generate-completion-ledger.mjs",
|
|
74
91
|
"precheck": "npm run deps:check",
|
|
75
92
|
"check": "turbo run typecheck lint format:check knip metadata:check",
|
|
76
93
|
"precheck:fast": "npm run deps:check",
|
|
@@ -121,6 +138,9 @@
|
|
|
121
138
|
"typecheck": "tsc --noEmit",
|
|
122
139
|
"verify:test-temp-hygiene": "npm run build:cached && node scripts/verify-test-temp-hygiene.mjs",
|
|
123
140
|
"verify:hopper": "npm run verify:fixtures && npm run build:cached && node scripts/verify-real-hopper.mjs",
|
|
141
|
+
"verify:hopper:deadlines": "npm run verify:fixtures && npm run build:cached && node scripts/verify-real-hopper-deadlines.mjs",
|
|
142
|
+
"verify:hopper:fat": "npm run build:cached && node scripts/verify-real-hopper-fat.mjs",
|
|
143
|
+
"verify:hopper:fat64": "npm run build:cached && node scripts/verify-real-hopper-fat.mjs --fat64",
|
|
124
144
|
"verify:apple-dispatch": "npm run build:cached && node scripts/verify/apple/dispatch.mjs",
|
|
125
145
|
"verify:native-ui": "npm run build:cached && node scripts/verify-native-ui.mjs",
|
|
126
146
|
"verify:keyed-archive": "npm run build:cached && node scripts/verify/apple/keyed-archive.mjs",
|
|
@@ -141,6 +161,7 @@
|
|
|
141
161
|
"verify:inspector": "npm run build:cached && node scripts/verify/inspector/runtime-observation.mjs",
|
|
142
162
|
"verify:javascript-runtime": "npm run build:cached && node scripts/verify/javascript/runtime-observation.mjs",
|
|
143
163
|
"verify:javascript:digests": "npm run build:cached && node scripts/verify/javascript/digests.mjs",
|
|
164
|
+
"verify:javascript:output": "npm run build:cached && node scripts/verify/javascript/output.mjs",
|
|
144
165
|
"verify:application-workflows": "npm run build:cached && node scripts/verify/javascript/application-workflows.mjs",
|
|
145
166
|
"verify:managed": "npm run build:cached && node scripts/verify/managed/conformance.mjs",
|
|
146
167
|
"verify:firmware": "npm run build:cached && node scripts/verify/firmware/analysis.mjs",
|
|
@@ -161,17 +182,20 @@
|
|
|
161
182
|
"config:print": "node scripts/print-mcp-config.mjs",
|
|
162
183
|
"evidence:generate": "npm run build:cached && node scripts/generate-completion-ledger.mjs",
|
|
163
184
|
"evidence:check": "npm run build:cached && node scripts/generate-completion-ledger.mjs --check",
|
|
185
|
+
"predocs:dev": "npm run docs:generate",
|
|
164
186
|
"docs:dev": "vitepress dev docs",
|
|
187
|
+
"predocs:build": "npm run docs:generate",
|
|
165
188
|
"docs:build": "vitepress build docs",
|
|
166
189
|
"docs:preview": "vitepress preview docs",
|
|
167
190
|
"docs:generate": "node scripts/run-exclusive.mjs docs npm run docs:generate:unlocked",
|
|
168
|
-
"docs:generate:unlocked": "npm run metadata:generate && npm run build:cached && node scripts/generate-
|
|
191
|
+
"docs:generate:unlocked": "npm run metadata:generate && npm run build:cached && node scripts/generate-error-schema.mjs",
|
|
169
192
|
"docs:check": "node scripts/run-exclusive.mjs docs turbo run docs:check:built",
|
|
170
193
|
"docs:check:built": "node scripts/generate-package-metadata.mjs --check && node scripts/generate-mcp-tool-catalog.mjs --check && node scripts/generate-skill-metadata.mjs --check && node scripts/generate-product-catalog.mjs --check && node scripts/generate-completion-ledger.mjs --check && node scripts/check-doc-facts.mjs && node scripts/generate-error-schema.mjs --check",
|
|
171
194
|
"docs:error-schema": "npm run build:cached && node scripts/generate-error-schema.mjs",
|
|
172
195
|
"prepack": "node scripts/prepack.mjs",
|
|
173
196
|
"prepare": "node scripts/prepare.mjs",
|
|
174
197
|
"verify:asset-catalog": "npm run build:cached && node scripts/verify/apple/asset-catalog.mjs",
|
|
198
|
+
"verify:native-calls": "npm run build:cached && node scripts/verify-native-calls.mjs",
|
|
175
199
|
"verify:native-ui:permissions": "npm run build:cached && node scripts/verify-native-ui.mjs --allow-permission-denial",
|
|
176
200
|
"test:focused": "node scripts/run-development-tests.mjs focused",
|
|
177
201
|
"build:windows-native": "node scripts/build-windows-native.mjs",
|
|
@@ -188,7 +212,11 @@
|
|
|
188
212
|
"verify:javascript:recovery": "node scripts/verify/javascript/recovery.mjs",
|
|
189
213
|
"verify:module-boundaries": "node scripts/verify-module-boundaries.mjs",
|
|
190
214
|
"verify:browser:source-maps": "npm run build:cached && node scripts/verify-browser-source-maps.mjs",
|
|
191
|
-
"verify:browser:runtime": "npm run build:cached && node scripts/verify-browser-runtime.mjs"
|
|
215
|
+
"verify:browser:runtime": "npm run build:cached && node scripts/verify-browser-runtime.mjs",
|
|
216
|
+
"verify:web:network-captures": "npm run build:cached && node scripts/verify-web-network-captures.mjs",
|
|
217
|
+
"verify:binary:layout": "npm run build:cached && node scripts/verify-binary-layout.mjs",
|
|
218
|
+
"verify:evm:interface": "npm run build:cached && node scripts/verify-evm-interface.mjs",
|
|
219
|
+
"verify:recorded:crash": "npm run build:cached && node scripts/verify-recorded-crash.mjs"
|
|
192
220
|
},
|
|
193
221
|
"lint-staged": {
|
|
194
222
|
"*.{cjs,cts,js,jsx,mjs,mts,ts,tsx}": [
|
|
@@ -208,14 +236,19 @@
|
|
|
208
236
|
"@modelcontextprotocol/server": "2.3.1",
|
|
209
237
|
"@xterm/addon-serialize": "0.14.0",
|
|
210
238
|
"@xterm/headless": "6.0.0",
|
|
211
|
-
"@zip.js/zip.js": "2.
|
|
239
|
+
"@zip.js/zip.js": "2.15.0",
|
|
240
|
+
"ajv": "8.20.0",
|
|
241
|
+
"ajv-formats": "3.0.1",
|
|
212
242
|
"canonicalize": "3.0.0",
|
|
213
243
|
"cross-spawn": "7.0.6",
|
|
214
244
|
"diff": "9.0.0",
|
|
245
|
+
"har-schema": "2.0.0",
|
|
215
246
|
"ignore": "7.0.6",
|
|
216
247
|
"incur": "0.6.1",
|
|
217
248
|
"isomorphic-git": "1.38.7",
|
|
218
249
|
"jsonc-parser": "3.3.1",
|
|
250
|
+
"lossless-json": "4.3.1",
|
|
251
|
+
"parse5": "8.0.1",
|
|
219
252
|
"pino": "10.4.0",
|
|
220
253
|
"playwright-core": "1.58.2",
|
|
221
254
|
"plist": "5.0.0",
|
|
@@ -223,7 +256,8 @@
|
|
|
223
256
|
"smol-toml": "1.9.0",
|
|
224
257
|
"write-file-atomic": "7.0.0",
|
|
225
258
|
"ws": "8.21.0",
|
|
226
|
-
"zod": "4.4.3"
|
|
259
|
+
"zod": "4.4.3",
|
|
260
|
+
"evmole": "0.9.3"
|
|
227
261
|
},
|
|
228
262
|
"overrides": {
|
|
229
263
|
"vitepress": {
|
|
@@ -238,7 +272,6 @@
|
|
|
238
272
|
"@types/write-file-atomic": "4.0.3",
|
|
239
273
|
"@types/ws": "8.18.1",
|
|
240
274
|
"@vitest/coverage-v8": "5.0.3",
|
|
241
|
-
"ajv": "8.20.0",
|
|
242
275
|
"husky": "9.1.7",
|
|
243
276
|
"jscpd": "5.0.12",
|
|
244
277
|
"knip": "6.39.0",
|
|
@@ -61,7 +61,7 @@ const createElectronActiveBoundaryPatches = ({
|
|
|
61
61
|
const target = typeof args[0] === "string" ? args[0] : null;
|
|
62
62
|
recordRuntime("preload", "context-bridge-exposure", "attempted", {
|
|
63
63
|
target,
|
|
64
|
-
|
|
64
|
+
argument_shape_values: args,
|
|
65
65
|
process_type: processType(),
|
|
66
66
|
});
|
|
67
67
|
try {
|
|
@@ -110,7 +110,7 @@ const createElectronActiveBoundaryPatches = ({
|
|
|
110
110
|
event === "will-download" ? "blocked" : "observed",
|
|
111
111
|
{
|
|
112
112
|
target: identity(args[0], "webContents"),
|
|
113
|
-
|
|
113
|
+
argument_shape_values: args,
|
|
114
114
|
error: event === "will-download",
|
|
115
115
|
},
|
|
116
116
|
);
|
|
@@ -124,7 +124,7 @@ const createElectronActiveBoundaryPatches = ({
|
|
|
124
124
|
(webContents, permission, callback) => {
|
|
125
125
|
recordRuntime("permission", "permission-request", "blocked", {
|
|
126
126
|
target: identity(webContents, "webContents"),
|
|
127
|
-
|
|
127
|
+
argument_shape_values: [permission],
|
|
128
128
|
error: true,
|
|
129
129
|
});
|
|
130
130
|
if (typeof callback === "function") callback(false);
|
|
@@ -137,7 +137,7 @@ const createElectronActiveBoundaryPatches = ({
|
|
|
137
137
|
return originalPermissionCheck.call(this, (webContents, permission) => {
|
|
138
138
|
recordRuntime("permission", "permission-check", "blocked", {
|
|
139
139
|
target: identity(webContents, "webContents"),
|
|
140
|
-
|
|
140
|
+
argument_shape_values: [permission],
|
|
141
141
|
error: true,
|
|
142
142
|
});
|
|
143
143
|
return false;
|
|
@@ -148,7 +148,7 @@ const createElectronActiveBoundaryPatches = ({
|
|
|
148
148
|
session.setCertificateVerifyProc = function blockedCertificate() {
|
|
149
149
|
return originalCertificate.call(this, (request, callback) => {
|
|
150
150
|
recordRuntime("permission", "certificate-error", "blocked", {
|
|
151
|
-
|
|
151
|
+
argument_shape_values: [request],
|
|
152
152
|
error: true,
|
|
153
153
|
});
|
|
154
154
|
if (typeof callback === "function") callback(-2);
|
|
@@ -168,14 +168,14 @@ const createElectronActiveBoundaryPatches = ({
|
|
|
168
168
|
} catch {
|
|
169
169
|
recordRuntime("popup-attempt", "window-open-handler", "failed", {
|
|
170
170
|
target: contentsId,
|
|
171
|
-
|
|
171
|
+
argument_shape_values: args,
|
|
172
172
|
error: true,
|
|
173
173
|
});
|
|
174
174
|
return { action: "deny" };
|
|
175
175
|
}
|
|
176
176
|
recordRuntime("popup-attempt", "window-open-handler", "blocked", {
|
|
177
177
|
target: contentsId,
|
|
178
|
-
|
|
178
|
+
argument_shape_values: args,
|
|
179
179
|
error: true,
|
|
180
180
|
});
|
|
181
181
|
return { action: "deny" };
|
|
@@ -195,9 +195,11 @@ const createElectronActiveBoundaryPatches = ({
|
|
|
195
195
|
};
|
|
196
196
|
};
|
|
197
197
|
|
|
198
|
-
const patchSessionManager = (sessionModule) => {
|
|
198
|
+
const patchSessionManager = (sessionModule, app) => {
|
|
199
199
|
if (sessionModule === null || sessionModule === undefined) return;
|
|
200
|
-
|
|
200
|
+
if (app === undefined || app.isReady())
|
|
201
|
+
patchSession(sessionModule.defaultSession);
|
|
202
|
+
else app.once("ready", () => patchSession(sessionModule.defaultSession));
|
|
201
203
|
for (const method of ["fromPartition", "fromPath"]) {
|
|
202
204
|
const original = sessionModule[method];
|
|
203
205
|
if (typeof original !== "function") continue;
|
|
@@ -223,7 +225,7 @@ const createElectronActiveBoundaryPatches = ({
|
|
|
223
225
|
method === "relaunch" ? "updater" : "protocol",
|
|
224
226
|
method,
|
|
225
227
|
"blocked",
|
|
226
|
-
{
|
|
228
|
+
{ argument_shape_values: args, error: true },
|
|
227
229
|
);
|
|
228
230
|
return method === "setAsDefaultProtocolClient" ? false : undefined;
|
|
229
231
|
};
|
|
@@ -250,11 +252,7 @@ const createElectronActiveBoundaryPatches = ({
|
|
|
250
252
|
recordRuntime("native-addon", "dlopen", "attempted", {
|
|
251
253
|
artifact_path: typeof filename === "string" ? filename : null,
|
|
252
254
|
artifact_sha256: digest,
|
|
253
|
-
|
|
254
|
-
shape(module),
|
|
255
|
-
shape(filename),
|
|
256
|
-
...args.map((value) => shape(value)),
|
|
257
|
-
],
|
|
255
|
+
argument_shape_value_groups: [[module, filename], args],
|
|
258
256
|
});
|
|
259
257
|
try {
|
|
260
258
|
const result = original.call(this, module, filename, ...args);
|
|
@@ -280,7 +278,7 @@ const createElectronActiveBoundaryPatches = ({
|
|
|
280
278
|
if (typeof original !== "function") return;
|
|
281
279
|
utilityProcess.fork = function patchedFork(...args) {
|
|
282
280
|
recordRuntime("process-lifecycle", "utility-process-fork", "attempted", {
|
|
283
|
-
|
|
281
|
+
argument_shape_values: args,
|
|
284
282
|
process_type: "main",
|
|
285
283
|
});
|
|
286
284
|
const child = original.apply(this, args);
|
|
@@ -304,7 +302,7 @@ const createElectronActiveBoundaryPatches = ({
|
|
|
304
302
|
recordRuntime("process-lifecycle", `utility.${event}`, "observed", {
|
|
305
303
|
target: childId,
|
|
306
304
|
process_type: "utility",
|
|
307
|
-
|
|
305
|
+
argument_shape_values: eventArgs,
|
|
308
306
|
});
|
|
309
307
|
});
|
|
310
308
|
if (child && typeof child.postMessage === "function") {
|
|
@@ -344,7 +342,7 @@ const createElectronActiveBoundaryPatches = ({
|
|
|
344
342
|
if (typeof original !== "function") continue;
|
|
345
343
|
shell[method] = function blockedShellCall(...args) {
|
|
346
344
|
recordRuntime("shell-attempt", method, "blocked", {
|
|
347
|
-
|
|
345
|
+
argument_shape_values: args,
|
|
348
346
|
error: true,
|
|
349
347
|
});
|
|
350
348
|
return Promise.reject(new Error("External shell effects are blocked"));
|
|
@@ -359,7 +357,7 @@ const createElectronActiveBoundaryPatches = ({
|
|
|
359
357
|
if (typeof original !== "function") continue;
|
|
360
358
|
childProcess[method] = function patchedChildProcess(...args) {
|
|
361
359
|
recordRuntime("process-lifecycle", `child.${method}`, "attempted", {
|
|
362
|
-
|
|
360
|
+
argument_shape_values: args,
|
|
363
361
|
});
|
|
364
362
|
const child = original.apply(this, args);
|
|
365
363
|
const childId = identity(child, "child");
|
|
@@ -369,7 +367,7 @@ const createElectronActiveBoundaryPatches = ({
|
|
|
369
367
|
patchEmitter(child, (event, eventArgs) =>
|
|
370
368
|
recordRuntime("process-lifecycle", `child.${event}`, "observed", {
|
|
371
369
|
target: childId,
|
|
372
|
-
|
|
370
|
+
argument_shape_values: eventArgs,
|
|
373
371
|
}),
|
|
374
372
|
);
|
|
375
373
|
return child;
|