mirror of
https://github.com/morluto/rea.git
synced 2026-10-12 02:19:24 +00:00
* feat(web): export captured scripts for JavaScript application analysis Add capture adapters, conservative source path projection, verified exclusive publication and a shared CLI/MCP workflow. Retain source identities, missing content and competing URL versions in a complete manifest for existing static analysis. Refs: #774 Closes: #799 Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis) Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing) * test(web): include script export in independent effect audit Register the new contract family in the independent inventory audit and verify the filesystem, session, network and idempotence metadata of the named export contract. Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis) Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing) * fix(web): preserve capture limitation values in export manifests Align the export boundary with passive capture’s string contract instead of rejecting an admitted empty limitation. Cover the publisher boundary and regenerate canonical schemas and identities. Assisted-by: Yukari (gensokyo-skills:yukari-boundary-analysis) Assisted-by: Kogasa (gensokyo-skills:kogasa-surprise-testing)
647 lines
17 KiB
JSON
647 lines
17 KiB
JSON
{
|
|
"package": {
|
|
"name": "rea-agents",
|
|
"version": "4.1.0",
|
|
"sdk": {
|
|
"server": "2.3.1",
|
|
"client": "2.3.1",
|
|
"core": "2.3.1"
|
|
},
|
|
"skill_version": "26"
|
|
},
|
|
"tools": {
|
|
"total": 126,
|
|
"families": [
|
|
{
|
|
"id": "direct",
|
|
"surface": "official-proxy",
|
|
"count": 41,
|
|
"tools": [
|
|
"address_name",
|
|
"address_to_file_offset",
|
|
"annotate_native_function",
|
|
"comment",
|
|
"current_address",
|
|
"current_document",
|
|
"current_procedure",
|
|
"goto_address",
|
|
"inline_comment",
|
|
"inspect_native_data_type",
|
|
"inspect_native_instruction",
|
|
"inspect_native_load_image",
|
|
"list_bookmarks",
|
|
"list_documents",
|
|
"list_names",
|
|
"list_procedures",
|
|
"list_segments",
|
|
"list_strings",
|
|
"next_address",
|
|
"prev_address",
|
|
"procedure_address",
|
|
"procedure_assembly",
|
|
"procedure_callees",
|
|
"procedure_callers",
|
|
"procedure_info",
|
|
"procedure_pseudo_code",
|
|
"procedure_references",
|
|
"read_bytes",
|
|
"read_function_instructions",
|
|
"resolve_containing_procedure",
|
|
"resolve_native_call_targets",
|
|
"search_procedures",
|
|
"search_strings",
|
|
"set_address_name",
|
|
"set_addresses_names",
|
|
"set_bookmark",
|
|
"set_comment",
|
|
"set_current_document",
|
|
"set_inline_comment",
|
|
"unset_bookmark",
|
|
"xrefs"
|
|
]
|
|
},
|
|
{
|
|
"id": "enhanced",
|
|
"surface": "enhanced",
|
|
"count": 14,
|
|
"tools": [
|
|
"analyze_function",
|
|
"analyze_swift_types",
|
|
"batch_decompile",
|
|
"binary_overview",
|
|
"find_xrefs_to_name",
|
|
"get_call_graph",
|
|
"get_objc_classes",
|
|
"get_objc_protocols",
|
|
"inspect_native_api",
|
|
"inspect_native_dispatch_metadata",
|
|
"trace_call_path",
|
|
"trace_feature",
|
|
"trace_native_ui_action",
|
|
"trace_native_values"
|
|
]
|
|
},
|
|
{
|
|
"id": "native",
|
|
"surface": "native-provider",
|
|
"count": 7,
|
|
"tools": [
|
|
"capture_native_ui_scenario",
|
|
"demangle_swift",
|
|
"inspect_macho",
|
|
"inspect_plist",
|
|
"inspect_signature",
|
|
"list_architectures",
|
|
"observe_native_ui"
|
|
]
|
|
},
|
|
{
|
|
"id": "artifact",
|
|
"surface": "artifact-provider",
|
|
"count": 5,
|
|
"tools": [
|
|
"decode_interface_builder",
|
|
"extract_artifact",
|
|
"inspect_artifact",
|
|
"inspect_asset_catalog",
|
|
"inspect_keyed_archive"
|
|
]
|
|
},
|
|
{
|
|
"id": "managed",
|
|
"surface": "managed",
|
|
"count": 7,
|
|
"tools": [
|
|
"compare_managed_members",
|
|
"import_managed_reconstruction",
|
|
"inspect_managed_artifact",
|
|
"inspect_managed_members",
|
|
"inspect_managed_native_boundaries",
|
|
"project_managed_application_graph",
|
|
"verify_managed_native_boundaries"
|
|
]
|
|
},
|
|
{
|
|
"id": "firmware",
|
|
"surface": "firmware-provider",
|
|
"count": 2,
|
|
"tools": ["extract_firmware", "inspect_firmware_regions"]
|
|
},
|
|
{
|
|
"id": "android",
|
|
"surface": "android-provider",
|
|
"count": 5,
|
|
"tools": [
|
|
"inspect_android_class",
|
|
"inspect_android_method",
|
|
"inspect_android_package",
|
|
"search_android_classes",
|
|
"trace_android_references"
|
|
]
|
|
},
|
|
{
|
|
"id": "browser",
|
|
"surface": "browser-provider",
|
|
"count": 9,
|
|
"tools": [
|
|
"analyze_web_bundle",
|
|
"capture_browser_scenario",
|
|
"capture_web_screenshot",
|
|
"compare_web_captures",
|
|
"compare_web_screenshots",
|
|
"discover_webmcp_tools",
|
|
"inspect_web_page",
|
|
"list_browser_targets",
|
|
"observe_web_session"
|
|
]
|
|
},
|
|
{
|
|
"id": "electron",
|
|
"surface": "electron-provider",
|
|
"count": 5,
|
|
"tools": [
|
|
"analyze_javascript_application",
|
|
"capture_electron_scenario",
|
|
"inspect_electron_page",
|
|
"list_electron_targets",
|
|
"reconcile_javascript_runtime"
|
|
]
|
|
},
|
|
{
|
|
"id": "javascript-runtime",
|
|
"surface": "runtime-provider",
|
|
"count": 2,
|
|
"tools": [
|
|
"list_javascript_runtime_targets",
|
|
"observe_javascript_runtime"
|
|
]
|
|
},
|
|
{
|
|
"id": "application",
|
|
"surface": "application-workflow",
|
|
"count": 8,
|
|
"tools": [
|
|
"build_reconstruction_obligation_ledger",
|
|
"compare_application_versions",
|
|
"compare_javascript_export_shapes",
|
|
"compare_source_to_bundle",
|
|
"evaluate_reconstruction_coverage",
|
|
"export_web_scripts",
|
|
"trace_application_feature",
|
|
"trace_javascript_semantics"
|
|
]
|
|
},
|
|
{
|
|
"id": "session",
|
|
"surface": "session",
|
|
"count": 21,
|
|
"tools": [
|
|
"binary_session",
|
|
"build_call_path",
|
|
"capture_process_scenario",
|
|
"close_binary",
|
|
"compare_artifacts",
|
|
"compare_bundles",
|
|
"compare_functions",
|
|
"compare_process_captures",
|
|
"correlate_static_and_runtime",
|
|
"export_evidence_bundle",
|
|
"find_changed_behavior",
|
|
"get_evidence_bundle",
|
|
"get_navigation_context",
|
|
"import_evidence_bundle",
|
|
"inspect_address_context",
|
|
"list_unknowns",
|
|
"open_binary",
|
|
"record_unknown",
|
|
"update_unknown",
|
|
"verify_reconstruction",
|
|
"verify_unknown_resolution"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"providers": [
|
|
{
|
|
"id": "binwalk",
|
|
"name": "Binwalk",
|
|
"version": "3.1.0",
|
|
"capabilities": ["inspect_firmware_regions"]
|
|
},
|
|
{
|
|
"id": "ghidra",
|
|
"name": "Ghidra",
|
|
"version": null,
|
|
"capabilities": [
|
|
"address_name",
|
|
"address_to_file_offset",
|
|
"analyze_function",
|
|
"annotate_native_function",
|
|
"inspect_native_data_type",
|
|
"inspect_native_instruction",
|
|
"inspect_native_load_image",
|
|
"list_documents",
|
|
"list_names",
|
|
"list_procedures",
|
|
"list_segments",
|
|
"list_strings",
|
|
"procedure_address",
|
|
"procedure_assembly",
|
|
"procedure_callees",
|
|
"procedure_callers",
|
|
"procedure_info",
|
|
"procedure_pseudo_code",
|
|
"procedure_references",
|
|
"read_bytes",
|
|
"read_function_instructions",
|
|
"resolve_containing_procedure",
|
|
"resolve_native_call_targets",
|
|
"search_procedures",
|
|
"search_strings",
|
|
"xrefs"
|
|
]
|
|
},
|
|
{
|
|
"id": "hopper",
|
|
"name": "Hopper Disassembler",
|
|
"version": null,
|
|
"capabilities": [
|
|
"address_name",
|
|
"address_to_file_offset",
|
|
"analyze_function",
|
|
"comment",
|
|
"current_address",
|
|
"current_document",
|
|
"current_procedure",
|
|
"goto_address",
|
|
"inline_comment",
|
|
"list_bookmarks",
|
|
"list_documents",
|
|
"list_names",
|
|
"list_procedures",
|
|
"list_segments",
|
|
"list_strings",
|
|
"next_address",
|
|
"prev_address",
|
|
"procedure_address",
|
|
"procedure_assembly",
|
|
"procedure_callees",
|
|
"procedure_callers",
|
|
"procedure_info",
|
|
"procedure_pseudo_code",
|
|
"procedure_references",
|
|
"read_bytes",
|
|
"read_function_instructions",
|
|
"resolve_containing_procedure",
|
|
"search_procedures",
|
|
"search_strings",
|
|
"set_address_name",
|
|
"set_addresses_names",
|
|
"set_bookmark",
|
|
"set_comment",
|
|
"set_current_document",
|
|
"set_inline_comment",
|
|
"unset_bookmark",
|
|
"xrefs"
|
|
]
|
|
},
|
|
{
|
|
"id": "ida",
|
|
"name": "IDA Pro MCP adapter",
|
|
"version": "1",
|
|
"capabilities": [
|
|
"analyze_function",
|
|
"list_procedures",
|
|
"list_strings",
|
|
"procedure_address",
|
|
"procedure_assembly",
|
|
"procedure_callees",
|
|
"procedure_callers",
|
|
"procedure_pseudo_code",
|
|
"read_function_instructions",
|
|
"search_procedures",
|
|
"search_strings",
|
|
"xrefs"
|
|
]
|
|
},
|
|
{
|
|
"id": "jadx",
|
|
"name": "JADX headless",
|
|
"version": "0.7.1",
|
|
"capabilities": [
|
|
"inspect_android_class",
|
|
"inspect_android_method",
|
|
"inspect_android_package",
|
|
"search_android_classes",
|
|
"trace_android_references"
|
|
]
|
|
},
|
|
{
|
|
"id": "native-macos",
|
|
"name": "macOS native inspection utilities",
|
|
"version": null,
|
|
"capabilities": [
|
|
"capture_native_ui_scenario",
|
|
"demangle_swift",
|
|
"inspect_macho",
|
|
"inspect_plist",
|
|
"inspect_signature",
|
|
"list_architectures",
|
|
"observe_native_ui"
|
|
]
|
|
},
|
|
{
|
|
"id": "rea-artifact-graph",
|
|
"name": "REA safe artifact graph provider",
|
|
"version": "1",
|
|
"capabilities": [
|
|
"decode_interface_builder",
|
|
"extract_artifact",
|
|
"inspect_artifact",
|
|
"inspect_asset_catalog",
|
|
"inspect_keyed_archive"
|
|
]
|
|
},
|
|
{
|
|
"id": "rea-cdp-browser",
|
|
"name": "REA Chrome DevTools Protocol observation provider",
|
|
"version": "2",
|
|
"capabilities": [
|
|
"analyze_web_bundle",
|
|
"capture_web_screenshot",
|
|
"compare_web_captures",
|
|
"compare_web_screenshots",
|
|
"discover_webmcp_tools",
|
|
"inspect_web_page",
|
|
"list_browser_targets",
|
|
"observe_web_session"
|
|
]
|
|
},
|
|
{
|
|
"id": "rea-cdp-electron",
|
|
"name": "REA Electron file-page CDP observation provider",
|
|
"version": "1",
|
|
"capabilities": ["inspect_electron_page", "list_electron_targets"]
|
|
},
|
|
{
|
|
"id": "rea-dotnet-static",
|
|
"name": "REA managed static analysis provider",
|
|
"version": "1",
|
|
"capabilities": [
|
|
"inspect_managed_artifact",
|
|
"inspect_managed_members",
|
|
"inspect_managed_native_boundaries"
|
|
]
|
|
},
|
|
{
|
|
"id": "rea-dotnet-workflows",
|
|
"name": "REA managed-code workflows",
|
|
"version": "1",
|
|
"capabilities": [
|
|
"compare_managed_members",
|
|
"import_managed_reconstruction",
|
|
"project_managed_application_graph",
|
|
"verify_managed_native_boundaries"
|
|
]
|
|
},
|
|
{
|
|
"id": "rea-javascript-application",
|
|
"name": "REA JavaScript application analyzer",
|
|
"version": "1",
|
|
"capabilities": ["analyze_javascript_application"]
|
|
},
|
|
{
|
|
"id": "rea-javascript-application-workflows",
|
|
"name": "REA JavaScript application workflows",
|
|
"version": "1",
|
|
"capabilities": [
|
|
"build_reconstruction_obligation_ledger",
|
|
"compare_application_versions",
|
|
"compare_javascript_export_shapes",
|
|
"compare_source_to_bundle",
|
|
"evaluate_reconstruction_coverage",
|
|
"trace_application_feature",
|
|
"trace_javascript_semantics"
|
|
]
|
|
},
|
|
{
|
|
"id": "rea-javascript-runtime-reconciliation",
|
|
"name": "REA JavaScript runtime reconciliation",
|
|
"version": "1",
|
|
"capabilities": ["reconcile_javascript_runtime"]
|
|
},
|
|
{
|
|
"id": "rea-playwright-browser-scenario",
|
|
"name": "REA Playwright browser scenario capture provider",
|
|
"version": "1",
|
|
"capabilities": ["capture_browser_scenario"]
|
|
},
|
|
{
|
|
"id": "rea-playwright-electron-active",
|
|
"name": "REA Playwright active Electron observation provider",
|
|
"version": "1",
|
|
"capabilities": ["capture_electron_scenario"]
|
|
},
|
|
{
|
|
"id": "rea-v8-inspector",
|
|
"name": "REA passive Node/Electron V8 Inspector provider",
|
|
"version": "1",
|
|
"capabilities": [
|
|
"list_javascript_runtime_targets",
|
|
"observe_javascript_runtime"
|
|
]
|
|
},
|
|
{
|
|
"id": "rea-web-script-export",
|
|
"name": "REA captured script export",
|
|
"version": "1",
|
|
"capabilities": ["export_web_scripts"]
|
|
},
|
|
{
|
|
"id": "unblob",
|
|
"name": "Unblob",
|
|
"version": "26.6.4",
|
|
"capabilities": ["extract_firmware"]
|
|
}
|
|
],
|
|
"setup_clients": [
|
|
{
|
|
"id": "claude_code",
|
|
"display_name": "Claude Code",
|
|
"format": "json",
|
|
"configuration": "managed"
|
|
},
|
|
{
|
|
"id": "claude_desktop",
|
|
"display_name": "Claude Desktop",
|
|
"format": "json",
|
|
"configuration": "managed"
|
|
},
|
|
{
|
|
"id": "codex",
|
|
"display_name": "Codex",
|
|
"format": "toml",
|
|
"configuration": "managed"
|
|
},
|
|
{
|
|
"id": "cursor",
|
|
"display_name": "Cursor",
|
|
"format": "json",
|
|
"configuration": "managed"
|
|
},
|
|
{
|
|
"id": "gemini_cli",
|
|
"display_name": "Gemini CLI",
|
|
"format": "json",
|
|
"configuration": "managed"
|
|
},
|
|
{
|
|
"id": "windsurf",
|
|
"display_name": "Windsurf",
|
|
"format": "json",
|
|
"configuration": "managed"
|
|
},
|
|
{
|
|
"id": "devin",
|
|
"display_name": "Devin",
|
|
"format": "json",
|
|
"configuration": "managed"
|
|
},
|
|
{
|
|
"id": "opencode",
|
|
"display_name": "OpenCode",
|
|
"format": "opencode",
|
|
"configuration": "managed"
|
|
},
|
|
{
|
|
"id": "antigravity",
|
|
"display_name": "Antigravity",
|
|
"format": "json",
|
|
"configuration": "managed"
|
|
},
|
|
{
|
|
"id": "copilot_cli",
|
|
"display_name": "GitHub Copilot CLI",
|
|
"format": "copilot_cli",
|
|
"configuration": "managed"
|
|
},
|
|
{
|
|
"id": "commandcode",
|
|
"display_name": "Command Code",
|
|
"format": "commandcode",
|
|
"configuration": "managed"
|
|
},
|
|
{
|
|
"id": "vscode",
|
|
"display_name": "VS Code",
|
|
"format": "vscode",
|
|
"configuration": "managed"
|
|
}
|
|
],
|
|
"cli": {
|
|
"primary_count": 81,
|
|
"commands": [
|
|
"address-to-file-offset",
|
|
"analyze",
|
|
"analyze-javascript-application",
|
|
"analyze-web-bundle",
|
|
"annotate-native-function",
|
|
"build-reconstruction-obligation-ledger",
|
|
"capabilities",
|
|
"capture-browser-scenario",
|
|
"capture-electron-scenario",
|
|
"capture-native-ui-scenario",
|
|
"capture-process",
|
|
"capture-web-screenshot",
|
|
"compare",
|
|
"compare-application-versions",
|
|
"compare-javascript-export-shapes",
|
|
"compare-managed-members",
|
|
"compare-process-captures",
|
|
"compare-source-to-bundle",
|
|
"compare-web-captures",
|
|
"compare-web-screenshots",
|
|
"decode-interface-builder",
|
|
"decompile",
|
|
"demangle-swift",
|
|
"discover-webmcp-tools",
|
|
"doctor",
|
|
"evaluate-reconstruction-coverage",
|
|
"evidence-export",
|
|
"evidence-import",
|
|
"export-web-scripts",
|
|
"extract-artifact",
|
|
"extract-firmware",
|
|
"function",
|
|
"import-managed-reconstruction",
|
|
"import-reference-source",
|
|
"inspect",
|
|
"inspect-android-class",
|
|
"inspect-android-method",
|
|
"inspect-android-package",
|
|
"inspect-artifact",
|
|
"inspect-asset-catalog",
|
|
"inspect-electron-page",
|
|
"inspect-firmware-regions",
|
|
"inspect-keyed-archive",
|
|
"inspect-macho",
|
|
"inspect-managed-artifact",
|
|
"inspect-managed-members",
|
|
"inspect-managed-native-boundaries",
|
|
"inspect-native-api",
|
|
"inspect-native-data-type",
|
|
"inspect-native-dispatch-metadata",
|
|
"inspect-native-instruction",
|
|
"inspect-native-load-image",
|
|
"inspect-plist",
|
|
"inspect-signature",
|
|
"inspect-web-page",
|
|
"instructions",
|
|
"list-architectures",
|
|
"list-browser-targets",
|
|
"list-electron-targets",
|
|
"list-javascript-runtime-targets",
|
|
"observe-javascript-runtime",
|
|
"observe-native-ui",
|
|
"observe-web-session",
|
|
"project-managed-application-graph",
|
|
"providers",
|
|
"read-bytes",
|
|
"reconcile-javascript-runtime",
|
|
"resolve-native-call-targets",
|
|
"search",
|
|
"search-android-classes",
|
|
"setup",
|
|
"trace",
|
|
"trace-android-references",
|
|
"trace-application-feature",
|
|
"trace-javascript-semantics",
|
|
"trace-native-ui-action",
|
|
"trace-native-values",
|
|
"uninstall",
|
|
"update",
|
|
"verify-managed-native-boundaries",
|
|
"xrefs"
|
|
],
|
|
"aliases": [
|
|
{
|
|
"name": "compare-bundles",
|
|
"target": "compare"
|
|
}
|
|
]
|
|
},
|
|
"runtime_catalog": {
|
|
"counts": {
|
|
"cli_commands": 81,
|
|
"mcp_tools": 126,
|
|
"mcp_prompts": 6
|
|
},
|
|
"digests": {
|
|
"tools_sha256": "569db1182f19869a3bdb22cf217bc75526f317b59635c8866d0e62741077cd52",
|
|
"prompts_sha256": "ef2de8814390b340623c32001610aa2709d90bed51537b6e562ab3abf144ab4d",
|
|
"combined_sha256": "e21455dd7d64af94e0b07aff55ab82f03a37e46729ece51be38b50083d2d5b55",
|
|
"providers_sha256": "7949ddcf2eb5ba41b022bb3dfa1951ab96dbf5640285fa7fd5d35b0e4a5bdab3"
|
|
}
|
|
}
|
|
}
|