This commit is contained in:
@@ -0,0 +1,133 @@
|
||||
{
|
||||
"artifact": {
|
||||
"built": true,
|
||||
"filename": "chimera-gfx-lifecycle-probe.elf",
|
||||
"id": "chimera-gfx-lifecycle-phase07-fw960-v1",
|
||||
"sha256": "bfb4a5cc768e162fe4c2fddf41c3978e152722918a39085277fd172cb95a7182",
|
||||
"size": 112680,
|
||||
"source_commit": "fe08300339a13f899fb78ea404ada381a5cba87c"
|
||||
},
|
||||
"budgets": {
|
||||
"automatic_retry": false,
|
||||
"filesystem_write_budget": "controlled_artifact_directory_only",
|
||||
"maximum_runtime_ms": 2000,
|
||||
"payload_network_access": "none",
|
||||
"persistent_write_budget": "controlled_artifact_removable"
|
||||
},
|
||||
"decision": "READY_FOR_HARDENED_RUNTIME_DEPLOYMENT",
|
||||
"deployment": {
|
||||
"installed": false,
|
||||
"ready_for_installation": true,
|
||||
"rollback_prepared": true
|
||||
},
|
||||
"effects": [
|
||||
{
|
||||
"classification": "EXPECTED_VOLATILE_RUNTIME_EFFECT",
|
||||
"id": "elfldr_first_stage_qaflags_enable"
|
||||
},
|
||||
{
|
||||
"classification": "RESTORED_BY_LOADER",
|
||||
"id": "elfldr_first_stage_privilege_restore"
|
||||
},
|
||||
{
|
||||
"classification": "PAYLOAD_PROCESS_LOCAL",
|
||||
"id": "payload_process_creation"
|
||||
},
|
||||
{
|
||||
"classification": "RESTORED_BY_LOADER",
|
||||
"id": "ptrace_authid_restore_success_path"
|
||||
},
|
||||
{
|
||||
"classification": "FAIL_CLOSED_TERMINATION",
|
||||
"id": "ptrace_authid_restore_failure_path"
|
||||
},
|
||||
{
|
||||
"classification": "BOUNDED_WATCHDOG",
|
||||
"id": "ptrace_single_step_completion"
|
||||
},
|
||||
{
|
||||
"classification": "RESTORED_BY_LOADER",
|
||||
"id": "breakpoint_byte"
|
||||
},
|
||||
{
|
||||
"classification": "RESTORED_BY_LOADER",
|
||||
"id": "breakpoint_page_permissions"
|
||||
},
|
||||
{
|
||||
"classification": "RESTORED_BY_LOADER",
|
||||
"id": "payload_credentials"
|
||||
},
|
||||
{
|
||||
"classification": "OS_RECLAIMED_ON_EXIT",
|
||||
"id": "payload_mapping_args_sockets_pipes"
|
||||
},
|
||||
{
|
||||
"classification": "PAYLOAD_PROCESS_LOCAL",
|
||||
"id": "sdk_patch_init"
|
||||
},
|
||||
{
|
||||
"classification": "PAYLOAD_PROCESS_LOCAL",
|
||||
"id": "sdk_rtld_module_loading"
|
||||
},
|
||||
{
|
||||
"classification": "EXPLICIT_PROCESS_EXIT",
|
||||
"id": "sdk_termination_branch"
|
||||
},
|
||||
{
|
||||
"classification": "BOUNDED_WATCHDOG",
|
||||
"id": "payload_runtime_limit"
|
||||
},
|
||||
{
|
||||
"classification": "BOUNDED_WATCHDOG",
|
||||
"id": "child_reaping"
|
||||
},
|
||||
{
|
||||
"classification": "HASH_BOUND_SAME_FD",
|
||||
"id": "payload_manager_launch_hash_binding"
|
||||
},
|
||||
{
|
||||
"classification": "ALLOWED_APPLICATION_WRITE",
|
||||
"id": "payload_manager_upload"
|
||||
}
|
||||
],
|
||||
"execution_authorized": false,
|
||||
"expected_volatile_effects": [
|
||||
"elfldr_first_stage_qaflags_enable"
|
||||
],
|
||||
"execution": {
|
||||
"authorized": false,
|
||||
"executed": false,
|
||||
"execution_eligible": true,
|
||||
"transferred": false
|
||||
},
|
||||
"firmware": {
|
||||
"device_attested": false,
|
||||
"evidence": "jens_explicitly_confirmed_exact_9.60",
|
||||
"exact": "9.60"
|
||||
},
|
||||
"hard_blockers": [],
|
||||
"loader": {
|
||||
"base_commit": "699e8bcff03e91e8d6ca6eba281af25c5a58d8c2",
|
||||
"hardened_commit": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"installed": false,
|
||||
"release": "v0.23-chimera-phase07",
|
||||
"reproducible": true,
|
||||
"sha256": "63e810982471eb40cae3a20aa9df9a0a02892f420e429874fae4e99aa400b561",
|
||||
"size": 397000
|
||||
},
|
||||
"payload_manager": {
|
||||
"base_commit": "cfbc70f30f419b09bf2b52283f7409e2d3117ee1",
|
||||
"hardened_commit": "e23d94ff91233aa770e2342800c1467875bdef44",
|
||||
"installed": false,
|
||||
"release": "v0.3.1-chimera-controlled-phase07",
|
||||
"reproducible": true,
|
||||
"sha256": "8fecf8241a46246eddbd21e8bb4d875f5d76f1f4f4c6a11384df1f131aa5e5b1",
|
||||
"size": 99560
|
||||
},
|
||||
"profile": "controlled-ps5-runtime",
|
||||
"schema_version": 1,
|
||||
"sdk": {
|
||||
"commit": "d2e2e585740362976a39fdd5ccf390f199a7bc37",
|
||||
"release": "v0.41"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"artifact_built": false,
|
||||
"decision": "BLOCKED",
|
||||
"entries": [
|
||||
{
|
||||
"component": "payload_args_t field layout",
|
||||
"evidence": ["include/ps5/payload.h", "crt1.o disassembly offset 0x28"],
|
||||
"status": "SAFE"
|
||||
},
|
||||
{
|
||||
"component": "default crt1.o startup",
|
||||
"evidence": ["crt/crt.c", "crt/Makefile", "crt1.o reachable callgraph"],
|
||||
"status": "UNSAFE"
|
||||
},
|
||||
{
|
||||
"component": "__patch_init",
|
||||
"evidence": ["crt/patch.c", "crt1.o relocation and disassembly"],
|
||||
"status": "UNSAFE"
|
||||
},
|
||||
{
|
||||
"component": "kernel credential capability and attribute writes",
|
||||
"evidence": ["kernel_set_ucred_caps", "kernel_set_ucred_attrs", "kernel_copyin"],
|
||||
"status": "UNSAFE"
|
||||
},
|
||||
{
|
||||
"component": "syscall address-bound writes",
|
||||
"evidence": ["crt/patch.c offsets 0xf0 and 0xf8", "kernel_copyin"],
|
||||
"status": "UNSAFE"
|
||||
},
|
||||
{
|
||||
"component": "ptrace and JIT capability changes",
|
||||
"evidence": ["crt/patch.c caps[15] and attrs[3] mutations"],
|
||||
"status": "UNSAFE"
|
||||
},
|
||||
{
|
||||
"component": "SPRX module loading during SDK rtld initialization",
|
||||
"evidence": ["__rtld_init", "__rtld_sprx_init", "sceKernelLoadStartModule"],
|
||||
"status": "UNSAFE"
|
||||
},
|
||||
{
|
||||
"component": "new network initialization",
|
||||
"evidence": ["kernel_overlap_sockets linked but not startup-reachable", "default libSceNet dependency"],
|
||||
"status": "UNPROVEN"
|
||||
},
|
||||
{
|
||||
"component": "GNM, VideoOut, and SDL calls in Phase-0.5 project source",
|
||||
"evidence": ["no Phase-0.5 candidate source or artifact was created"],
|
||||
"status": "SAFE"
|
||||
},
|
||||
{
|
||||
"component": "-nostartfiles -nodefaultlibs driver suppression",
|
||||
"evidence": ["prospero-clang -### trace"],
|
||||
"status": "SAFE"
|
||||
},
|
||||
{
|
||||
"component": "loader caller stack and return ABI",
|
||||
"evidence": ["exact pinned loader caller source absent"],
|
||||
"status": "UNPROVEN"
|
||||
},
|
||||
{
|
||||
"component": "payloadout ownership, lifetime, and writability",
|
||||
"evidence": ["callee header only"],
|
||||
"status": "UNPROVEN"
|
||||
},
|
||||
{
|
||||
"component": "post-return and crash cleanup",
|
||||
"evidence": ["exact pinned loader caller source absent"],
|
||||
"status": "UNPROVEN"
|
||||
},
|
||||
{
|
||||
"component": "loader changes before entry",
|
||||
"evidence": ["kernel-access fields are supplied but their creation path is absent"],
|
||||
"status": "UNPROVEN"
|
||||
}
|
||||
],
|
||||
"schema_version": 1
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"artifact": {
|
||||
"built": false,
|
||||
"filename": null,
|
||||
"id": "chimera-gfx-minimal-startup-fw-9.60",
|
||||
"sha256": null,
|
||||
"size": null,
|
||||
"target": "ps5-x86_64"
|
||||
},
|
||||
"audit_scope": "offline-only",
|
||||
"decision": "BLOCKED",
|
||||
"execution": {
|
||||
"authorized": false,
|
||||
"executed": false,
|
||||
"execution_eligible": false,
|
||||
"transferred": false
|
||||
},
|
||||
"firmware_gate": {
|
||||
"embedded_identifier": null,
|
||||
"requested_identifier": "9.60"
|
||||
},
|
||||
"reason_codes": [
|
||||
"CALLER_STACK_ABI_UNPROVEN",
|
||||
"CRASH_CLEANUP_UNPROVEN",
|
||||
"EXACT_LOADER_CALLER_SOURCE_ABSENT",
|
||||
"PAYLOADOUT_OWNERSHIP_UNPROVEN",
|
||||
"POST_RETURN_CLEANUP_UNPROVEN",
|
||||
"RETURN_CONTRACT_UNPROVEN"
|
||||
],
|
||||
"schema_version": 1,
|
||||
"verification": {
|
||||
"disassembly": "NOT_PERFORMED_BLOCKED_BEFORE_BUILD",
|
||||
"double_clean_build": "NOT_PERFORMED_BLOCKED_BEFORE_BUILD",
|
||||
"dt_needed": "NOT_PERFORMED_BLOCKED_BEFORE_BUILD",
|
||||
"init_fini_arrays": "NOT_PERFORMED_BLOCKED_BEFORE_BUILD",
|
||||
"linker_map": "NOT_PERFORMED_BLOCKED_BEFORE_BUILD",
|
||||
"relocations": "NOT_PERFORMED_BLOCKED_BEFORE_BUILD",
|
||||
"tls": "NOT_PERFORMED_BLOCKED_BEFORE_BUILD",
|
||||
"undefined_symbols": "NOT_PERFORMED_BLOCKED_BEFORE_BUILD"
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,541 @@
|
||||
{
|
||||
"artifact": {
|
||||
"built": false,
|
||||
"execution_eligible": false,
|
||||
"filename": null,
|
||||
"sha256": null,
|
||||
"size": null
|
||||
},
|
||||
"binary_evidence": {
|
||||
"disassembly_sha256": "a4af871eb9bf7df57e3f323972616f48dbffaadfea7afb3976404304cc80ca31",
|
||||
"dt_needed": [
|
||||
"libSceLibcInternal.sprx",
|
||||
"libSceNet.sprx",
|
||||
"libkernel_web.sprx"
|
||||
],
|
||||
"entry_point": "0x4700",
|
||||
"init_fini_array_sizes": {
|
||||
"fini_array": 0,
|
||||
"init_array": 0,
|
||||
"preinit_array": 0
|
||||
},
|
||||
"load_segments": [
|
||||
{
|
||||
"file_size": 51455,
|
||||
"memory_size": 51455,
|
||||
"permissions": "RWE"
|
||||
},
|
||||
{
|
||||
"file_size": 33104,
|
||||
"memory_size": 33104,
|
||||
"permissions": "RW"
|
||||
},
|
||||
{
|
||||
"file_size": 264688,
|
||||
"memory_size": 267000,
|
||||
"permissions": "RW"
|
||||
}
|
||||
],
|
||||
"readelf_report_sha256": "e0526deb23e40a3a8ad6f613dfbc3d5764ceb1cb770ce9e6fa1010c4e83ba9f9",
|
||||
"relocations": {
|
||||
"relative": 140,
|
||||
"total": 164
|
||||
},
|
||||
"tls_present": false,
|
||||
"undefined_dynamic_symbols": [
|
||||
"__error",
|
||||
"close",
|
||||
"execve",
|
||||
"free",
|
||||
"getpid",
|
||||
"kevent",
|
||||
"kill",
|
||||
"kqueue",
|
||||
"malloc",
|
||||
"memcpy",
|
||||
"memset",
|
||||
"open",
|
||||
"printf",
|
||||
"puts",
|
||||
"realloc",
|
||||
"recv",
|
||||
"rfork_thread",
|
||||
"sceKernelSendNotificationRequest",
|
||||
"strcmp",
|
||||
"strerror",
|
||||
"strlen",
|
||||
"sysctl",
|
||||
"vsnprintf",
|
||||
"waitpid"
|
||||
]
|
||||
},
|
||||
"callgraph": {
|
||||
"edges": [
|
||||
[
|
||||
"Payload Manager /loadpayload:<path>",
|
||||
"ps5_launch_elf"
|
||||
],
|
||||
[
|
||||
"ps5_launch_elf",
|
||||
"connect 127.0.0.1:9021"
|
||||
],
|
||||
[
|
||||
"ps5_launch_elf",
|
||||
"send ELF bytes"
|
||||
],
|
||||
[
|
||||
"serve_elfldr",
|
||||
"elfldr_spawn"
|
||||
],
|
||||
[
|
||||
"elfldr_spawn",
|
||||
"rfork_thread"
|
||||
],
|
||||
[
|
||||
"rfork_thread child",
|
||||
"elfldr_rfork_entry"
|
||||
],
|
||||
[
|
||||
"elfldr_rfork_entry",
|
||||
"ptrace PT_TRACE_ME"
|
||||
],
|
||||
[
|
||||
"elfldr_rfork_entry",
|
||||
"execve SceSpZeroConf"
|
||||
],
|
||||
[
|
||||
"elfldr_spawn parent",
|
||||
"pt_syscall 599"
|
||||
],
|
||||
[
|
||||
"elfldr_spawn parent",
|
||||
"install then restore INT3 byte"
|
||||
],
|
||||
[
|
||||
"elfldr_spawn parent",
|
||||
"elfldr_exec"
|
||||
],
|
||||
[
|
||||
"elfldr_exec",
|
||||
"elfldr_raise_privileges"
|
||||
],
|
||||
[
|
||||
"elfldr_exec",
|
||||
"elfldr_prepare_exec"
|
||||
],
|
||||
[
|
||||
"elfldr_prepare_exec",
|
||||
"elfldr_load"
|
||||
],
|
||||
[
|
||||
"elfldr_prepare_exec",
|
||||
"elfldr_payload_args"
|
||||
],
|
||||
[
|
||||
"elfldr_prepare_exec",
|
||||
"push observed RIP at RSP-8"
|
||||
],
|
||||
[
|
||||
"elfldr_prepare_exec",
|
||||
"set RIP=payload entry"
|
||||
],
|
||||
[
|
||||
"elfldr_prepare_exec",
|
||||
"set RDI=payload_args"
|
||||
],
|
||||
[
|
||||
"elfldr_exec",
|
||||
"restore subset of credentials"
|
||||
],
|
||||
[
|
||||
"elfldr_exec",
|
||||
"ptrace PT_DETACH"
|
||||
],
|
||||
[
|
||||
"payload _start",
|
||||
"SDK __patch_init"
|
||||
],
|
||||
[
|
||||
"payload _start",
|
||||
"payload main"
|
||||
],
|
||||
[
|
||||
"payload _start",
|
||||
"payload_terminate"
|
||||
],
|
||||
[
|
||||
"payload_terminate",
|
||||
"return or exit or trap"
|
||||
]
|
||||
],
|
||||
"entry": "Payload Manager /loadpayload:<path>",
|
||||
"extraction": "reviewed source edges with required-token assertions"
|
||||
},
|
||||
"decision": "BLOCKED_VERSION_OR_UNBOUNDED_EFFECT",
|
||||
"effects": [
|
||||
{
|
||||
"blocker": false,
|
||||
"classification": "EXPECTED_VOLATILE_RUNTIME_EFFECT",
|
||||
"evidence": [
|
||||
"elfldr/main.c:48-59"
|
||||
],
|
||||
"id": "elfldr_first_stage_qaflags_enable",
|
||||
"scope": "existing_loader_bootstrap"
|
||||
},
|
||||
{
|
||||
"blocker": true,
|
||||
"classification": "UNBOUNDED_OR_UNKNOWN",
|
||||
"evidence": [
|
||||
"elfldr/main.c:61-105 restores jail/root/caps/authid",
|
||||
"UID is changed by elfldr_raise_privileges but is not backed up or restored"
|
||||
],
|
||||
"id": "elfldr_first_stage_privilege_restore",
|
||||
"scope": "existing_exploit_host_process"
|
||||
},
|
||||
{
|
||||
"blocker": false,
|
||||
"classification": "PAYLOAD_PROCESS_LOCAL",
|
||||
"evidence": [
|
||||
"elfldr/elfldr.c:570-710"
|
||||
],
|
||||
"id": "payload_process_creation",
|
||||
"scope": "new_SceSpZeroConf_child"
|
||||
},
|
||||
{
|
||||
"blocker": false,
|
||||
"classification": "RESTORED_BY_LOADER",
|
||||
"evidence": [
|
||||
"elfldr/pt.c:35-54"
|
||||
],
|
||||
"id": "ptrace_authid_restore_success_path",
|
||||
"scope": "elfldr_service_process"
|
||||
},
|
||||
{
|
||||
"blocker": true,
|
||||
"classification": "UNBOUNDED_OR_UNKNOWN",
|
||||
"evidence": [
|
||||
"elfldr/pt.c:50-51 returns after failed restoration",
|
||||
"no second restoration or process shutdown is present"
|
||||
],
|
||||
"id": "ptrace_authid_restore_failure_path",
|
||||
"scope": "elfldr_service_process"
|
||||
},
|
||||
{
|
||||
"blocker": true,
|
||||
"classification": "UNBOUNDED_OR_UNKNOWN",
|
||||
"evidence": [
|
||||
"elfldr/pt.c:238-246",
|
||||
"elfldr/pt.c:291-299"
|
||||
],
|
||||
"id": "ptrace_single_step_completion",
|
||||
"scope": "loader_control_path"
|
||||
},
|
||||
{
|
||||
"blocker": false,
|
||||
"classification": "RESTORED_BY_LOADER",
|
||||
"evidence": [
|
||||
"elfldr/elfldr.c:675-700"
|
||||
],
|
||||
"id": "breakpoint_byte",
|
||||
"scope": "payload_child"
|
||||
},
|
||||
{
|
||||
"blocker": false,
|
||||
"classification": "PAYLOAD_PROCESS_LOCAL",
|
||||
"evidence": [
|
||||
"elfldr/elfldr.c:669 changes page to RWX",
|
||||
"no source edge restores the original protection"
|
||||
],
|
||||
"id": "breakpoint_page_permissions",
|
||||
"scope": "payload_child"
|
||||
},
|
||||
{
|
||||
"blocker": true,
|
||||
"classification": "UNBOUNDED_OR_UNKNOWN",
|
||||
"evidence": [
|
||||
"elfldr/elfldr.c:447-513 restores jail/root/caps/authid",
|
||||
"UID is set to zero and is not restored"
|
||||
],
|
||||
"id": "payload_credentials",
|
||||
"scope": "payload_child"
|
||||
},
|
||||
{
|
||||
"blocker": true,
|
||||
"classification": "UNBOUNDED_OR_UNKNOWN",
|
||||
"evidence": [
|
||||
"elfldr/elfldr.c:143-343",
|
||||
"successful detach has no explicit unmap/close cleanup",
|
||||
"cleanup depends on an unproven child termination path"
|
||||
],
|
||||
"id": "payload_mapping_args_sockets_pipes",
|
||||
"scope": "payload_child"
|
||||
},
|
||||
{
|
||||
"blocker": false,
|
||||
"classification": "PAYLOAD_PROCESS_LOCAL",
|
||||
"evidence": [
|
||||
"sdk/crt/crt.c",
|
||||
"sdk/crt/patch.c"
|
||||
],
|
||||
"id": "sdk_patch_init",
|
||||
"scope": "payload_child"
|
||||
},
|
||||
{
|
||||
"blocker": true,
|
||||
"classification": "UNBOUNDED_OR_UNKNOWN",
|
||||
"evidence": [
|
||||
"sdk/crt/crt.c payload_terminate may return, call exit, or trap",
|
||||
"the exact branch for the injected SceSpZeroConf child is not proven"
|
||||
],
|
||||
"id": "sdk_termination_branch",
|
||||
"scope": "payload_child"
|
||||
},
|
||||
{
|
||||
"blocker": true,
|
||||
"classification": "UNBOUNDED_OR_UNKNOWN",
|
||||
"evidence": [
|
||||
"elfldr/elfldr.c:703-710 detaches and returns the PID",
|
||||
"no 2000 ms watchdog, wait, kill, or retry budget is present"
|
||||
],
|
||||
"id": "payload_runtime_limit",
|
||||
"scope": "detached_payload_child"
|
||||
},
|
||||
{
|
||||
"blocker": true,
|
||||
"classification": "UNBOUNDED_OR_UNKNOWN",
|
||||
"evidence": [
|
||||
"elfldr/socksrv.c:400 ignores SIGCHLD",
|
||||
"post-detach exit/resource cleanup semantics are not documented"
|
||||
],
|
||||
"id": "child_reaping",
|
||||
"scope": "elfldr_service_process"
|
||||
},
|
||||
{
|
||||
"blocker": true,
|
||||
"classification": "UNBOUNDED_OR_UNKNOWN",
|
||||
"evidence": [
|
||||
"pldmgr/http_server.c resolves a path then calls ps5_launch_elf",
|
||||
"pldmgr/ps5_launcher.c streams bytes without calculating or checking SHA-256"
|
||||
],
|
||||
"id": "payload_manager_launch_hash_binding",
|
||||
"scope": "payload_manager_to_elfldr"
|
||||
},
|
||||
{
|
||||
"blocker": true,
|
||||
"classification": "PERSISTENT_WRITE",
|
||||
"evidence": [
|
||||
"pldmgr/http_server.c writes /data/pldmgr/payloads/<name>.tmp",
|
||||
"the upload is committed into payload storage"
|
||||
],
|
||||
"id": "payload_manager_upload",
|
||||
"scope": "payload_manager_storage"
|
||||
}
|
||||
],
|
||||
"firmware": {
|
||||
"device_attested": false,
|
||||
"evidence": "user_provided_only",
|
||||
"exact": "9.60"
|
||||
},
|
||||
"hard_blockers": [
|
||||
"child_reaping",
|
||||
"elfldr_first_stage_privilege_restore",
|
||||
"exact_exploit_and_autoloader_identity_unproven",
|
||||
"firmware_9_60_not_independently_device_attested",
|
||||
"payload_credentials",
|
||||
"payload_manager_launch_hash_binding",
|
||||
"payload_manager_upload",
|
||||
"payload_mapping_args_sockets_pipes",
|
||||
"payload_runtime_limit",
|
||||
"ptrace_authid_restore_failure_path",
|
||||
"ptrace_single_step_completion",
|
||||
"return_continuation_after_payload_start_unproven",
|
||||
"sdk_termination_branch"
|
||||
],
|
||||
"identity": {
|
||||
"elfldr": {
|
||||
"commit": "699e8bcff03e91e8d6ca6eba281af25c5a58d8c2",
|
||||
"dirty": false,
|
||||
"installed_asset_hash_match": true,
|
||||
"observed_inventory_path": "/data/pldmgr/payloads/elfldr/elfldr_v0.23.elf",
|
||||
"observed_inventory_sha256": "092d16ee0ede0c494947efd38d1a17bbd7cc4b022d3858ea898833c188c703e8",
|
||||
"observed_inventory_version": "v0.23",
|
||||
"release": "v0.23",
|
||||
"release_asset_sha256": "092d16ee0ede0c494947efd38d1a17bbd7cc4b022d3858ea898833c188c703e8",
|
||||
"release_asset_size": 397000,
|
||||
"repository": "https://github.com/ps5-payload-dev/elfldr.git"
|
||||
},
|
||||
"exact_exploit_autoloader": {
|
||||
"identified": false,
|
||||
"local_candidate": {
|
||||
"filename": "Y2JB-Autoloader-403-1240.zip",
|
||||
"sha256": "805e3f87f0c371223619ffc7d3a7b3c0d41a1fae8a8b1171d9e2f162659e8291",
|
||||
"size": 504159435,
|
||||
"status": "local_backup_candidate_not_installed_identity_proof"
|
||||
},
|
||||
"status": "UNPROVEN"
|
||||
},
|
||||
"payload_manager": {
|
||||
"commit": "cfbc70f30f419b09bf2b52283f7409e2d3117ee1",
|
||||
"dirty": false,
|
||||
"installed_asset_hash_match": true,
|
||||
"observed_inventory_path": "/data/pldmgr/payloads/pldmgr/pldmgr_v0.3.1.elf",
|
||||
"observed_inventory_sha256": "518740adbacccb9094fadb07dd424c53ee290f38306449ccc9d6957fdf813c0b",
|
||||
"observed_inventory_version": "v0.3.1",
|
||||
"observed_version_endpoint": "0.3.1",
|
||||
"release": "v0.3.1",
|
||||
"release_asset_sha256": "518740adbacccb9094fadb07dd424c53ee290f38306449ccc9d6957fdf813c0b",
|
||||
"repository": "https://github.com/itsPLK/ps5-payload-manager.git"
|
||||
},
|
||||
"sdk": {
|
||||
"commit": "d2e2e585740362976a39fdd5ccf390f199a7bc37",
|
||||
"dirty": false,
|
||||
"release": "v0.41",
|
||||
"repository": "https://github.com/ps5-payload-dev/sdk.git"
|
||||
}
|
||||
},
|
||||
"no_console_actions": {
|
||||
"elf_executed": false,
|
||||
"elf_transferred": false,
|
||||
"gnm": false,
|
||||
"raw_port_9021_contacted": false,
|
||||
"rendering": false,
|
||||
"videoout": false
|
||||
},
|
||||
"observation_scope": {
|
||||
"date": "2026-07-17",
|
||||
"payload_manager_routes": [
|
||||
"/autoload_status",
|
||||
"/get_config",
|
||||
"/list_payloads",
|
||||
"/log",
|
||||
"/sources_list",
|
||||
"/version"
|
||||
],
|
||||
"payload_manager_routes_read_only": true,
|
||||
"strict_status_port_744_result": "ECONNREFUSED"
|
||||
},
|
||||
"phase": "0.6",
|
||||
"schema_version": 1,
|
||||
"source_evidence": {
|
||||
"elfldr": [
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/elfldr-v0.23/main.c",
|
||||
"sha256": "51176f0c864af2eb269dff37a7148ec31f72cfa593e7edf85df04685d9639fef",
|
||||
"size": 2792
|
||||
},
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/elfldr-v0.23/elfldr.c",
|
||||
"sha256": "2c6ec9f00b346e23bc9fff6b1077072dce7309b59536f420e8578aac9a95fc03",
|
||||
"size": 18071
|
||||
},
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/elfldr-v0.23/elfldr.h",
|
||||
"sha256": "48c6840304bf914003d1c9f54efbde7b6ee6317692ddce47443d0c0abf73fe08",
|
||||
"size": 1260
|
||||
},
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/elfldr-v0.23/pt.c",
|
||||
"sha256": "8c87c76850587e671b8ad49f1f0e98489a7b1f4bf789da84bcfbb21918d6b046",
|
||||
"size": 7489
|
||||
},
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/elfldr-v0.23/pt.h",
|
||||
"sha256": "09a51aef9723f5314b29175875410e55274fa5b4e6708ef7d76599712ae387e4",
|
||||
"size": 2391
|
||||
},
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/elfldr-v0.23/socksrv.c",
|
||||
"sha256": "6cc6887969754befa7424da981ea2cc778940c0d45e7bcc7abd99ec1ec39522e",
|
||||
"size": 8385
|
||||
},
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/elfldr-v0.23/Makefile",
|
||||
"sha256": "468ac60791fb09885face7d383d0cf43b0fd7afde1c20fb0984d0bb4999fc6fc",
|
||||
"size": 1592
|
||||
}
|
||||
],
|
||||
"payload_manager": [
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/pldmgr-v0.3.1/src/ps5_launcher.c",
|
||||
"sha256": "082836bfd7a9726f62ea0dad8b7be99a31ab30130bf4f1165bf4bf52acd8673c",
|
||||
"size": 4794
|
||||
},
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/pldmgr-v0.3.1/src/http_server.c",
|
||||
"sha256": "362175cb576bcd1e07209987c42fee2cfe515bdd31d1c8588d531570c2ca5a0c",
|
||||
"size": 46713
|
||||
},
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/pldmgr-v0.3.1/src/autoload.c",
|
||||
"sha256": "117545fcc3b45e71c97cca2675d772c72fea25523f0ffb66e8b4cf989da32d85",
|
||||
"size": 9197
|
||||
},
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/pldmgr-v0.3.1/src/main.c",
|
||||
"sha256": "cd1af1f58f6275828c8a392371ef84a1e9e999a5e76345d0fe8bf3f92f7be51a",
|
||||
"size": 7030
|
||||
},
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/pldmgr-v0.3.1/src/payload_mgr.c",
|
||||
"sha256": "65303c3696626fa20eb2d0e7f4da4c51a43d5bc4bc82904f416e7c3b74cf8fb7",
|
||||
"size": 18326
|
||||
},
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/pldmgr-v0.3.1/include/pldmgr.h",
|
||||
"sha256": "b1881b943e38a1b8ecdc53e254b0187a011335e5117a36d0ab00e889cb8cb6f5",
|
||||
"size": 2450
|
||||
},
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/pldmgr-v0.3.1/Makefile",
|
||||
"sha256": "6d02de74a46c104da3cd373d51911ebea1137190fe61bc6529403cbac5108004",
|
||||
"size": 3675
|
||||
}
|
||||
],
|
||||
"sdk": [
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/sdk/crt/crt.c",
|
||||
"sha256": "2695ae6cf23f867849590977e47edfd7743caa8f34255e6de9aa9eae9a4e4ea6",
|
||||
"size": 4462
|
||||
},
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/sdk/crt/patch.c",
|
||||
"sha256": "a9cf1814874f3c2c4b337a23270a80ff159b2e6247f9781018bbe1def1845deb",
|
||||
"size": 2184
|
||||
},
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/sdk/crt/kernel.c",
|
||||
"sha256": "10d2868647b684d7a7f20e029b6a8e792725fa484196a6e00e21c4507469fd12",
|
||||
"size": 37992
|
||||
},
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/sdk/include/ps5/payload.h",
|
||||
"sha256": "752279ee971eee0dc1eda7286a0008caaf7cd34a99c7501d054d40866c0b8fdf",
|
||||
"size": 1304
|
||||
},
|
||||
{
|
||||
"normalization": "lf",
|
||||
"path": "work/upstream/sdk/crt/Makefile",
|
||||
"sha256": "4b4d8856ee05b751888bdc70e7ff146692ced7755644c140ff4a02a3cd154512",
|
||||
"size": 1596
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"artifacts": {
|
||||
"lifecycle": {
|
||||
"sha256": "bfb4a5cc768e162fe4c2fddf41c3978e152722918a39085277fd172cb95a7182",
|
||||
"size": 112680,
|
||||
"source_commit": "fe08300339a13f899fb78ea404ada381a5cba87c"
|
||||
},
|
||||
"loader": {
|
||||
"sha256": "63e810982471eb40cae3a20aa9df9a0a02892f420e429874fae4e99aa400b561",
|
||||
"size": 397000,
|
||||
"source_commit": "197623058f509eddde18868dafcb92fdcac66464"
|
||||
},
|
||||
"payload_manager": {
|
||||
"sha256": "8fecf8241a46246eddbd21e8bb4d875f5d76f1f4f4c6a11384df1f131aa5e5b1",
|
||||
"size": 99560,
|
||||
"source_commit": "e23d94ff91233aa770e2342800c1467875bdef44"
|
||||
}
|
||||
},
|
||||
"decision": "READY_FOR_HARDENED_RUNTIME_DEPLOYMENT",
|
||||
"firmware": "9.60",
|
||||
"kernelwrite_free_claim": false,
|
||||
"no_ps5_actions": {
|
||||
"connected": false,
|
||||
"executed": false,
|
||||
"installed": false,
|
||||
"transferred": false
|
||||
},
|
||||
"reviews": [
|
||||
{
|
||||
"basis": [
|
||||
"historical loader contract audit"
|
||||
],
|
||||
"classification": "HISTORICAL_BLOCKED_TARGET",
|
||||
"component": "freestanding_startup",
|
||||
"status": "UNPROVEN"
|
||||
},
|
||||
{
|
||||
"basis": [
|
||||
"SDK source",
|
||||
"lifecycle linker map",
|
||||
"lifecycle disassembly",
|
||||
"reachable callgraph"
|
||||
],
|
||||
"classification": "PAYLOAD_PROCESS_LOCAL",
|
||||
"component": "sdk_patch_init",
|
||||
"status": "UNSAFE"
|
||||
},
|
||||
{
|
||||
"basis": [
|
||||
"SDK source",
|
||||
"lifecycle linker map",
|
||||
"static sensitive-symbol inventory",
|
||||
"external child watchdog"
|
||||
],
|
||||
"classification": "PAYLOAD_PROCESS_LOCAL",
|
||||
"component": "sdk_rtld_module_loading",
|
||||
"status": "UNPROVEN"
|
||||
},
|
||||
{
|
||||
"basis": [
|
||||
"loader source",
|
||||
"deadline and step-budget tests",
|
||||
"loader disassembly"
|
||||
],
|
||||
"classification": "BOUNDED_WATCHDOG",
|
||||
"component": "ptrace_step_completion",
|
||||
"status": "SAFE"
|
||||
},
|
||||
{
|
||||
"basis": [
|
||||
"loader source",
|
||||
"credential restore failure-injection tests",
|
||||
"loader callgraph"
|
||||
],
|
||||
"classification": "RESTORED_BY_LOADER",
|
||||
"component": "five_field_credential_restore",
|
||||
"status": "SAFE"
|
||||
},
|
||||
{
|
||||
"basis": [
|
||||
"loader source",
|
||||
"cleanup state tests",
|
||||
"loader callgraph"
|
||||
],
|
||||
"classification": "FAIL_CLOSED_TERMINATION",
|
||||
"component": "credential_restore_failure",
|
||||
"status": "SAFE"
|
||||
},
|
||||
{
|
||||
"basis": [
|
||||
"loader source",
|
||||
"loader disassembly"
|
||||
],
|
||||
"classification": "RESTORED_BY_LOADER",
|
||||
"component": "breakpoint_byte_and_page",
|
||||
"status": "SAFE"
|
||||
},
|
||||
{
|
||||
"basis": [
|
||||
"loader source",
|
||||
"watchdog tests",
|
||||
"loader callgraph"
|
||||
],
|
||||
"classification": "BOUNDED_WATCHDOG",
|
||||
"component": "payload_child_lifetime_and_reap",
|
||||
"status": "SAFE"
|
||||
},
|
||||
{
|
||||
"basis": [
|
||||
"manager source",
|
||||
"symlink truncation mismatch TOCTOU and fuzz tests",
|
||||
"manager disassembly"
|
||||
],
|
||||
"classification": "HASH_BOUND_SAME_FD",
|
||||
"component": "manager_hash_to_stream",
|
||||
"status": "SAFE"
|
||||
},
|
||||
{
|
||||
"basis": [
|
||||
"loader source",
|
||||
"denylist and digest negative tests",
|
||||
"loader disassembly"
|
||||
],
|
||||
"classification": "FAIL_CLOSED_TERMINATION",
|
||||
"component": "receiver_hash_and_denylist",
|
||||
"status": "SAFE"
|
||||
},
|
||||
{
|
||||
"basis": [
|
||||
"manager source",
|
||||
"upload negative tests",
|
||||
"manager callgraph"
|
||||
],
|
||||
"classification": "ALLOWED_APPLICATION_WRITE",
|
||||
"component": "controlled_artifact_directory_upload",
|
||||
"status": "SAFE"
|
||||
},
|
||||
{
|
||||
"basis": [
|
||||
"source scan",
|
||||
"imports",
|
||||
"DT_NEEDED",
|
||||
"linker maps",
|
||||
"disassembly"
|
||||
],
|
||||
"classification": "PROHIBITED_OPERATION_ABSENT",
|
||||
"component": "gnm_videoout_sdl_mmio_firmware_mutation",
|
||||
"status": "SAFE"
|
||||
},
|
||||
{
|
||||
"basis": [
|
||||
"no console action occurred"
|
||||
],
|
||||
"classification": "NO_RUNTIME_EVIDENCE",
|
||||
"component": "firmware_9_60_runtime_behavior",
|
||||
"status": "UNPROVEN"
|
||||
},
|
||||
{
|
||||
"basis": [
|
||||
"artifact manifests",
|
||||
"controlled runtime profile",
|
||||
"offline audit"
|
||||
],
|
||||
"classification": "UNAUTHORIZED_ACTION",
|
||||
"component": "installation_transfer_execution",
|
||||
"status": "UNPROVEN"
|
||||
}
|
||||
],
|
||||
"schema_version": 1,
|
||||
"sdk": {
|
||||
"commit": "d2e2e585740362976a39fdd5ccf390f199a7bc37",
|
||||
"release": "v0.41"
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,232 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"phase": "0.8",
|
||||
"preflight_id": "phase08-offline-admissibility-2026-07-18",
|
||||
"scope": "offline_admissibility_audit_only",
|
||||
"date": "2026-07-18",
|
||||
"timezone": "Europe/Brussels",
|
||||
"operator": "Codex",
|
||||
"decision": "READ_ONLY_PREFLIGHT_BLOCKED",
|
||||
"dataset_complete": false,
|
||||
"open_stop_ro": true,
|
||||
"open_stop_gate": true,
|
||||
"on_device_session_started": false,
|
||||
"authorization": {
|
||||
"explicit_read_only_preflight_permission_recorded": false,
|
||||
"permission_reference": null,
|
||||
"permission_exact_text": null,
|
||||
"connection_authorized": false,
|
||||
"installation_authorized": false,
|
||||
"lifecycle_authorized": false,
|
||||
"execution_authorized": false,
|
||||
"automatic_retry": false
|
||||
},
|
||||
"ps5_actions": {
|
||||
"connected": false,
|
||||
"file_created": false,
|
||||
"file_modified": false,
|
||||
"file_deleted_or_renamed": false,
|
||||
"configuration_changed": false,
|
||||
"service_started_stopped_or_restarted": false,
|
||||
"process_signaled": false,
|
||||
"artifact_transferred": false,
|
||||
"artifact_executed": false,
|
||||
"autoload_activated": false,
|
||||
"automatic_retry_performed": false
|
||||
},
|
||||
"collector_assessment": {
|
||||
"selected_collector": null,
|
||||
"can_prove_no_atime_audit_cache_or_metadata_change": false,
|
||||
"writes_output_or_logs_on_ps5": "unknown_no_collector_selected",
|
||||
"candidates": [
|
||||
{
|
||||
"id": "payload_manager_v0_3_1_http",
|
||||
"version": "0.3.1",
|
||||
"origin": "itsPLK/ps5-payload-manager",
|
||||
"source_commit": "cfbc70f30f419b09bf2b52283f7409e2d3117ee1",
|
||||
"usable": false,
|
||||
"result": "STOP-RO",
|
||||
"reasons": [
|
||||
"Every handled non-OPTIONS request calls log_server_set_active(), which writes server_active_flag in process memory.",
|
||||
"The /autoload_status route calls pldmgr_autoload_get_status(), which writes autoload_triggered = 1 before returning status.",
|
||||
"The /autoload_status and /get_config routes open /data/pldmgr/autoload.txt for reading; no no-atime mount or open guarantee is proven.",
|
||||
"Non-noisy routes call pldmgr_log(), which writes stdout and the in-process log ring."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "unspecified_filesystem_collector",
|
||||
"version": null,
|
||||
"origin": null,
|
||||
"source_commit": null,
|
||||
"usable": false,
|
||||
"result": "STOP-RO",
|
||||
"reasons": [
|
||||
"No exact collector, version, transport, operation set, or source was supplied.",
|
||||
"No proof excludes atime, audit-log, cache, filesystem-metadata, process-state, or on-device log changes."
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"firmware": {
|
||||
"expected_exact": "9.60",
|
||||
"source_1": {
|
||||
"kind": "user_attestation",
|
||||
"value": "9.60",
|
||||
"current_device_read": false
|
||||
},
|
||||
"source_2": null,
|
||||
"two_current_sources_agree": "UNPROVEN",
|
||||
"result": "STOP-GATE"
|
||||
},
|
||||
"current_live_state": {
|
||||
"stock_elfldr": {
|
||||
"expected_size": 397000,
|
||||
"expected_sha256": "092d16ee0ede0c494947efd38d1a17bbd7cc4b022d3858ea898833c188c703e8",
|
||||
"path": null,
|
||||
"object_identity": null,
|
||||
"metadata": null,
|
||||
"pre_post_stable": "UNPROVEN",
|
||||
"current_hash_match": "UNPROVEN",
|
||||
"result": "STOP-GATE"
|
||||
},
|
||||
"stock_payload_manager": {
|
||||
"expected_size": 2050320,
|
||||
"expected_sha256": "518740adbacccb9094fadb07dd424c53ee290f38306449ccc9d6957fdf813c0b",
|
||||
"path": null,
|
||||
"object_identity": null,
|
||||
"metadata": null,
|
||||
"pre_post_stable": "UNPROVEN",
|
||||
"current_hash_match": "UNPROVEN",
|
||||
"result": "STOP-GATE"
|
||||
},
|
||||
"processes_and_services": {
|
||||
"complete": false,
|
||||
"unknown_or_unmapped_relevant_processes": "UNPROVEN",
|
||||
"result": "STOP-GATE"
|
||||
},
|
||||
"listeners": {
|
||||
"required_ports": [
|
||||
8084,
|
||||
8085,
|
||||
9021
|
||||
],
|
||||
"complete": false,
|
||||
"unambiguous_owners": "UNPROVEN",
|
||||
"no_conflict_or_unexpected_exposure": "UNPROVEN",
|
||||
"result": "STOP-GATE"
|
||||
},
|
||||
"autoload_startup_retry": {
|
||||
"authoritative_sources_complete": false,
|
||||
"lifecycle_probe_absent_from_autoload": "UNPROVEN",
|
||||
"hardened_runtime_absent_from_autoload": "UNPROVEN",
|
||||
"automatic_retry_inactive": "UNPROVEN",
|
||||
"result": "STOP-GATE"
|
||||
}
|
||||
},
|
||||
"rollback_preconditions": {
|
||||
"separate_destination": {
|
||||
"minimum_content_bytes": 2447320,
|
||||
"path": null,
|
||||
"separate_device": "UNPROVEN",
|
||||
"available_bytes": null,
|
||||
"filesystem_reserve_assessed": false,
|
||||
"result": "STOP-GATE"
|
||||
},
|
||||
"stock_elfldr_backup": {
|
||||
"already_present": "UNPROVEN",
|
||||
"path": null,
|
||||
"expected_size": 397000,
|
||||
"expected_sha256": "092d16ee0ede0c494947efd38d1a17bbd7cc4b022d3858ea898833c188c703e8",
|
||||
"exact_separate_object": "UNPROVEN",
|
||||
"restore_mapping_unambiguous": "UNPROVEN",
|
||||
"result": "STOP-GATE"
|
||||
},
|
||||
"stock_payload_manager_backup": {
|
||||
"already_present": "UNPROVEN",
|
||||
"path": null,
|
||||
"expected_size": 2050320,
|
||||
"expected_sha256": "518740adbacccb9094fadb07dd424c53ee290f38306449ccc9d6957fdf813c0b",
|
||||
"exact_separate_object": "UNPROVEN",
|
||||
"restore_mapping_unambiguous": "UNPROVEN",
|
||||
"result": "HARD_STOP-GATE"
|
||||
}
|
||||
},
|
||||
"blockers": [
|
||||
{
|
||||
"id": "explicit_permission_record_absent",
|
||||
"severity": "STOP-RO",
|
||||
"minimum_missing_evidence": "Artifact-independent exact permission text and a stable task reference authorizing only this read-only preflight."
|
||||
},
|
||||
{
|
||||
"id": "collector_side_effect_freedom_unproven",
|
||||
"severity": "STOP-RO",
|
||||
"minimum_missing_evidence": "A pinned public collector and transport whose complete source and environment prove no file, metadata, audit-log, cache, process-state, network-service-state, or on-device log mutation."
|
||||
},
|
||||
{
|
||||
"id": "payload_manager_http_mutates_runtime_state",
|
||||
"severity": "STOP-RO",
|
||||
"minimum_missing_evidence": "A different collector path; the reviewed stock Payload Manager HTTP path cannot satisfy this Phase-0.8 contract."
|
||||
},
|
||||
{
|
||||
"id": "two_source_firmware_attestation_absent",
|
||||
"severity": "STOP-GATE",
|
||||
"minimum_missing_evidence": "Two authoritative current read-only firmware observations that agree exactly on 9.60."
|
||||
},
|
||||
{
|
||||
"id": "current_live_identity_and_topology_absent",
|
||||
"severity": "STOP-GATE",
|
||||
"minimum_missing_evidence": "Stable pre/post paths, object IDs, metadata, sizes, hashes, processes, services, and listener ownership from an admissible collector."
|
||||
},
|
||||
{
|
||||
"id": "autoload_startup_retry_state_absent",
|
||||
"severity": "STOP-GATE",
|
||||
"minimum_missing_evidence": "All authoritative current autoload, startup, and retry sources collected without side effects."
|
||||
},
|
||||
{
|
||||
"id": "stock_elfldr_backup_unproven",
|
||||
"severity": "STOP-GATE",
|
||||
"minimum_missing_evidence": "An already-present, separate, byte-exact stock elfldr backup and unambiguous restore mapping."
|
||||
},
|
||||
{
|
||||
"id": "stock_payload_manager_backup_unproven",
|
||||
"severity": "HARD_STOP-GATE",
|
||||
"minimum_missing_evidence": "An already-present, separate, byte-exact stock Payload Manager backup and unambiguous restore mapping."
|
||||
}
|
||||
],
|
||||
"source_evidence": [
|
||||
{
|
||||
"component": "Payload Manager HTTP dispatch",
|
||||
"path": "src/http_server.c",
|
||||
"sha256": "35cf5d8f0dd44cf64ceab5e4b0ecc09413c82d7e9946ba9de2ca4b1898631fdd",
|
||||
"source_commit": "cfbc70f30f419b09bf2b52283f7409e2d3117ee1",
|
||||
"relevant_lines": [
|
||||
"131-152",
|
||||
"479-481",
|
||||
"835-930"
|
||||
]
|
||||
},
|
||||
{
|
||||
"component": "Payload Manager autoload state",
|
||||
"path": "src/autoload.c",
|
||||
"sha256": "7051cab3ee1a3e0b9f6498000565eb9e160b9c63efa1771f250e98ec3aa4ae67",
|
||||
"source_commit": "cfbc70f30f419b09bf2b52283f7409e2d3117ee1",
|
||||
"relevant_lines": [
|
||||
"33-49",
|
||||
"51-93"
|
||||
]
|
||||
},
|
||||
{
|
||||
"component": "Payload Manager log state",
|
||||
"path": "src/log_server.c",
|
||||
"sha256": "659095f43df1bbe8eb24acb165f027edc277af1e60aabb26ba9e3920b233d6f1",
|
||||
"source_commit": "cfbc70f30f419b09bf2b52283f7409e2d3117ee1",
|
||||
"relevant_lines": [
|
||||
"12-55"
|
||||
]
|
||||
}
|
||||
],
|
||||
"historical_evidence_is_not_current_preflight_evidence": true,
|
||||
"payload_manager_backup_exactly_present": "UNPROVEN",
|
||||
"installation_approval_after_preflight": "NOT AUTHORIZED",
|
||||
"lifecycle_approval_after_preflight": "NOT AUTHORIZED"
|
||||
}
|
||||
@@ -0,0 +1,734 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"schema_contract": {
|
||||
"id": "chimera-gfx-phase-0.8-remediation-v1",
|
||||
"shared_schema_available": false,
|
||||
"validator": "tools/validate_phase08_remediation.py",
|
||||
"reason": "Existing artifact and controlled-runtime schemas describe built runtime artifacts and cannot represent an offline blocked evidence contract without misleading artifact semantics."
|
||||
},
|
||||
"phase_id": "0.8R",
|
||||
"phase": "offline_remediation",
|
||||
"status": "READ_ONLY_PREFLIGHT_BLOCKED",
|
||||
"date": "2026-07-18",
|
||||
"historical_identity": {
|
||||
"source_commit": "2c944d6d65a08f7e1c02f518721cde061b999329",
|
||||
"status": "READ_ONLY_PREFLIGHT_BLOCKED",
|
||||
"historical_validation_report": {
|
||||
"reported_date": "2026-07-18",
|
||||
"host_tests": "17/17 passed",
|
||||
"manifest_and_safety_checks": "passed",
|
||||
"secret_scan": "passed across 558 text files",
|
||||
"classification": "historical_report_not_current_hardware_evidence"
|
||||
}
|
||||
},
|
||||
"immutable_evidence": [
|
||||
{
|
||||
"path": "docs/runtime/phase-0.8-read-only-preflight.md",
|
||||
"role": "historical_human_readable_preflight_record",
|
||||
"sha256": "3fbe086175a6048176075f447ec1482074928e3b5282db97ea2169395fe1d508"
|
||||
},
|
||||
{
|
||||
"path": "manifests/runtime/phase-0.8-read-only-preflight.json",
|
||||
"role": "historical_machine_readable_preflight_record",
|
||||
"sha256": "47d7f452f8799979fe99b3e6d56859f03544112725bf7e5b349eba5ed81b3322"
|
||||
},
|
||||
{
|
||||
"path": "tests/test_phase08_preflight.py",
|
||||
"role": "historical_fail_closed_regression_test",
|
||||
"sha256": "8a4ad7c70de28ffe3148fd3fd1f68c36a872c53c691c9068e1ff163970863c48"
|
||||
}
|
||||
],
|
||||
"authorization": {
|
||||
"authorized": false,
|
||||
"installation_authorized": false,
|
||||
"lifecycle_authorized": false,
|
||||
"execution_authorized": false,
|
||||
"transfer_authorized": false,
|
||||
"automatic_retry": false
|
||||
},
|
||||
"activity": {
|
||||
"hardware_observed": false,
|
||||
"ps5_connected": false,
|
||||
"files_transferred": false,
|
||||
"target_execution_performed": false,
|
||||
"target_mutation_performed": false,
|
||||
"target_artifact_created": false,
|
||||
"collector_implemented": false,
|
||||
"target_build_performed": false
|
||||
},
|
||||
"firmware_runtime_behavior": "UNPROVEN",
|
||||
"stock_identities": {
|
||||
"classification": "reference_only",
|
||||
"current_device_observed": false,
|
||||
"elfldr": {
|
||||
"size": 397000,
|
||||
"sha256": "092d16ee0ede0c494947efd38d1a17bbd7cc4b022d3858ea898833c188c703e8",
|
||||
"current_device_match": "UNPROVEN"
|
||||
},
|
||||
"payload_manager": {
|
||||
"size": 2050320,
|
||||
"sha256": "518740adbacccb9094fadb07dd424c53ee290f38306449ccc9d6957fdf813c0b",
|
||||
"current_device_match": "UNPROVEN"
|
||||
}
|
||||
},
|
||||
"payload_manager_backup": {
|
||||
"classification": "hard_blocker",
|
||||
"on_device_proven": false,
|
||||
"byte_exact_proven": false,
|
||||
"creation_allowed_in_strict_read_only_phase": false,
|
||||
"result": "HARD_STOP-GATE"
|
||||
},
|
||||
"claim_boundaries": {
|
||||
"hardware_safety_proven": false,
|
||||
"firmware_behavior_proven": false,
|
||||
"absence_of_volatile_effects_proven": false,
|
||||
"no_persistent_write_found_equals_side_effect_free": false,
|
||||
"host_tests_are_hardware_evidence": false,
|
||||
"missing_observation_means_safe_absence": false
|
||||
},
|
||||
"side_effect_categories": [
|
||||
{
|
||||
"id": "A",
|
||||
"name": "PERSISTENT_MUTATION",
|
||||
"definition": "File creation/write/delete/rename, configuration or autoload changes, metadata changes, or persistent platform-state changes."
|
||||
},
|
||||
{
|
||||
"id": "B",
|
||||
"name": "PROCESS_OR_SERVICE_WIDE_MUTATION",
|
||||
"definition": "Global flags, functional counters, autoload state, service state, process signaling, or retry state."
|
||||
},
|
||||
{
|
||||
"id": "C",
|
||||
"name": "VOLATILE_TECHNICAL_EFFECT",
|
||||
"definition": "Socket acceptance, temporary buffers, allocation, scheduler activity, kernel counters, caches, audit or logging paths, and temporary process-local state."
|
||||
},
|
||||
{
|
||||
"id": "D",
|
||||
"name": "OBSERVATION",
|
||||
"definition": "Firmware, file metadata, hashes, process/listener state, configuration contents, rollback identities, or storage conditions."
|
||||
}
|
||||
],
|
||||
"payload_manager_source": {
|
||||
"origin": "itsPLK/ps5-payload-manager",
|
||||
"release": "v0.3.1",
|
||||
"commit": "cfbc70f30f419b09bf2b52283f7409e2d3117ee1",
|
||||
"files": [
|
||||
{
|
||||
"path": "include/pldmgr.h",
|
||||
"sha256": "01c693a3248dce7a663dd4ed9c73ce5f3a4443b5f2bd210746d94993dee27b91"
|
||||
},
|
||||
{
|
||||
"path": "src/http_server.c",
|
||||
"sha256": "35cf5d8f0dd44cf64ceab5e4b0ecc09413c82d7e9946ba9de2ca4b1898631fdd"
|
||||
},
|
||||
{
|
||||
"path": "src/autoload.c",
|
||||
"sha256": "7051cab3ee1a3e0b9f6498000565eb9e160b9c63efa1771f250e98ec3aa4ae67"
|
||||
},
|
||||
{
|
||||
"path": "src/log_server.c",
|
||||
"sha256": "659095f43df1bbe8eb24acb165f027edc277af1e60aabb26ba9e3920b233d6f1"
|
||||
},
|
||||
{
|
||||
"path": "src/config.c",
|
||||
"sha256": "2fa05a2781f7e41555653ea0fa2923c21bca7bb24c0062c722e0ae13be757b58"
|
||||
},
|
||||
{
|
||||
"path": "src/payload_mgr.c",
|
||||
"sha256": "c2a442c2cc26ce85b5c63db12102b22e7ca552761eb1bf0acfd650c24e05e761"
|
||||
},
|
||||
{
|
||||
"path": "src/sources.c",
|
||||
"sha256": "a7a4a5cafccfba74902d6ed21ba001e6a9f62d4dff840ac38882d04827162c96"
|
||||
},
|
||||
{
|
||||
"path": "src/process_mgr.c",
|
||||
"sha256": "5b1b1be70878ccc56d13295362b78da7faaf8e3b7c009472be8d65a9db9ad97c"
|
||||
}
|
||||
]
|
||||
},
|
||||
"side_effect_findings": [
|
||||
{
|
||||
"id": "options_any_endpoint",
|
||||
"http_method": "OPTIONS",
|
||||
"endpoint": "*",
|
||||
"handler_function": "http_on_request",
|
||||
"writes_server_active_flag": false,
|
||||
"writes_autoload_triggered": false,
|
||||
"reads_filesystem_or_configuration": false,
|
||||
"categories": [
|
||||
"C"
|
||||
],
|
||||
"other_effects": [
|
||||
"network request acceptance and response handling",
|
||||
"response allocation and transport effects",
|
||||
"cache, audit, scheduler, and kernel-counter effects remain unproven"
|
||||
],
|
||||
"source_references": [
|
||||
"src/http_server.c:131-147"
|
||||
],
|
||||
"strict_read_only_preflight_suitable": false,
|
||||
"reason": "OPTIONS does not produce the required evidence set and the transport's volatile effects are not proven absent."
|
||||
},
|
||||
{
|
||||
"id": "get_version",
|
||||
"http_method": "GET",
|
||||
"endpoint": "/version",
|
||||
"handler_function": "http_on_request",
|
||||
"writes_server_active_flag": true,
|
||||
"writes_autoload_triggered": false,
|
||||
"reads_filesystem_or_configuration": false,
|
||||
"categories": [
|
||||
"B",
|
||||
"C"
|
||||
],
|
||||
"other_effects": [
|
||||
"writes process-global server_active_flag",
|
||||
"network request and response effects remain"
|
||||
],
|
||||
"source_references": [
|
||||
"src/http_server.c:131-152",
|
||||
"src/http_server.c:835-838",
|
||||
"src/log_server.c:20-23"
|
||||
],
|
||||
"strict_read_only_preflight_suitable": false,
|
||||
"reason": "The informational response still follows a process-wide state mutation."
|
||||
},
|
||||
{
|
||||
"id": "get_log",
|
||||
"http_method": "GET",
|
||||
"endpoint": "/log",
|
||||
"handler_function": "http_on_request -> log_build_json",
|
||||
"writes_server_active_flag": true,
|
||||
"writes_autoload_triggered": false,
|
||||
"reads_filesystem_or_configuration": false,
|
||||
"categories": [
|
||||
"B",
|
||||
"C",
|
||||
"D"
|
||||
],
|
||||
"other_effects": [
|
||||
"locks and reads the in-process log ring",
|
||||
"allocates a response buffer"
|
||||
],
|
||||
"source_references": [
|
||||
"src/http_server.c:131-152",
|
||||
"src/http_server.c:826-834",
|
||||
"src/log_server.c:20-23",
|
||||
"src/log_server.c:111-127"
|
||||
],
|
||||
"strict_read_only_preflight_suitable": false,
|
||||
"reason": "It mutates process-global state and does not provide the required device evidence."
|
||||
},
|
||||
{
|
||||
"id": "get_autoload_status",
|
||||
"http_method": "GET",
|
||||
"endpoint": "/autoload_status",
|
||||
"handler_function": "http_on_request -> pldmgr_autoload_get_status -> config_read",
|
||||
"writes_server_active_flag": true,
|
||||
"writes_autoload_triggered": true,
|
||||
"reads_filesystem_or_configuration": true,
|
||||
"categories": [
|
||||
"B",
|
||||
"C",
|
||||
"D"
|
||||
],
|
||||
"other_effects": [
|
||||
"changes the functional autoload frontend-ready flag",
|
||||
"can release the autoload worker from its frontend wait",
|
||||
"reads /data/pldmgr/autoload.txt",
|
||||
"reads /data/pldmgr/pldmgr_config.txt",
|
||||
"atime, audit, cache, and metadata effects remain unproven"
|
||||
],
|
||||
"source_references": [
|
||||
"include/pldmgr.h:22,41-42",
|
||||
"src/http_server.c:131-152",
|
||||
"src/http_server.c:847-871",
|
||||
"src/autoload.c:44-48",
|
||||
"src/autoload.c:78-93",
|
||||
"src/config.c:12-49",
|
||||
"src/log_server.c:20-23"
|
||||
],
|
||||
"strict_read_only_preflight_suitable": false,
|
||||
"reason": "The route is functionally mutating and performs configuration reads with unproven technical side effects."
|
||||
},
|
||||
{
|
||||
"id": "get_config",
|
||||
"http_method": "GET",
|
||||
"endpoint": "/get_config",
|
||||
"handler_function": "http_on_request -> config_read",
|
||||
"writes_server_active_flag": true,
|
||||
"writes_autoload_triggered": false,
|
||||
"reads_filesystem_or_configuration": true,
|
||||
"categories": [
|
||||
"B",
|
||||
"C",
|
||||
"D"
|
||||
],
|
||||
"other_effects": [
|
||||
"reads /data/pldmgr/pldmgr_config.txt",
|
||||
"reads /data/pldmgr/autoload.txt",
|
||||
"atime, audit, cache, and metadata effects remain unproven"
|
||||
],
|
||||
"source_references": [
|
||||
"src/http_server.c:131-152",
|
||||
"src/http_server.c:911-930",
|
||||
"src/config.c:12-49",
|
||||
"src/log_server.c:20-23"
|
||||
],
|
||||
"strict_read_only_preflight_suitable": false,
|
||||
"reason": "The route mutates process state and filesystem-read side effects are unproven."
|
||||
},
|
||||
{
|
||||
"id": "get_list_payloads",
|
||||
"http_method": "GET",
|
||||
"endpoint": "/list_payloads",
|
||||
"handler_function": "http_on_request -> payload_mgr_list_json",
|
||||
"writes_server_active_flag": true,
|
||||
"writes_autoload_triggered": false,
|
||||
"reads_filesystem_or_configuration": true,
|
||||
"categories": [
|
||||
"B",
|
||||
"C",
|
||||
"D"
|
||||
],
|
||||
"other_effects": [
|
||||
"reads configuration",
|
||||
"scans internal and possible USB directories",
|
||||
"reads sidecar metadata",
|
||||
"filesystem and removable-media observation effects remain unproven"
|
||||
],
|
||||
"source_references": [
|
||||
"src/http_server.c:131-152",
|
||||
"src/http_server.c:601-608",
|
||||
"src/payload_mgr.c:114-153",
|
||||
"src/payload_mgr.c:196-238",
|
||||
"src/log_server.c:20-23"
|
||||
],
|
||||
"strict_read_only_preflight_suitable": false,
|
||||
"reason": "It mutates process state and performs broad filesystem enumeration without a side-effect contract."
|
||||
},
|
||||
{
|
||||
"id": "get_processes_list",
|
||||
"http_method": "GET",
|
||||
"endpoint": "/processes_list",
|
||||
"handler_function": "http_on_request -> process_list_json",
|
||||
"writes_server_active_flag": true,
|
||||
"writes_autoload_triggered": false,
|
||||
"reads_filesystem_or_configuration": false,
|
||||
"categories": [
|
||||
"B",
|
||||
"C",
|
||||
"D"
|
||||
],
|
||||
"other_effects": [
|
||||
"performs sysctl process enumeration",
|
||||
"allocates and frees a process snapshot",
|
||||
"kernel counters, audit, scheduling, and service effects remain unproven"
|
||||
],
|
||||
"source_references": [
|
||||
"src/http_server.c:131-152",
|
||||
"src/http_server.c:609-616",
|
||||
"src/process_mgr.c:43-88",
|
||||
"src/log_server.c:20-23"
|
||||
],
|
||||
"strict_read_only_preflight_suitable": false,
|
||||
"reason": "The route mutates process state and its system-query effects are not contractually bounded."
|
||||
},
|
||||
{
|
||||
"id": "get_sources_list",
|
||||
"http_method": "GET",
|
||||
"endpoint": "/sources_list",
|
||||
"handler_function": "http_on_request -> sources_list_json -> load_sources",
|
||||
"writes_server_active_flag": true,
|
||||
"writes_autoload_triggered": false,
|
||||
"reads_filesystem_or_configuration": true,
|
||||
"categories": [
|
||||
"B",
|
||||
"C",
|
||||
"D"
|
||||
],
|
||||
"other_effects": [
|
||||
"reads /data/pldmgr/sources.json",
|
||||
"is not on the noisy-route exclusion list and therefore also calls pldmgr_log",
|
||||
"writes stdout and the process-local log ring"
|
||||
],
|
||||
"source_references": [
|
||||
"src/http_server.c:111-126",
|
||||
"src/http_server.c:131-152",
|
||||
"src/http_server.c:479-481",
|
||||
"src/http_server.c:706-713",
|
||||
"src/sources.c:28-84",
|
||||
"src/sources.c:112-134",
|
||||
"src/log_server.c:20-55"
|
||||
],
|
||||
"strict_read_only_preflight_suitable": false,
|
||||
"reason": "It mutates active/log state and reads configuration without a side-effect guarantee."
|
||||
},
|
||||
{
|
||||
"id": "get_ip",
|
||||
"http_method": "GET",
|
||||
"endpoint": "/getip",
|
||||
"handler_function": "http_on_request -> pldmgr_get_local_ip",
|
||||
"writes_server_active_flag": true,
|
||||
"writes_autoload_triggered": false,
|
||||
"reads_filesystem_or_configuration": false,
|
||||
"categories": [
|
||||
"B",
|
||||
"C",
|
||||
"D"
|
||||
],
|
||||
"other_effects": [
|
||||
"queries network-interface state",
|
||||
"network, kernel-counter, audit, cache, and scheduler effects remain unproven"
|
||||
],
|
||||
"source_references": [
|
||||
"src/http_server.c:131-152",
|
||||
"src/http_server.c:839-846",
|
||||
"src/log_server.c:20-23"
|
||||
],
|
||||
"strict_read_only_preflight_suitable": false,
|
||||
"reason": "The route mutates process state and cannot establish the required preflight evidence set."
|
||||
}
|
||||
],
|
||||
"evidence_contract": [
|
||||
{
|
||||
"id": "firmware",
|
||||
"required_fact": "Two authoritative current observations agree on the exact firmware identifier and revision.",
|
||||
"possible_evidence_source": "Two separately reviewed authoritative device or user-visible sources; exact methods are unset.",
|
||||
"confidence": "UNPROVEN",
|
||||
"known_mutations": [],
|
||||
"unknown_effects": [
|
||||
"transport, UI, audit, cache, and platform-query effects"
|
||||
],
|
||||
"required_collector_identity": [
|
||||
"name",
|
||||
"version",
|
||||
"origin",
|
||||
"source commit",
|
||||
"operation set",
|
||||
"binary size and SHA-256 when code is involved"
|
||||
],
|
||||
"timeout_ms": null,
|
||||
"fail_closed_result": "STOP",
|
||||
"reviewer_output": [
|
||||
"raw values",
|
||||
"timestamps",
|
||||
"source identities",
|
||||
"exact agreement decision"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "live_paths",
|
||||
"required_fact": "Literal live paths, mount identities, object types, and no symlink traversal for both stock components.",
|
||||
"possible_evidence_source": "A separately reviewed no-follow object metadata operation.",
|
||||
"confidence": "UNPROVEN",
|
||||
"known_mutations": [],
|
||||
"unknown_effects": [
|
||||
"atime, audit, metadata cache, mount, and namespace effects"
|
||||
],
|
||||
"required_collector_identity": [
|
||||
"tool and source identity",
|
||||
"exact no-follow operation",
|
||||
"filesystem and mount options"
|
||||
],
|
||||
"timeout_ms": null,
|
||||
"fail_closed_result": "STOP",
|
||||
"reviewer_output": [
|
||||
"literal paths",
|
||||
"mount IDs",
|
||||
"object types",
|
||||
"symlink decisions"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "object_identities",
|
||||
"required_fact": "Stable pre/post inode or object IDs, device IDs, owner, group, mode, mtime, and ctime.",
|
||||
"possible_evidence_source": "A side-effect-reviewed metadata collector using the same objects before and after all reads.",
|
||||
"confidence": "UNPROVEN",
|
||||
"known_mutations": [],
|
||||
"unknown_effects": [
|
||||
"metadata cache, audit, race, and concurrent process effects"
|
||||
],
|
||||
"required_collector_identity": [
|
||||
"tool identity",
|
||||
"object lookup semantics",
|
||||
"race and symlink policy"
|
||||
],
|
||||
"timeout_ms": null,
|
||||
"fail_closed_result": "STOP",
|
||||
"reviewer_output": [
|
||||
"complete pre/post metadata",
|
||||
"stability decision",
|
||||
"all raw errors"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "file_sizes",
|
||||
"required_fact": "Current live byte sizes equal the two reference sizes.",
|
||||
"possible_evidence_source": "The same reviewed object handles used for identity collection.",
|
||||
"confidence": "UNPROVEN",
|
||||
"known_mutations": [],
|
||||
"unknown_effects": [
|
||||
"metadata cache, audit, and concurrent modification effects"
|
||||
],
|
||||
"required_collector_identity": [
|
||||
"tool identity",
|
||||
"same-object binding",
|
||||
"pre/post race controls"
|
||||
],
|
||||
"timeout_ms": null,
|
||||
"fail_closed_result": "STOP",
|
||||
"reviewer_output": [
|
||||
"raw sizes",
|
||||
"reference comparison",
|
||||
"object bindings"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "sha256",
|
||||
"required_fact": "SHA-256 of the exact current live bytes equals each reference digest.",
|
||||
"possible_evidence_source": "A source-reviewed, no-follow, same-object streaming hash operation.",
|
||||
"confidence": "UNPROVEN",
|
||||
"known_mutations": [],
|
||||
"unknown_effects": [
|
||||
"atime, audit, page cache, scheduler, thermal, and concurrent modification effects"
|
||||
],
|
||||
"required_collector_identity": [
|
||||
"hash implementation and version",
|
||||
"source commit",
|
||||
"binary size and SHA-256",
|
||||
"object-open and race policy"
|
||||
],
|
||||
"timeout_ms": null,
|
||||
"fail_closed_result": "STOP",
|
||||
"reviewer_output": [
|
||||
"bytes read",
|
||||
"start/end time",
|
||||
"digest",
|
||||
"pre/post object identity",
|
||||
"timeout and error state"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "processes_services",
|
||||
"required_fact": "Every relevant process and service maps to an executable object, parent, start time, status, and startup mechanism.",
|
||||
"possible_evidence_source": "A separately reviewed process/service snapshot mechanism.",
|
||||
"confidence": "UNPROVEN",
|
||||
"known_mutations": [],
|
||||
"unknown_effects": [
|
||||
"kernel counters, audit, scheduling, locking, cache, and service-query effects"
|
||||
],
|
||||
"required_collector_identity": [
|
||||
"tool and API identity",
|
||||
"source commit",
|
||||
"snapshot semantics"
|
||||
],
|
||||
"timeout_ms": null,
|
||||
"fail_closed_result": "STOP",
|
||||
"reviewer_output": [
|
||||
"complete raw snapshot",
|
||||
"executable mappings",
|
||||
"unknown/unmapped entries"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "listeners",
|
||||
"required_fact": "Ports 8084, 8085, and 9021 have unambiguous owners, addresses, and binding types with no unexpected exposure.",
|
||||
"possible_evidence_source": "A separately reviewed listener snapshot mechanism.",
|
||||
"confidence": "UNPROVEN",
|
||||
"known_mutations": [],
|
||||
"unknown_effects": [
|
||||
"network-stack counters, audit, cache, locking, and race effects"
|
||||
],
|
||||
"required_collector_identity": [
|
||||
"tool and API identity",
|
||||
"source commit",
|
||||
"snapshot and ownership-mapping semantics"
|
||||
],
|
||||
"timeout_ms": null,
|
||||
"fail_closed_result": "STOP",
|
||||
"reviewer_output": [
|
||||
"protocol/address/port rows",
|
||||
"binding types",
|
||||
"process and executable owners",
|
||||
"exposure decision"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "autoload",
|
||||
"required_fact": "All authoritative autoload, startup, and retry sources prove that lifecycle and hardened artifacts are absent and automatic retry is disabled.",
|
||||
"possible_evidence_source": "A collector distinct from the mutating stock /autoload_status route.",
|
||||
"confidence": "UNPROVEN",
|
||||
"known_mutations": [
|
||||
"stock /autoload_status writes autoload_triggered and is inadmissible"
|
||||
],
|
||||
"unknown_effects": [
|
||||
"atime, audit, cache, metadata, service-state, and race effects"
|
||||
],
|
||||
"required_collector_identity": [
|
||||
"tool and source identity",
|
||||
"complete authoritative source list",
|
||||
"no functional-state mutation proof"
|
||||
],
|
||||
"timeout_ms": null,
|
||||
"fail_closed_result": "STOP",
|
||||
"reviewer_output": [
|
||||
"raw safe representations",
|
||||
"source object identities and hashes",
|
||||
"absence decisions",
|
||||
"retry decision"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "rollback_files",
|
||||
"required_fact": "Separate already-present byte-exact stock backups exist with unambiguous restore mappings.",
|
||||
"possible_evidence_source": "The same admissible object/hash collector used for live files, applied to separate backup objects.",
|
||||
"confidence": "UNPROVEN",
|
||||
"known_mutations": [],
|
||||
"unknown_effects": [
|
||||
"atime, audit, page cache, metadata, mount, and race effects"
|
||||
],
|
||||
"required_collector_identity": [
|
||||
"tool and source identity",
|
||||
"same-object hash binding",
|
||||
"separate-device/object proof"
|
||||
],
|
||||
"timeout_ms": null,
|
||||
"fail_closed_result": "STOP",
|
||||
"reviewer_output": [
|
||||
"paths",
|
||||
"object and mount IDs",
|
||||
"sizes and digests",
|
||||
"separation proof",
|
||||
"restore mappings"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "storage_precondition",
|
||||
"required_fact": "A separate backup destination has at least 2447320 content bytes plus a separately assessed allocation reserve.",
|
||||
"possible_evidence_source": "A separately reviewed filesystem capacity and mount identity operation.",
|
||||
"confidence": "UNPROVEN",
|
||||
"known_mutations": [],
|
||||
"unknown_effects": [
|
||||
"mount, audit, cache, allocation accounting, and concurrent-use effects"
|
||||
],
|
||||
"required_collector_identity": [
|
||||
"tool and API identity",
|
||||
"mount/device identity semantics",
|
||||
"capacity accounting semantics"
|
||||
],
|
||||
"timeout_ms": null,
|
||||
"fail_closed_result": "STOP",
|
||||
"reviewer_output": [
|
||||
"mount and device IDs",
|
||||
"available bytes",
|
||||
"reserve calculation",
|
||||
"separation decision"
|
||||
]
|
||||
}
|
||||
],
|
||||
"blockers": [
|
||||
{
|
||||
"id": "exact_permission_quote_absent",
|
||||
"severity": "STOP-RO"
|
||||
},
|
||||
{
|
||||
"id": "collector_identity_absent",
|
||||
"severity": "STOP-RO"
|
||||
},
|
||||
{
|
||||
"id": "collector_side_effect_contract_absent",
|
||||
"severity": "STOP-RO"
|
||||
},
|
||||
{
|
||||
"id": "two_current_firmware_sources_absent",
|
||||
"severity": "STOP-GATE"
|
||||
},
|
||||
{
|
||||
"id": "live_object_identities_absent",
|
||||
"severity": "STOP-GATE"
|
||||
},
|
||||
{
|
||||
"id": "listeners_absent",
|
||||
"severity": "STOP-GATE"
|
||||
},
|
||||
{
|
||||
"id": "autoload_status_absent",
|
||||
"severity": "STOP-GATE"
|
||||
},
|
||||
{
|
||||
"id": "rollback_backups_absent",
|
||||
"severity": "STOP-GATE"
|
||||
},
|
||||
{
|
||||
"id": "payload_manager_backup_not_byte_exact_on_device",
|
||||
"severity": "HARD_STOP-GATE"
|
||||
},
|
||||
{
|
||||
"id": "unknown_result_is_stop",
|
||||
"severity": "STOP"
|
||||
},
|
||||
{
|
||||
"id": "timeout_is_stop",
|
||||
"severity": "STOP"
|
||||
},
|
||||
{
|
||||
"id": "deviation_is_stop",
|
||||
"severity": "STOP"
|
||||
},
|
||||
{
|
||||
"id": "automatic_retry_forbidden",
|
||||
"severity": "STOP"
|
||||
}
|
||||
],
|
||||
"prohibited_actions": [
|
||||
"connect_to_ps5",
|
||||
"probe_ip_port_or_device_interface",
|
||||
"use_usb_or_removable_media",
|
||||
"transfer_ps5_file",
|
||||
"package_for_ps5_deployment",
|
||||
"install_or_replace_target_component",
|
||||
"execute_elf_or_payload",
|
||||
"build_target_elf",
|
||||
"start_cross_compiler",
|
||||
"implement_or_build_collector",
|
||||
"modify_payload_manager_production_code",
|
||||
"modify_elfldr_production_code",
|
||||
"modify_lifecycle_code",
|
||||
"activate_or_modify_autoload",
|
||||
"activate_retry",
|
||||
"change_target_configuration",
|
||||
"start_stop_or_signal_target_service_or_process",
|
||||
"implement_gnm_videoout_sdl_audio_input_shaders_cores_or_retroarch",
|
||||
"download_or_install_packages",
|
||||
"contact_internet_gitea_or_other_remote",
|
||||
"commit_or_push"
|
||||
],
|
||||
"future_activity": {
|
||||
"mode": "design_only",
|
||||
"bounded_observation_implemented": false,
|
||||
"collector_selected": false,
|
||||
"transfer_method_selected": false,
|
||||
"execution_method_selected": false,
|
||||
"new_explicit_authorization_required": true
|
||||
},
|
||||
"phase_separation": [
|
||||
"offline_remediation",
|
||||
"possible_future_bounded_observation_design",
|
||||
"separate_observation_transfer_execution_authorization",
|
||||
"observation_result_review",
|
||||
"separate_mutating_rollback_preparation",
|
||||
"separate_hardened_runtime_installation_authorization",
|
||||
"installation_verification_and_rollback_evidence",
|
||||
"separate_lifecycle_authorization",
|
||||
"non_graphical_capability_probes",
|
||||
"much_later_graphics_backend_and_retroarch"
|
||||
],
|
||||
"retroarch": {
|
||||
"goal": "long_term_goal",
|
||||
"active_phase": false,
|
||||
"work_started": false,
|
||||
"dependency_chain_only": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,491 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"schema_contract": {
|
||||
"id": "chimera-gfx-phase-0.9a-anti-brick-design-v1",
|
||||
"validator": "tests/test_phase09_transaction.py",
|
||||
"host_simulator": "tools/simulate_phase09_transaction.py"
|
||||
},
|
||||
"status": "DESIGN_ONLY",
|
||||
"phase": "PHASE_0_9A_OFFLINE_ANTI_BRICK",
|
||||
"historical_status": "READ_ONLY_PREFLIGHT_BLOCKED",
|
||||
"hardware_observed": false,
|
||||
"ps5_connected": false,
|
||||
"device_write_performed": false,
|
||||
"files_transferred": false,
|
||||
"target_execution_performed": false,
|
||||
"target_artifact_created": false,
|
||||
"installation_authorized": false,
|
||||
"lifecycle_authorized": false,
|
||||
"execution_authorized": false,
|
||||
"transfer_authorized": false,
|
||||
"automatic_retry": false,
|
||||
"firmware_runtime_behavior": "UNPROVEN",
|
||||
"stock_identification": "reference_only",
|
||||
"payload_manager_backup": "HARD_BLOCKER",
|
||||
"lifecycle_probe_in_scope": false,
|
||||
"graphics_in_scope": false,
|
||||
"retroarch_in_scope": false,
|
||||
"host_simulation_is_hardware_evidence": false,
|
||||
"immutable_phase08_evidence": [
|
||||
{
|
||||
"path": "docs/runtime/phase-0.8-read-only-preflight.md",
|
||||
"sha256": "3fbe086175a6048176075f447ec1482074928e3b5282db97ea2169395fe1d508"
|
||||
},
|
||||
{
|
||||
"path": "manifests/runtime/phase-0.8-read-only-preflight.json",
|
||||
"sha256": "47d7f452f8799979fe99b3e6d56859f03544112725bf7e5b349eba5ed81b3322"
|
||||
},
|
||||
{
|
||||
"path": "tests/test_phase08_preflight.py",
|
||||
"sha256": "8a4ad7c70de28ffe3148fd3fd1f68c36a872c53c691c9068e1ff163970863c48"
|
||||
}
|
||||
],
|
||||
"permanent_denylist_binding": {
|
||||
"sha256": "4be1c17b4964f2b68c39b5145bc4af4619c32512d60269ecf5c39728b390fa63",
|
||||
"status": "BLOCKED",
|
||||
"permanent": true,
|
||||
"execution_eligible": false
|
||||
},
|
||||
"source_evidence": {
|
||||
"repository_head": "2c944d6d65a08f7e1c02f518721cde061b999329",
|
||||
"hardened_elfldr_commit": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"controlled_payload_manager_commit": "e23d94ff91233aa770e2342800c1467875bdef44",
|
||||
"lifecycle_probe_source_commit": "fe08300339a13f899fb78ea404ada381a5cba87c",
|
||||
"payload_manager_public_base_commit": "cfbc70f30f419b09bf2b52283f7409e2d3117ee1",
|
||||
"elfldr_public_base_commit": "699e8bcff03e91e8d6ca6eba281af25c5a58d8c2"
|
||||
},
|
||||
"threat_control_profiles": [
|
||||
{
|
||||
"id": "A_WRONG_TARGET",
|
||||
"possible_damage": "The wrong object is replaced, potentially removing the only working launcher or manager.",
|
||||
"detection_before_mutation": "Require one stable no-follow object handle plus literal path token, mount ID, object ID, type, size and SHA-256; repeat identity immediately before mutation.",
|
||||
"preventive_invariants": ["AB-001", "AB-003", "AB-004", "AB-007"],
|
||||
"recovery": "Only a separately verified backup and an independent recovery executor could recover; neither is proven on PS5.",
|
||||
"residual_risk": "Namespace races and platform object-identity semantics remain UNPROVEN.",
|
||||
"phase_decision": "BLOCKED"
|
||||
},
|
||||
{
|
||||
"id": "B_WRONG_PREIMAGE",
|
||||
"possible_damage": "A modified or firmware-incompatible live object is treated as stock and overwritten.",
|
||||
"detection_before_mutation": "Bind firmware, build manifest, path, mount, object ID, size and digest to one current stable observation.",
|
||||
"preventive_invariants": ["AB-001", "AB-002", "AB-003", "AB-004"],
|
||||
"recovery": "Do not mutate on any mismatch; post-mutation recovery is not an acceptable substitute.",
|
||||
"residual_risk": "Current on-device identities and firmware behavior remain UNPROVEN.",
|
||||
"phase_decision": "BLOCKED"
|
||||
},
|
||||
{
|
||||
"id": "C_BACKUP_FAILURE",
|
||||
"possible_damage": "Rollback bytes are absent, ambiguous, partial, corrupt or dependent on the failed component.",
|
||||
"detection_before_mutation": "Create before staging, close, reopen, re-identify and rehash a separate object; verify capacity, mapping and an independent recovery executor.",
|
||||
"preventive_invariants": ["AB-005", "AB-006", "AB-016", "AB-017"],
|
||||
"recovery": "No live mutation is permitted until the backup and recovery path are proven.",
|
||||
"residual_risk": "The byte-exact on-device Payload Manager backup is a HARD_BLOCKER.",
|
||||
"phase_decision": "BLOCKED"
|
||||
},
|
||||
{
|
||||
"id": "D_WRITE_POWER_LOSS",
|
||||
"possible_damage": "Power loss can expose a missing or partial live path, lose directory metadata or leave an ambiguous active identity.",
|
||||
"detection_before_mutation": "Prove staging isolation, file and directory durability, and a single atomic switch primitive under interruption.",
|
||||
"preventive_invariants": ["AB-007", "AB-008", "AB-009", "AB-011", "AB-012", "AB-013"],
|
||||
"recovery": "Only a proven atomic old-or-new result plus an intact independent backup is acceptable.",
|
||||
"residual_risk": "PS5 filesystem atomicity, exchange and durability are UNPROVEN.",
|
||||
"phase_decision": "BLOCKED"
|
||||
},
|
||||
{
|
||||
"id": "E_PROCESS_LIFECYCLE",
|
||||
"possible_damage": "An active mapping, supervisor, autoload or retry starts unverified bytes or creates a crash loop.",
|
||||
"detection_before_mutation": "Prove process/service/listener ownership, quiescence, supervisor behavior and authoritative autoload/retry state.",
|
||||
"preventive_invariants": ["AB-010", "AB-013", "AB-014", "AB-020"],
|
||||
"recovery": "Stop before switch on any active or unknown state; never rely on automatic restart.",
|
||||
"residual_risk": "Current process, listener and service topology is unobserved.",
|
||||
"phase_decision": "BLOCKED"
|
||||
},
|
||||
{
|
||||
"id": "F_ROLLBACK_FAILURE",
|
||||
"possible_damage": "Rollback restores wrong bytes, targets the wrong object, starts a service, or cannot run after the replaced component fails.",
|
||||
"detection_before_mutation": "Bind rollback to the verified backup, target mapping, independent executor and post-rollback identity checks.",
|
||||
"preventive_invariants": ["AB-006", "AB-015", "AB-016", "AB-017"],
|
||||
"recovery": "A failed rollback verification is CATASTROPHIC/BLOCKED and never retried automatically.",
|
||||
"residual_risk": "No independent on-device recovery path is proven.",
|
||||
"phase_decision": "BLOCKED"
|
||||
},
|
||||
{
|
||||
"id": "G_OPERATOR_ERROR",
|
||||
"possible_damage": "Artifacts, firmware, approvals or phases are confused and a general status bypasses a specific hard gate.",
|
||||
"detection_before_mutation": "Use component-specific manifests and approvals bound to one device, firmware, hash, size, action and expiry.",
|
||||
"preventive_invariants": ["AB-018", "AB-019", "AB-020"],
|
||||
"recovery": "Fail closed before mutation; one component window must be accepted or rolled back before another begins.",
|
||||
"residual_risk": "Component order is not inferred without proven dependency evidence.",
|
||||
"phase_decision": "BLOCKED"
|
||||
}
|
||||
],
|
||||
"threat_model_items": [
|
||||
{"id": "TM-A-01", "profile": "A_WRONG_TARGET", "scenario": "wrong_path", "severity": "CATASTROPHIC", "reason": "May replace an unrelated critical object."},
|
||||
{"id": "TM-A-02", "profile": "A_WRONG_TARGET", "scenario": "wrong_mountpoint", "severity": "CATASTROPHIC", "reason": "Path text can name a different storage object."},
|
||||
{"id": "TM-A-03", "profile": "A_WRONG_TARGET", "scenario": "symlink_junction_or_redirect", "severity": "CATASTROPHIC", "reason": "A redirect defeats the reviewed target mapping."},
|
||||
{"id": "TM-A-04", "profile": "A_WRONG_TARGET", "scenario": "path_resolves_to_different_object_after_preflight", "severity": "CATASTROPHIC", "reason": "TOCTOU can switch the write target."},
|
||||
{"id": "TM-A-05", "profile": "A_WRONG_TARGET", "scenario": "case_or_path_normalization_changes_identity", "severity": "HIGH", "reason": "Canonicalization may collapse distinct names."},
|
||||
{"id": "TM-A-06", "profile": "A_WRONG_TARGET", "scenario": "target_replaced_between_check_and_write", "severity": "CATASTROPHIC", "reason": "The stable pre-image binding is lost."},
|
||||
{"id": "TM-B-01", "profile": "B_WRONG_PREIMAGE", "scenario": "live_hash_differs_from_stock_reference", "severity": "HIGH", "reason": "Existing modifications could be destroyed."},
|
||||
{"id": "TM-B-02", "profile": "B_WRONG_PREIMAGE", "scenario": "live_size_differs", "severity": "HIGH", "reason": "The observed object is not the approved pre-image."},
|
||||
{"id": "TM-B-03", "profile": "B_WRONG_PREIMAGE", "scenario": "object_id_changes", "severity": "CATASTROPHIC", "reason": "The write would target an unverified object."},
|
||||
{"id": "TM-B-04", "profile": "B_WRONG_PREIMAGE", "scenario": "firmware_differs", "severity": "HIGH", "reason": "Compatibility and recovery assumptions do not transfer."},
|
||||
{"id": "TM-B-05", "profile": "B_WRONG_PREIMAGE", "scenario": "manifest_belongs_to_another_build", "severity": "HIGH", "reason": "Candidate and recovery evidence become invalid."},
|
||||
{"id": "TM-B-06", "profile": "B_WRONG_PREIMAGE", "scenario": "modified_installation_treated_as_stock", "severity": "CATASTROPHIC", "reason": "Unknown required bytes could be irreversibly lost."},
|
||||
{"id": "TM-C-01", "profile": "C_BACKUP_FAILURE", "scenario": "backup_missing", "severity": "CATASTROPHIC", "reason": "No rollback bytes exist."},
|
||||
{"id": "TM-C-02", "profile": "C_BACKUP_FAILURE", "scenario": "backup_is_same_object_as_live", "severity": "CATASTROPHIC", "reason": "A switch or failure can destroy both identities."},
|
||||
{"id": "TM-C-03", "profile": "C_BACKUP_FAILURE", "scenario": "backup_on_same_vulnerable_path", "severity": "CATASTROPHIC", "reason": "One namespace failure can remove both copies."},
|
||||
{"id": "TM-C-04", "profile": "C_BACKUP_FAILURE", "scenario": "backup_partial", "severity": "CATASTROPHIC", "reason": "Partial bytes cannot restore the pre-image."},
|
||||
{"id": "TM-C-05", "profile": "C_BACKUP_FAILURE", "scenario": "backup_hash_mismatch", "severity": "CATASTROPHIC", "reason": "Rollback bytes are not the verified pre-image."},
|
||||
{"id": "TM-C-06", "profile": "C_BACKUP_FAILURE", "scenario": "backup_cannot_be_reopened", "severity": "HIGH", "reason": "Durability and later readability are unproven."},
|
||||
{"id": "TM-C-07", "profile": "C_BACKUP_FAILURE", "scenario": "backup_mapping_ambiguous", "severity": "CATASTROPHIC", "reason": "Rollback may restore the wrong target."},
|
||||
{"id": "TM-C-08", "profile": "C_BACKUP_FAILURE", "scenario": "recovery_tool_depends_on_replaced_component", "severity": "CATASTROPHIC", "reason": "The recovery executor may disappear with the failure."},
|
||||
{"id": "TM-C-09", "profile": "C_BACKUP_FAILURE", "scenario": "insufficient_storage", "severity": "HIGH", "reason": "Writes or metadata allocation can fail partway."},
|
||||
{"id": "TM-C-10", "profile": "C_BACKUP_FAILURE", "scenario": "backup_created_after_live_mutation", "severity": "CATASTROPHIC", "reason": "The only known-good pre-image may already be lost."},
|
||||
{"id": "TM-D-01", "profile": "D_WRITE_POWER_LOSS", "scenario": "power_loss_before_staging", "severity": "LOW", "reason": "No live mutation should have occurred, but platform evidence is still required."},
|
||||
{"id": "TM-D-02", "profile": "D_WRITE_POWER_LOSS", "scenario": "power_loss_during_staging", "severity": "HIGH", "reason": "A partial candidate must never become live."},
|
||||
{"id": "TM-D-03", "profile": "D_WRITE_POWER_LOSS", "scenario": "power_loss_after_staging_before_verification", "severity": "HIGH", "reason": "Unverified staged bytes may persist."},
|
||||
{"id": "TM-D-04", "profile": "D_WRITE_POWER_LOSS", "scenario": "power_loss_during_live_switch", "severity": "CATASTROPHIC", "reason": "The live identity can become missing or ambiguous."},
|
||||
{"id": "TM-D-05", "profile": "D_WRITE_POWER_LOSS", "scenario": "power_loss_immediately_after_live_switch", "severity": "CATASTROPHIC", "reason": "Directory metadata may not be durable."},
|
||||
{"id": "TM-D-06", "profile": "D_WRITE_POWER_LOSS", "scenario": "power_loss_before_directory_metadata_durable", "severity": "CATASTROPHIC", "reason": "The namespace may revert or lose the live entry."},
|
||||
{"id": "TM-D-07", "profile": "D_WRITE_POWER_LOSS", "scenario": "partial_write", "severity": "CATASTROPHIC", "reason": "A partial live executable is unusable."},
|
||||
{"id": "TM-D-08", "profile": "D_WRITE_POWER_LOSS", "scenario": "short_write", "severity": "HIGH", "reason": "Completion cannot be assumed from one write."},
|
||||
{"id": "TM-D-09", "profile": "D_WRITE_POWER_LOSS", "scenario": "write_error", "severity": "HIGH", "reason": "The candidate or backup may be incomplete."},
|
||||
{"id": "TM-D-10", "profile": "D_WRITE_POWER_LOSS", "scenario": "flush_or_fsync_error", "severity": "CATASTROPHIC", "reason": "Bytes may not survive interruption."},
|
||||
{"id": "TM-D-11", "profile": "D_WRITE_POWER_LOSS", "scenario": "file_correct_directory_not_durable", "severity": "CATASTROPHIC", "reason": "The live path may still disappear."},
|
||||
{"id": "TM-D-12", "profile": "D_WRITE_POWER_LOSS", "scenario": "new_file_wrong_metadata", "severity": "HIGH", "reason": "Ownership or mode may prevent startup or recovery."},
|
||||
{"id": "TM-E-01", "profile": "E_PROCESS_LIFECYCLE", "scenario": "target_file_active", "severity": "HIGH", "reason": "Old mappings and replacement behavior are unproven."},
|
||||
{"id": "TM-E-02", "profile": "E_PROCESS_LIFECYCLE", "scenario": "multiple_instances", "severity": "HIGH", "reason": "Quiescence and ownership become ambiguous."},
|
||||
{"id": "TM-E-03", "profile": "E_PROCESS_LIFECYCLE", "scenario": "service_self_restarts", "severity": "CATASTROPHIC", "reason": "Unverified bytes could start automatically."},
|
||||
{"id": "TM-E-04", "profile": "E_PROCESS_LIFECYCLE", "scenario": "listener_conflict", "severity": "MEDIUM", "reason": "Control and recovery channels may be unavailable."},
|
||||
{"id": "TM-E-05", "profile": "E_PROCESS_LIFECYCLE", "scenario": "process_holds_old_file_or_mapping", "severity": "HIGH", "reason": "Observed path identity may differ from running code."},
|
||||
{"id": "TM-E-06", "profile": "E_PROCESS_LIFECYCLE", "scenario": "watchdog_or_supervisor_auto_restart", "severity": "CATASTROPHIC", "reason": "It bypasses the execution approval gate."},
|
||||
{"id": "TM-E-07", "profile": "E_PROCESS_LIFECYCLE", "scenario": "autoload_starts_candidate_before_verification", "severity": "CATASTROPHIC", "reason": "Unverified code can run automatically."},
|
||||
{"id": "TM-E-08", "profile": "E_PROCESS_LIFECYCLE", "scenario": "automatic_retry_crash_loop", "severity": "CATASTROPHIC", "reason": "Repeated failure may prevent stable recovery."},
|
||||
{"id": "TM-F-01", "profile": "F_ROLLBACK_FAILURE", "scenario": "rollback_uses_wrong_backup", "severity": "CATASTROPHIC", "reason": "The restored object is not the pre-image."},
|
||||
{"id": "TM-F-02", "profile": "F_ROLLBACK_FAILURE", "scenario": "rollback_uses_wrong_target_path", "severity": "CATASTROPHIC", "reason": "Recovery can corrupt another object."},
|
||||
{"id": "TM-F-03", "profile": "F_ROLLBACK_FAILURE", "scenario": "rollback_interrupted", "severity": "CATASTROPHIC", "reason": "Neither old nor new live identity may remain usable."},
|
||||
{"id": "TM-F-04", "profile": "F_ROLLBACK_FAILURE", "scenario": "rollback_hash_wrong_after_restore", "severity": "CATASTROPHIC", "reason": "Recovery did not restore verified bytes."},
|
||||
{"id": "TM-F-05", "profile": "F_ROLLBACK_FAILURE", "scenario": "rollback_auto_starts_service", "severity": "CATASTROPHIC", "reason": "Execution occurs before restored identity review."},
|
||||
{"id": "TM-F-06", "profile": "F_ROLLBACK_FAILURE", "scenario": "rollback_requires_payload_manager", "severity": "CATASTROPHIC", "reason": "Payload Manager replacement can remove its own recovery path."},
|
||||
{"id": "TM-F-07", "profile": "F_ROLLBACK_FAILURE", "scenario": "rollback_requires_elfldr", "severity": "CATASTROPHIC", "reason": "elfldr replacement can remove its own recovery path."},
|
||||
{"id": "TM-G-01", "profile": "G_OPERATOR_ERROR", "scenario": "elfldr_and_manager_swapped", "severity": "CATASTROPHIC", "reason": "The wrong executable is installed into a critical role."},
|
||||
{"id": "TM-G-02", "profile": "G_OPERATOR_ERROR", "scenario": "lifecycle_probe_treated_as_install_candidate", "severity": "CATASTROPHIC", "reason": "The probe is not a runtime replacement component."},
|
||||
{"id": "TM-G-03", "profile": "G_OPERATOR_ERROR", "scenario": "wrong_firmware_or_build_selected", "severity": "HIGH", "reason": "Evidence and compatibility binding are invalid."},
|
||||
{"id": "TM-G-04", "profile": "G_OPERATOR_ERROR", "scenario": "two_installation_phases_combined", "severity": "CATASTROPHIC", "reason": "A single failure can remove both recovery dependencies."},
|
||||
{"id": "TM-G-05", "profile": "G_OPERATOR_ERROR", "scenario": "approval_reused_for_other_component", "severity": "HIGH", "reason": "Authority is not component or hash bound."},
|
||||
{"id": "TM-G-06", "profile": "G_OPERATOR_ERROR", "scenario": "stale_manifest_used", "severity": "HIGH", "reason": "The approved identities may no longer match."},
|
||||
{"id": "TM-G-07", "profile": "G_OPERATOR_ERROR", "scenario": "general_ready_overrides_specific_blocker", "severity": "CATASTROPHIC", "reason": "A hard stop can be silently bypassed."}
|
||||
],
|
||||
"anti_brick_invariants": [
|
||||
{"id": "AB-001", "text": "No write without exact stable path, mount ID, object ID, type, size and pre-image SHA-256."},
|
||||
{"id": "AB-002", "text": "A stock digest remains reference_only until observed on one stable on-device object."},
|
||||
{"id": "AB-003", "text": "A digest match without object identity is insufficient."},
|
||||
{"id": "AB-004", "text": "Object identity without a digest match is insufficient."},
|
||||
{"id": "AB-005", "text": "The separate backup exists before staging and passes close, reopen, identity, size and digest verification."},
|
||||
{"id": "AB-006", "text": "Backup and recovery do not depend on the candidate or replaced component."},
|
||||
{"id": "AB-007", "text": "Never overwrite a live executable in place."},
|
||||
{"id": "AB-008", "text": "Stage under a separate inactive identity."},
|
||||
{"id": "AB-009", "text": "Reopen and hash the staged candidate before activation; bytes equal the offline-approved artifact."},
|
||||
{"id": "AB-010", "text": "No autoload, retry, service restart or boot starts the candidate."},
|
||||
{"id": "AB-011", "text": "Switch only with a separately proven transactional or atomic primitive."},
|
||||
{"id": "AB-012", "text": "Unproven atomicity or durability blocks installation."},
|
||||
{"id": "AB-013", "text": "Verify live identity after switch; execution is a later separate approval."},
|
||||
{"id": "AB-014", "text": "At most one manual execution and zero automatic retries."},
|
||||
{"id": "AB-015", "text": "Failed post-switch verification enters ROLLBACK_REQUIRED, never execution."},
|
||||
{"id": "AB-016", "text": "Rollback uses only the preverified backup and exact target mapping."},
|
||||
{"id": "AB-017", "text": "After rollback, re-establish size, SHA-256, object identity and relevant metadata."},
|
||||
{"id": "AB-018", "text": "Hardened elfldr and controlled Payload Manager are never replaced in one uninterrupted transaction."},
|
||||
{"id": "AB-019", "text": "The lifecycle probe is never an installation candidate."},
|
||||
{"id": "AB-020", "text": "No later phase begins without separate human permission."}
|
||||
],
|
||||
"transaction_states": [
|
||||
"OFFLINE_ONLY",
|
||||
"OBSERVATION_NOT_AUTHORIZED",
|
||||
"OBSERVATION_AUTHORIZED",
|
||||
"DEVICE_IDENTITY_OBSERVED",
|
||||
"LIVE_OBJECTS_VERIFIED",
|
||||
"BACKUP_NOT_PRESENT",
|
||||
"BACKUP_CREATION_NOT_AUTHORIZED",
|
||||
"BACKUP_CREATION_AUTHORIZED",
|
||||
"BACKUP_CREATED",
|
||||
"BACKUP_REOPENED_AND_VERIFIED",
|
||||
"RECOVERY_PATH_VERIFIED",
|
||||
"CANDIDATE_NOT_AUTHORIZED",
|
||||
"CANDIDATE_APPROVED_OFFLINE",
|
||||
"STAGING_NOT_AUTHORIZED",
|
||||
"STAGING_AUTHORIZED",
|
||||
"CANDIDATE_STAGED",
|
||||
"CANDIDATE_REOPENED_AND_VERIFIED",
|
||||
"TARGET_NOT_QUIESCENT",
|
||||
"TARGET_QUIESCENT",
|
||||
"SWITCH_NOT_AUTHORIZED",
|
||||
"SWITCH_AUTHORIZED",
|
||||
"SWITCH_IN_PROGRESS",
|
||||
"POST_SWITCH_VERIFY",
|
||||
"MANUAL_EXECUTION_NOT_AUTHORIZED",
|
||||
"MANUAL_EXECUTION_AUTHORIZED",
|
||||
"ONE_SHOT_EXECUTION",
|
||||
"ACCEPTED",
|
||||
"ROLLBACK_REQUIRED",
|
||||
"ROLLBACK_AUTHORIZED",
|
||||
"ROLLBACK_IN_PROGRESS",
|
||||
"ROLLBACK_VERIFIED",
|
||||
"BLOCKED"
|
||||
],
|
||||
"allowed_transitions": [
|
||||
"OFFLINE_ONLY->OBSERVATION_NOT_AUTHORIZED",
|
||||
"OBSERVATION_NOT_AUTHORIZED->OBSERVATION_AUTHORIZED",
|
||||
"OBSERVATION_AUTHORIZED->DEVICE_IDENTITY_OBSERVED",
|
||||
"DEVICE_IDENTITY_OBSERVED->LIVE_OBJECTS_VERIFIED",
|
||||
"LIVE_OBJECTS_VERIFIED->BACKUP_NOT_PRESENT",
|
||||
"BACKUP_NOT_PRESENT->BACKUP_CREATION_NOT_AUTHORIZED",
|
||||
"BACKUP_CREATION_NOT_AUTHORIZED->BACKUP_CREATION_AUTHORIZED",
|
||||
"BACKUP_CREATION_AUTHORIZED->BACKUP_CREATED",
|
||||
"BACKUP_CREATED->BACKUP_REOPENED_AND_VERIFIED",
|
||||
"BACKUP_REOPENED_AND_VERIFIED->RECOVERY_PATH_VERIFIED",
|
||||
"RECOVERY_PATH_VERIFIED->CANDIDATE_NOT_AUTHORIZED",
|
||||
"CANDIDATE_NOT_AUTHORIZED->CANDIDATE_APPROVED_OFFLINE",
|
||||
"CANDIDATE_APPROVED_OFFLINE->STAGING_NOT_AUTHORIZED",
|
||||
"STAGING_NOT_AUTHORIZED->STAGING_AUTHORIZED",
|
||||
"STAGING_AUTHORIZED->CANDIDATE_STAGED",
|
||||
"CANDIDATE_STAGED->CANDIDATE_REOPENED_AND_VERIFIED",
|
||||
"CANDIDATE_REOPENED_AND_VERIFIED->TARGET_NOT_QUIESCENT",
|
||||
"TARGET_NOT_QUIESCENT->TARGET_QUIESCENT",
|
||||
"TARGET_QUIESCENT->SWITCH_NOT_AUTHORIZED",
|
||||
"SWITCH_NOT_AUTHORIZED->SWITCH_AUTHORIZED",
|
||||
"SWITCH_AUTHORIZED->SWITCH_IN_PROGRESS",
|
||||
"SWITCH_IN_PROGRESS->POST_SWITCH_VERIFY",
|
||||
"POST_SWITCH_VERIFY->MANUAL_EXECUTION_NOT_AUTHORIZED",
|
||||
"MANUAL_EXECUTION_NOT_AUTHORIZED->MANUAL_EXECUTION_AUTHORIZED",
|
||||
"MANUAL_EXECUTION_AUTHORIZED->ONE_SHOT_EXECUTION",
|
||||
"ONE_SHOT_EXECUTION->ACCEPTED",
|
||||
"POST_SWITCH_VERIFY->ROLLBACK_REQUIRED",
|
||||
"ROLLBACK_REQUIRED->ROLLBACK_AUTHORIZED",
|
||||
"ROLLBACK_AUTHORIZED->ROLLBACK_IN_PROGRESS",
|
||||
"ROLLBACK_IN_PROGRESS->ROLLBACK_VERIFIED",
|
||||
"ANY_ERROR_MISMATCH_TIMEOUT_OR_UNKNOWN->BLOCKED"
|
||||
],
|
||||
"forbidden_transitions": [
|
||||
"automatic_transition_across_any_authorization_state",
|
||||
"automatic_retry",
|
||||
"autoload",
|
||||
"in_place_overwrite",
|
||||
"two_step_rename_with_missing_live_gap",
|
||||
"post_switch_direct_to_execution",
|
||||
"combined_component_installation",
|
||||
"second_component_before_first_accepted_or_rolled_back",
|
||||
"lifecycle_probe_to_installation_candidate",
|
||||
"lifecycle_transition",
|
||||
"graphics_transition",
|
||||
"retroarch_transition",
|
||||
"general_ready_overrides_specific_blocker"
|
||||
],
|
||||
"approval_gates": [
|
||||
{"id": "observation", "authorized": false, "separate_human_approval_required": true},
|
||||
{"id": "backup_creation", "authorized": false, "separate_human_approval_required": true},
|
||||
{"id": "staging", "authorized": false, "separate_human_approval_required": true},
|
||||
{"id": "switch", "authorized": false, "separate_human_approval_required": true},
|
||||
{"id": "one_shot_execution", "authorized": false, "separate_human_approval_required": true},
|
||||
{"id": "rollback", "authorized": false, "separate_human_approval_required": true}
|
||||
],
|
||||
"power_loss_boundaries": [
|
||||
{"id": "before_backup_write", "before": "verified old live; no backup write", "possible_objects": "old live only", "visible_live": "old live", "backup": "absent", "automatic_start": false, "independent_recovery": "not needed before mutation", "recoverable": "UNPROVEN", "result": "UNPROVEN"},
|
||||
{"id": "during_backup_write", "before": "old live intact; backup creation authorized", "possible_objects": "old live plus partial backup", "visible_live": "old live", "backup": "partial and invalid", "automatic_start": false, "independent_recovery": "old live must remain independent", "recoverable": "UNPROVEN", "result": "UNPROVEN"},
|
||||
{"id": "after_backup_write_before_flush", "before": "backup bytes written but not durable", "possible_objects": "old live plus volatile backup", "visible_live": "old live", "backup": "not durable", "automatic_start": false, "independent_recovery": "unproven", "recoverable": "UNPROVEN", "result": "UNPROVEN"},
|
||||
{"id": "after_flush_before_reopen_hash", "before": "backup flush requested", "possible_objects": "old live plus unverified backup", "visible_live": "old live", "backup": "not reopened or rehashed", "automatic_start": false, "independent_recovery": "unproven", "recoverable": "UNPROVEN", "result": "UNPROVEN"},
|
||||
{"id": "during_candidate_staging", "before": "verified backup; separate candidate write", "possible_objects": "old live, verified backup, partial candidate", "visible_live": "old live", "backup": "must remain intact", "automatic_start": false, "independent_recovery": "must not use candidate", "recoverable": "UNPROVEN", "result": "UNPROVEN"},
|
||||
{"id": "after_candidate_staging_before_verification", "before": "candidate present but unverified", "possible_objects": "old live, verified backup, unverified candidate", "visible_live": "old live", "backup": "must remain intact", "automatic_start": false, "independent_recovery": "old live remains primary", "recoverable": "UNPROVEN", "result": "UNPROVEN"},
|
||||
{"id": "immediately_before_live_switch", "before": "candidate and backup verified; target quiescent", "possible_objects": "old live, verified backup, verified candidate", "visible_live": "old live", "backup": "verified", "automatic_start": false, "independent_recovery": "required", "recoverable": "UNPROVEN", "result": "UNPROVEN"},
|
||||
{"id": "during_live_switch", "before": "atomic switch requested", "possible_objects": "must be exactly complete old or complete new; platform behavior unknown", "visible_live": "UNPROVEN", "backup": "must remain verified", "automatic_start": false, "independent_recovery": "required", "recoverable": "UNPROVEN", "result": "UNPROVEN"},
|
||||
{"id": "immediately_after_live_switch", "before": "namespace switch returned", "possible_objects": "new live plus backup if atomic; directory durability unknown", "visible_live": "UNPROVEN", "backup": "must remain verified", "automatic_start": false, "independent_recovery": "required", "recoverable": "UNPROVEN", "result": "UNPROVEN"},
|
||||
{"id": "after_switch_before_live_hash", "before": "candidate nominally live but not verified", "possible_objects": "new live or ambiguous namespace plus backup", "visible_live": "unverified", "backup": "must remain verified", "automatic_start": false, "independent_recovery": "required", "recoverable": "UNPROVEN", "result": "UNPROVEN"},
|
||||
{"id": "after_live_hash_before_execution", "before": "post-switch hash recorded; execution still unauthorized", "possible_objects": "verified new live plus backup if platform durable", "visible_live": "new live", "backup": "must remain verified", "automatic_start": false, "independent_recovery": "required", "recoverable": "UNPROVEN", "result": "UNPROVEN"},
|
||||
{"id": "during_first_manual_execution", "before": "separate one-shot execution gate", "possible_objects": "new live plus backup", "visible_live": "new live", "backup": "must remain verified", "automatic_start": false, "independent_recovery": "must work without executed component", "recoverable": "UNPROVEN", "result": "UNPROVEN"},
|
||||
{"id": "during_rollback", "before": "rollback separately authorized", "possible_objects": "must be complete new or complete old plus intact backup", "visible_live": "UNPROVEN", "backup": "must remain verified", "automatic_start": false, "independent_recovery": "required", "recoverable": "UNPROVEN", "result": "UNPROVEN"},
|
||||
{"id": "after_rollback_before_recovery_verification", "before": "rollback switch returned", "possible_objects": "restored old live if atomic and durable", "visible_live": "unverified restored object", "backup": "must remain verified", "automatic_start": false, "independent_recovery": "required", "recoverable": "UNPROVEN", "result": "UNPROVEN"}
|
||||
],
|
||||
"backup_conditions": [
|
||||
"created_before_any_live_mutation",
|
||||
"exact_source_object_and_restore_target_recorded",
|
||||
"source_stable_during_read",
|
||||
"all_bytes_read",
|
||||
"exact_size",
|
||||
"exact_sha256",
|
||||
"separate_object",
|
||||
"closed_reopened_reidentified_and_rehashed",
|
||||
"storage_medium_and_mount_recorded",
|
||||
"capacity_and_metadata_reserve_proven",
|
||||
"not_removed_by_autoload_cleanup_or_packaging",
|
||||
"not_replaced_by_candidate",
|
||||
"mapping_not_derived_from_glob_or_basename",
|
||||
"rollback_requires_no_target_path_guess",
|
||||
"strongly_recommended_second_off_device_copy_requires_separate_future_transfer_approval"
|
||||
],
|
||||
"recovery_conditions": [
|
||||
"recovery_start_mechanism_exactly_identified",
|
||||
"recovery_executor_exactly_identified",
|
||||
"recovery_executor_is_not_the_replaced_component",
|
||||
"works_if_elfldr_does_not_start",
|
||||
"works_if_payload_manager_does_not_start",
|
||||
"works_without_autoload",
|
||||
"works_without_replaced_component_network_listener",
|
||||
"second_independent_recovery_path_is_proven",
|
||||
"post_rollback_size_hash_object_identity_and_metadata_verified"
|
||||
],
|
||||
"filesystem_evidence_requirements": [
|
||||
"filesystem_type",
|
||||
"mount_identity",
|
||||
"read_write_status",
|
||||
"atomic_rename_or_exchange_support",
|
||||
"replace_existing_file_semantics",
|
||||
"file_flush_durability",
|
||||
"directory_flush_durability",
|
||||
"power_loss_behavior",
|
||||
"symlink_no_follow_semantics",
|
||||
"stable_open_object_identity",
|
||||
"ownership_and_mode_preservation",
|
||||
"available_space_and_metadata_capacity",
|
||||
"maximum_file_size",
|
||||
"behavior_while_target_process_has_file_open"
|
||||
],
|
||||
"unproven_platform_properties": [
|
||||
"exact_current_firmware_from_two_device_sources",
|
||||
"current_live_paths_mounts_objects_sizes_and_hashes",
|
||||
"filesystem_type_and_mount_semantics",
|
||||
"atomic_exchange_or_transactional_switch",
|
||||
"file_and_directory_flush_durability",
|
||||
"power_loss_namespace_behavior",
|
||||
"no_follow_and_stable_object_identity",
|
||||
"ownership_mode_and_metadata_preservation",
|
||||
"capacity_and_maximum_file_size",
|
||||
"open_executable_replacement_behavior",
|
||||
"process_service_listener_and_supervisor_topology",
|
||||
"autoload_and_retry_state",
|
||||
"independent_recovery_executor",
|
||||
"second_independent_recovery_path",
|
||||
"byte_exact_reopenable_on_device_payload_manager_backup"
|
||||
],
|
||||
"component_models": [
|
||||
{
|
||||
"component": "hardened_elfldr",
|
||||
"live_preimage": {
|
||||
"classification": "reference_only",
|
||||
"path": null,
|
||||
"mount_id": null,
|
||||
"object_id": null,
|
||||
"size": 397000,
|
||||
"sha256": "092d16ee0ede0c494947efd38d1a17bbd7cc4b022d3858ea898833c188c703e8",
|
||||
"current_device_match": "UNPROVEN"
|
||||
},
|
||||
"backup": {"status": "STOP_GATE", "on_device_present": "UNPROVEN", "reopened_and_verified": false},
|
||||
"candidate": {
|
||||
"classification": "exact_offline_reviewed_reference",
|
||||
"size": 397000,
|
||||
"sha256": "63e810982471eb40cae3a20aa9df9a0a02892f420e429874fae4e99aa400b561",
|
||||
"source_commit": "197623058f509eddde18868dafcb92fdcac66464"
|
||||
},
|
||||
"target_mapping": {"live_path": null, "backup_path": null, "staging_path": null, "status": "UNPROVEN"},
|
||||
"recovery_dependency": "UNPROVEN",
|
||||
"process_service_status": "UNPROVEN",
|
||||
"listener_status": "UNPROVEN",
|
||||
"autoload_status": "UNPROVEN",
|
||||
"approval": false,
|
||||
"staging": "NOT_AUTHORIZED",
|
||||
"switch": {"authorized": false, "primitive": "UNPROVEN", "atomicity": "UNPROVEN", "durability": "UNPROVEN"},
|
||||
"post_switch_verification": "NOT_PERFORMED",
|
||||
"manual_execution": "NOT_AUTHORIZED",
|
||||
"accepted": false,
|
||||
"rollback": "NOT_AUTHORIZED"
|
||||
},
|
||||
{
|
||||
"component": "controlled_payload_manager",
|
||||
"live_preimage": {
|
||||
"classification": "reference_only",
|
||||
"path": null,
|
||||
"mount_id": null,
|
||||
"object_id": null,
|
||||
"size": 2050320,
|
||||
"sha256": "518740adbacccb9094fadb07dd424c53ee290f38306449ccc9d6957fdf813c0b",
|
||||
"current_device_match": "UNPROVEN"
|
||||
},
|
||||
"backup": {"status": "HARD_BLOCKER", "on_device_present": "UNPROVEN", "reopened_and_verified": false},
|
||||
"candidate": {
|
||||
"classification": "exact_offline_reviewed_reference",
|
||||
"size": 99560,
|
||||
"sha256": "8fecf8241a46246eddbd21e8bb4d875f5d76f1f4f4c6a11384df1f131aa5e5b1",
|
||||
"source_commit": "e23d94ff91233aa770e2342800c1467875bdef44"
|
||||
},
|
||||
"target_mapping": {"live_path": null, "backup_path": null, "staging_path": null, "status": "UNPROVEN"},
|
||||
"recovery_dependency": "UNPROVEN",
|
||||
"process_service_status": "UNPROVEN",
|
||||
"listener_status": "UNPROVEN",
|
||||
"autoload_status": "UNPROVEN",
|
||||
"approval": false,
|
||||
"staging": "NOT_AUTHORIZED",
|
||||
"switch": {"authorized": false, "primitive": "UNPROVEN", "atomicity": "UNPROVEN", "durability": "UNPROVEN"},
|
||||
"post_switch_verification": "NOT_PERFORMED",
|
||||
"manual_execution": "NOT_AUTHORIZED",
|
||||
"accepted": false,
|
||||
"rollback": "NOT_AUTHORIZED"
|
||||
}
|
||||
],
|
||||
"component_order": {
|
||||
"selected": null,
|
||||
"reason": "No order is inferred without proven dependency and independent recovery evidence.",
|
||||
"combined_install_all": false,
|
||||
"second_component_requires_first_accepted_or_fully_rolled_back": true
|
||||
},
|
||||
"switch_preference": [
|
||||
"side_by_side_or_dual_slot_without_removing_stock",
|
||||
"proven_atomic_exchange",
|
||||
"proven_transactional_snapshot",
|
||||
"other_method_only_after_separate_proof"
|
||||
],
|
||||
"blockers": [
|
||||
{"id": "READ_ONLY_PREFLIGHT_BLOCKED", "severity": "HARD_STOP"},
|
||||
{"id": "PAYLOAD_MANAGER_BACKUP_NOT_BYTE_EXACT_ON_DEVICE", "severity": "HARD_STOP"},
|
||||
{"id": "NO_PROVEN_POWER_LOSS_SAFE_SWITCH", "severity": "HARD_STOP"},
|
||||
{"id": "FILESYSTEM_ATOMICITY_UNPROVEN", "severity": "STOP"},
|
||||
{"id": "FILE_DURABILITY_UNPROVEN", "severity": "STOP"},
|
||||
{"id": "DIRECTORY_DURABILITY_UNPROVEN", "severity": "STOP"},
|
||||
{"id": "RECOVERY_INDEPENDENCE_UNPROVEN", "severity": "HARD_STOP"},
|
||||
{"id": "CURRENT_LIVE_IDENTITIES_UNPROVEN", "severity": "STOP"},
|
||||
{"id": "CURRENT_PROCESS_AND_SERVICE_TOPOLOGY_UNPROVEN", "severity": "STOP"},
|
||||
{"id": "FIRMWARE_RUNTIME_BEHAVIOR_UNPROVEN", "severity": "STOP"},
|
||||
{"id": "COMPONENT_ORDER_UNPROVEN", "severity": "STOP"},
|
||||
{"id": "ALL_DEVICE_ACTION_AUTHORIZATIONS_FALSE", "severity": "STOP"},
|
||||
{"id": "ANY_UNSAFE_OR_UNPROVEN_POWER_LOSS_BOUNDARY", "severity": "HARD_STOP"}
|
||||
],
|
||||
"proof_requirements_before_future_bounded_observation": [
|
||||
"new exact observation-only human authorization",
|
||||
"exact collector identity and complete side-effect contract",
|
||||
"collector bounded runtime and fail-closed cleanup",
|
||||
"two current authoritative firmware observations",
|
||||
"no installation transfer execution lifecycle autoload retry graphics or RetroArch authority",
|
||||
"exact raw output and reviewer evidence contract",
|
||||
"immutable Phase-0.8 and Phase-0.8R blockers preserved"
|
||||
],
|
||||
"prohibited_actions": [
|
||||
"connect_to_ps5",
|
||||
"use_usb_or_device_transport",
|
||||
"transfer_file",
|
||||
"execute_target_code",
|
||||
"install_or_replace_component",
|
||||
"create_on_device_backup",
|
||||
"change_configuration",
|
||||
"activate_autoload_or_retry",
|
||||
"start_stop_or_signal_process_or_service",
|
||||
"build_target_elf_self_sprx_pkg_or_payload",
|
||||
"build_or_run_lifecycle_probe",
|
||||
"generate_device_install_commands",
|
||||
"modify_hardened_elfldr_production_code",
|
||||
"modify_payload_manager_production_code",
|
||||
"modify_lifecycle_probe_code",
|
||||
"modify_target_toolchain",
|
||||
"modify_graphics_sdl_or_retroarch_code",
|
||||
"contact_network_gitea_or_upstream",
|
||||
"install_packages",
|
||||
"commit_or_push"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,267 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://chimera.invalid/schema/phase-0.9b-observation-plan-v1.json",
|
||||
"title": "Chimera GFX Phase-0.9B non-authorizing observation plan",
|
||||
"description": "Offline review schema only. A conforming plan does not authorize transfer, execution, installation, lifecycle, autoload, backup creation, or retry.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"schema_version",
|
||||
"plan_id",
|
||||
"authorized",
|
||||
"transfer_authorized",
|
||||
"execution_authorized",
|
||||
"installation_authorized",
|
||||
"lifecycle_authorized",
|
||||
"autoload_authorized",
|
||||
"backup_creation_authorized",
|
||||
"automatic_retry",
|
||||
"device_address",
|
||||
"device_identity",
|
||||
"observer",
|
||||
"firmware_gate",
|
||||
"allowed_observations",
|
||||
"read_paths",
|
||||
"output_channel",
|
||||
"maximum_runtime_ms",
|
||||
"maximum_execution_count",
|
||||
"expires_at",
|
||||
"stop_criteria"
|
||||
],
|
||||
"properties": {
|
||||
"schema_version": {
|
||||
"const": 1
|
||||
},
|
||||
"plan_id": {
|
||||
"type": ["string", "null"],
|
||||
"minLength": 1,
|
||||
"maxLength": 128
|
||||
},
|
||||
"authorized": {
|
||||
"const": false
|
||||
},
|
||||
"transfer_authorized": {
|
||||
"const": false
|
||||
},
|
||||
"execution_authorized": {
|
||||
"const": false
|
||||
},
|
||||
"installation_authorized": {
|
||||
"const": false
|
||||
},
|
||||
"lifecycle_authorized": {
|
||||
"const": false
|
||||
},
|
||||
"autoload_authorized": {
|
||||
"const": false
|
||||
},
|
||||
"backup_creation_authorized": {
|
||||
"const": false
|
||||
},
|
||||
"automatic_retry": {
|
||||
"const": false
|
||||
},
|
||||
"device_address": {
|
||||
"const": null
|
||||
},
|
||||
"device_identity": {
|
||||
"type": ["string", "null"],
|
||||
"minLength": 1,
|
||||
"maxLength": 256
|
||||
},
|
||||
"observer": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"sha256",
|
||||
"size",
|
||||
"source_commit",
|
||||
"toolchain_identity"
|
||||
],
|
||||
"properties": {
|
||||
"sha256": {
|
||||
"type": ["string", "null"],
|
||||
"pattern": "^[0-9a-f]{64}$"
|
||||
},
|
||||
"size": {
|
||||
"type": ["integer", "null"],
|
||||
"minimum": 1
|
||||
},
|
||||
"source_commit": {
|
||||
"type": ["string", "null"],
|
||||
"pattern": "^[0-9a-f]{40}$"
|
||||
},
|
||||
"toolchain_identity": {
|
||||
"type": ["string", "null"],
|
||||
"minLength": 1,
|
||||
"maxLength": 512
|
||||
}
|
||||
}
|
||||
},
|
||||
"firmware_gate": {
|
||||
"type": ["string", "null"],
|
||||
"pattern": "^9\\.60$"
|
||||
},
|
||||
"allowed_observations": {
|
||||
"type": "array",
|
||||
"maxItems": 32,
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"enum": [
|
||||
"observer_self_identity",
|
||||
"firmware_source_1",
|
||||
"firmware_source_2",
|
||||
"mount_information",
|
||||
"live_object_metadata",
|
||||
"live_object_sha256",
|
||||
"rollback_object_metadata",
|
||||
"rollback_object_sha256",
|
||||
"process_snapshot",
|
||||
"service_snapshot",
|
||||
"listener_snapshot",
|
||||
"autoload_snapshot"
|
||||
]
|
||||
}
|
||||
},
|
||||
"read_paths": {
|
||||
"type": "array",
|
||||
"maxItems": 16,
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 512
|
||||
}
|
||||
},
|
||||
"output_channel": {
|
||||
"type": ["object", "null"],
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"id",
|
||||
"source_commit",
|
||||
"source_reference",
|
||||
"non_persistent_proof"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 128
|
||||
},
|
||||
"source_commit": {
|
||||
"type": "string",
|
||||
"pattern": "^[0-9a-f]{40}$"
|
||||
},
|
||||
"source_reference": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 512
|
||||
},
|
||||
"non_persistent_proof": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 2048
|
||||
}
|
||||
}
|
||||
},
|
||||
"maximum_runtime_ms": {
|
||||
"type": ["integer", "null"],
|
||||
"minimum": 1,
|
||||
"maximum": 2000
|
||||
},
|
||||
"maximum_execution_count": {
|
||||
"const": 0
|
||||
},
|
||||
"expires_at": {
|
||||
"type": ["string", "null"],
|
||||
"format": "date-time"
|
||||
},
|
||||
"stop_criteria": {
|
||||
"type": "array",
|
||||
"maxItems": 64,
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 512
|
||||
}
|
||||
}
|
||||
},
|
||||
"allOf": [
|
||||
{
|
||||
"if": {
|
||||
"properties": {
|
||||
"allowed_observations": {
|
||||
"minItems": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
"then": {
|
||||
"properties": {
|
||||
"observer": {
|
||||
"properties": {
|
||||
"sha256": {
|
||||
"type": "string"
|
||||
},
|
||||
"size": {
|
||||
"type": "integer"
|
||||
},
|
||||
"source_commit": {
|
||||
"type": "string"
|
||||
},
|
||||
"toolchain_identity": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"firmware_gate": {
|
||||
"const": "9.60"
|
||||
},
|
||||
"device_identity": {
|
||||
"type": "string"
|
||||
},
|
||||
"output_channel": {
|
||||
"type": "object"
|
||||
},
|
||||
"maximum_runtime_ms": {
|
||||
"type": "integer"
|
||||
},
|
||||
"expires_at": {
|
||||
"type": "string"
|
||||
},
|
||||
"stop_criteria": {
|
||||
"minItems": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"x-chimera-default-plan": {
|
||||
"schema_version": 1,
|
||||
"plan_id": null,
|
||||
"authorized": false,
|
||||
"transfer_authorized": false,
|
||||
"execution_authorized": false,
|
||||
"installation_authorized": false,
|
||||
"lifecycle_authorized": false,
|
||||
"autoload_authorized": false,
|
||||
"backup_creation_authorized": false,
|
||||
"automatic_retry": false,
|
||||
"device_address": null,
|
||||
"device_identity": null,
|
||||
"observer": {
|
||||
"sha256": null,
|
||||
"size": null,
|
||||
"source_commit": null,
|
||||
"toolchain_identity": null
|
||||
},
|
||||
"firmware_gate": null,
|
||||
"allowed_observations": [],
|
||||
"read_paths": [],
|
||||
"output_channel": null,
|
||||
"maximum_runtime_ms": null,
|
||||
"maximum_execution_count": 0,
|
||||
"expires_at": null,
|
||||
"stop_criteria": []
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,372 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"phase": "0.9B",
|
||||
"date": "2026-07-18",
|
||||
"scope": "offline_bounded_observer_feasibility_audit_only",
|
||||
"status": "BLOCKED",
|
||||
"decision": [
|
||||
"OBSERVER_STARTUP_OR_EXIT_ABI_UNPROVEN",
|
||||
"NO_PROVEN_NON_PERSISTENT_OUTPUT_CHANNEL"
|
||||
],
|
||||
"baseline_commit": "833874f4196825765e2dfaa28327daea73919d01",
|
||||
"branch": "codex/chimera-gfx-phase09b-observer",
|
||||
"authorization": {
|
||||
"authorized": false,
|
||||
"transfer_authorized": false,
|
||||
"execution_authorized": false,
|
||||
"installation_authorized": false,
|
||||
"lifecycle_authorized": false,
|
||||
"autoload_authorized": false,
|
||||
"backup_creation_authorized": false,
|
||||
"automatic_retry": false
|
||||
},
|
||||
"canonical_state_preserved": {
|
||||
"historical_phase08_status": "READ_ONLY_PREFLIGHT_BLOCKED",
|
||||
"phase09a_status": "DESIGN_ONLY",
|
||||
"firmware_runtime_behavior": "UNPROVEN",
|
||||
"stock_hashes": "reference_only",
|
||||
"payload_manager_backup": "HARD_BLOCKER",
|
||||
"device_contact_performed": false,
|
||||
"device_transfer_performed": false,
|
||||
"device_execution_performed": false
|
||||
},
|
||||
"permanent_denylist_binding": {
|
||||
"sha256": "4be1c17b4964f2b68c39b5145bc4af4619c32512d60269ecf5c39728b390fa63",
|
||||
"status": "BLOCKED",
|
||||
"permanent": true,
|
||||
"execution_eligible": false
|
||||
},
|
||||
"source_commits": {
|
||||
"hardened_elfldr": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"controlled_payload_manager": "e23d94ff91233aa770e2342800c1467875bdef44",
|
||||
"elfldr_public_base": "699e8bcff03e91e8d6ca6eba281af25c5a58d8c2",
|
||||
"payload_manager_public_base": "cfbc70f30f419b09bf2b52283f7409e2d3117ee1",
|
||||
"ps5_payload_sdk_v0_41": "d2e2e585740362976a39fdd5ccf390f199a7bc37",
|
||||
"lifecycle_probe_source": "fe08300339a13f899fb78ea404ada381a5cba87c"
|
||||
},
|
||||
"source_tree_status": {
|
||||
"hardened_elfldr": "clean",
|
||||
"controlled_payload_manager": "clean",
|
||||
"elfldr_public_base": "clean",
|
||||
"payload_manager_public_base": "clean",
|
||||
"ps5_payload_sdk_v0_41": "clean"
|
||||
},
|
||||
"source_evidence": [
|
||||
{
|
||||
"component": "hardened_elfldr_controlled_route",
|
||||
"path": "../chimera-elfldr/socksrv.c",
|
||||
"sha256": "d642ced3e9b4a296dd15e355050ebe956f53a6dfdaa6ac10109cd067a3bba3d7",
|
||||
"lines": ["129-145", "289-365"],
|
||||
"finding": "The controlled route passes stdio=-1 to elfldr_spawn and sends only a fixed loader-generated exit message."
|
||||
},
|
||||
{
|
||||
"component": "hardened_elfldr_entry_and_stdio",
|
||||
"path": "../chimera-elfldr/elfldr.c",
|
||||
"sha256": "9949f8e4037984d10f1f5aa498e4665593d1fac8a33614d7f2141349839bb803",
|
||||
"lines": ["273-415", "450-545", "643-759"],
|
||||
"finding": "The loader places payload_args_t in RDI and a saved RIP on the stack; stdio duplication occurs only when stdio>0. The loader also performs process and kernel mutations before entry."
|
||||
},
|
||||
{
|
||||
"component": "hardened_elfldr_log",
|
||||
"path": "../chimera-elfldr/log.h",
|
||||
"sha256": "cf1a85e7b047fbd4164b48241896fd955d384efc7e475a54fb24a62f53d2029e",
|
||||
"lines": ["1-49"],
|
||||
"finding": "Logging targets stdout and klog; neither is a proven controlled observer response channel."
|
||||
},
|
||||
{
|
||||
"component": "controlled_payload_manager_transport",
|
||||
"path": "../chimera-ps5-payload-manager/src/verified_launcher.c",
|
||||
"sha256": "066100ca4917c7acc560e2e85666ca136cd7ccfd9094417377048f41106dd56e",
|
||||
"lines": ["31-116", "119-185"],
|
||||
"finding": "The verified transport opens and hashes read-only, sends a header and bytes, then closes without receiving a payload result."
|
||||
},
|
||||
{
|
||||
"component": "controlled_payload_manager_loopback_adapter",
|
||||
"path": "../chimera-ps5-payload-manager/src/ps5_launcher.c",
|
||||
"sha256": "29c1a5fd01784a59e88b3698940f120cb03020071bc2b7d74a1da1a51524ef59",
|
||||
"lines": ["18-70"],
|
||||
"finding": "The adapter provides connect, send_all and close_socket only; no receive callback exists."
|
||||
},
|
||||
{
|
||||
"component": "controlled_payload_manager_service",
|
||||
"path": "../chimera-ps5-payload-manager/src/controlled_manager.c",
|
||||
"sha256": "042b55b2cece32effed636529249fd18061a2fe3c5e70c7f755f2817cfb84b99",
|
||||
"lines": ["208-235", "243-365"],
|
||||
"finding": "The manager is a persistent listener and its upload/delete paths mutate files; it is not an admissible observer output collector."
|
||||
},
|
||||
{
|
||||
"component": "sdk_crt_startup",
|
||||
"path": "work/upstream/sdk/crt/crt.c",
|
||||
"sha256": "3875f4739ec40b33f1f4967a1acbb585a527d2c281a360153e1f69c8b945932a",
|
||||
"lines": ["48-80", "150-220"],
|
||||
"finding": "Normal _start invokes runtime initialization and __patch_init before main; its terminate path depends on runtime symbol resolution or returning to a hijacked process."
|
||||
},
|
||||
{
|
||||
"component": "sdk_crt_patch",
|
||||
"path": "work/upstream/sdk/crt/patch.c",
|
||||
"sha256": "4f76a677bba54f4641e1cf2755768c29afb7464a35b2f21e85db2aa2785eceac",
|
||||
"lines": ["25-50", "58-101"],
|
||||
"finding": "__patch_init writes syscall boundaries, credential capabilities and attributes."
|
||||
},
|
||||
{
|
||||
"component": "sdk_crt_object_set",
|
||||
"path": "work/upstream/sdk/crt/Makefile",
|
||||
"sha256": "6a62f777f32ab05cbe7bff81c00cfd6639ba8bf440aba611a40ff0b62732568b",
|
||||
"lines": ["19-26", "50-54"],
|
||||
"finding": "crt1.o transitively contains crt, syscall, klog, kernel, rtld, mdbg and patch objects."
|
||||
},
|
||||
{
|
||||
"component": "sdk_compiler_wrapper",
|
||||
"path": "work/upstream/sdk/host/bin/prospero-clang",
|
||||
"sha256": "0cf49ae43d6110a7606c0ee4d702fc4b5d5e1c3ae9a722945a48b80294e295ba",
|
||||
"lines": ["25-47", "69-84"],
|
||||
"finding": "The wrapper adds crt1.o unless -nostartfiles is present and removes default libraries for -nodefaultlibs."
|
||||
},
|
||||
{
|
||||
"component": "sdk_linker_script",
|
||||
"path": "work/upstream/sdk/host/elf_x86_64.x",
|
||||
"sha256": "169b80d01da601ef96bbc584986608dec1d9c01397eae81eccd4e1a66b0a6c6a",
|
||||
"finding": "The script defines image, init/fini and BSS boundaries but does not prove loader cleanup after a custom entry returns."
|
||||
},
|
||||
{
|
||||
"component": "installed_sdk_crt1",
|
||||
"path": "work/toolchains/ps5-payload-sdk-v0.41/target/lib/crt1.o",
|
||||
"size": 112256,
|
||||
"sha256": "0e4c1e5e38f22026580e856238a53e75d9e112f99a34bfe5495a3a0ffac15238",
|
||||
"finding": "Installed startup object identity recorded; it was not linked into a Phase-0.9B artifact."
|
||||
},
|
||||
{
|
||||
"component": "lifecycle_probe_source",
|
||||
"path": "samples/lifecycle_probe/main.c",
|
||||
"sha256": "1ae7df1fe921ccab2a252f77975d3d441ef7725e34535b024580c0d4a242d766",
|
||||
"finding": "The prior lifecycle probe uses the normal SDK runtime, a notification API and _exit; it is unchanged and is not an observer ABI proof."
|
||||
}
|
||||
],
|
||||
"capability_matrix": [
|
||||
{
|
||||
"needed_fact": "firmware_source_1",
|
||||
"local_api": "kernel_get_fw_version reads sdk_ps5_ver from libSceLibcInternal process parameters",
|
||||
"source": "work/upstream/sdk/crt/kernel.c:148-171",
|
||||
"evidence": "SOURCE_PRESENT_RUNTIME_UNPROVEN",
|
||||
"implement": false
|
||||
},
|
||||
{
|
||||
"needed_fact": "firmware_source_2",
|
||||
"local_api": null,
|
||||
"source": null,
|
||||
"evidence": "UNPROVEN",
|
||||
"implement": false
|
||||
},
|
||||
{
|
||||
"needed_fact": "file_metadata",
|
||||
"local_api": "open(O_RDONLY|O_NOFOLLOW|O_CLOEXEC), fstat, lstat, close",
|
||||
"source": "../chimera-ps5-payload-manager/src/verified_launcher.c:76-115,174-184",
|
||||
"evidence": "SOURCE_AND_HOST_TEST_EVIDENCE_ONLY",
|
||||
"implement": false
|
||||
},
|
||||
{
|
||||
"needed_fact": "object_identity",
|
||||
"local_api": "st_dev, st_ino and st_size pre/post comparison",
|
||||
"source": "../chimera-ps5-payload-manager/src/verified_launcher.c:26-29,87-101,174-176",
|
||||
"evidence": "SOURCE_AND_HOST_TEST_EVIDENCE_ONLY",
|
||||
"implement": false
|
||||
},
|
||||
{
|
||||
"needed_fact": "sha256",
|
||||
"local_api": "bounded SHA-256 over an already-open descriptor",
|
||||
"source": "../chimera-ps5-payload-manager/src/verified_launcher.c:31-55 and src/sha256.c",
|
||||
"evidence": "SOURCE_AND_HOST_TEST_EVIDENCE_ONLY",
|
||||
"implement": false
|
||||
},
|
||||
{
|
||||
"needed_fact": "mount_information",
|
||||
"local_api": "getmntinfo/getfsstat sample",
|
||||
"source": "work/upstream/sdk/samples/mntinfo/main.c and libc/getmntinfo.c",
|
||||
"evidence": "SDK_SAMPLE_PRESENT_FIRMWARE_9_60_RUNTIME_UNPROVEN",
|
||||
"implement": false
|
||||
},
|
||||
{
|
||||
"needed_fact": "processes_services",
|
||||
"local_api": "sysctl KERN_PROC snapshot sample; no complete service mapping",
|
||||
"source": "work/upstream/sdk/samples/ps/main.c",
|
||||
"evidence": "PARTIAL_SOURCE_PRESENT_RUNTIME_AND_SERVICE_SEMANTICS_UNPROVEN",
|
||||
"implement": false
|
||||
},
|
||||
{
|
||||
"needed_fact": "listeners",
|
||||
"local_api": null,
|
||||
"source": null,
|
||||
"evidence": "UNPROVEN",
|
||||
"implement": false
|
||||
},
|
||||
{
|
||||
"needed_fact": "autoload_configuration",
|
||||
"local_api": "stock config readers exist but paths are not current-device evidence and HTTP status routes mutate global state",
|
||||
"source": "../chimera-ps5-payload-manager/src/config.c, src/autoload.c, src/http_server.c",
|
||||
"evidence": "UNSAFE_OR_UNPROVEN",
|
||||
"implement": false
|
||||
},
|
||||
{
|
||||
"needed_fact": "output_channel",
|
||||
"local_api": null,
|
||||
"source": "../chimera-elfldr/socksrv.c:129-145,361-365; ../chimera-ps5-payload-manager/src/ps5_launcher.c:18-70",
|
||||
"evidence": "PROVEN_ABSENT_ON_CONTROLLED_ROUTE",
|
||||
"implement": false
|
||||
},
|
||||
{
|
||||
"needed_fact": "monotonic_time_deadline",
|
||||
"local_api": "clock_gettime(CLOCK_MONOTONIC) used by hardened loader watchdog",
|
||||
"source": "../chimera-elfldr/ps5_controlled.c:26-59",
|
||||
"evidence": "SOURCE_AND_HOST_TEST_EVIDENCE_ONLY",
|
||||
"implement": false
|
||||
},
|
||||
{
|
||||
"needed_fact": "process_exit",
|
||||
"local_api": "normal CRT payload_terminate/payload_exit or custom entry return",
|
||||
"source": "work/upstream/sdk/crt/crt.c:150-220; ../chimera-elfldr/elfldr.c:380-415",
|
||||
"evidence": "OBSERVER_STARTUP_OR_EXIT_ABI_UNPROVEN",
|
||||
"implement": false
|
||||
}
|
||||
],
|
||||
"build_gate": {
|
||||
"startup_and_exit_abi_proven": false,
|
||||
"non_persistent_output_channel_proven": false,
|
||||
"normal_sdk_crt_kernelwrite_free": false,
|
||||
"custom_freestanding_cleanup_proven": false,
|
||||
"observer_source_created": false,
|
||||
"observer_target_declared": false,
|
||||
"target_build_performed": false,
|
||||
"double_clean_build_performed": false,
|
||||
"reason": "BLOCKED_BEFORE_SOURCE_AND_BUILD"
|
||||
},
|
||||
"implementation": {
|
||||
"observer_only": true,
|
||||
"observer_logic_implemented": false,
|
||||
"observations_implemented": [],
|
||||
"unsupported_or_unproven": [
|
||||
"observer_self_identity_at_runtime",
|
||||
"firmware_source_1_at_runtime",
|
||||
"firmware_source_2",
|
||||
"mount_and_filesystem_information",
|
||||
"live_object_metadata",
|
||||
"live_sha256",
|
||||
"rollback_object_metadata_and_sha256",
|
||||
"processes_and_services",
|
||||
"listeners",
|
||||
"autoload_state",
|
||||
"bounded_runtime_output",
|
||||
"safe_process_exit"
|
||||
],
|
||||
"host_contract_model_only": "tests/phase09b_observer_model.py"
|
||||
},
|
||||
"artifact": {
|
||||
"present": false,
|
||||
"path": null,
|
||||
"sha256": null,
|
||||
"size": null,
|
||||
"imports": [],
|
||||
"undefined_symbols": [],
|
||||
"dynamic_dependencies": [],
|
||||
"network_functions": [],
|
||||
"filesystem_reads": [],
|
||||
"installation_eligible": false,
|
||||
"lifecycle_eligible": false,
|
||||
"autoload_eligible": false,
|
||||
"execution_authorized": false,
|
||||
"execution_eligible": false
|
||||
},
|
||||
"static_artifact_audit": {
|
||||
"status": "NOT_PERFORMED_BLOCKED_BEFORE_BUILD",
|
||||
"elf_headers": "NOT_APPLICABLE_NO_ARTIFACT",
|
||||
"program_headers": "NOT_APPLICABLE_NO_ARTIFACT",
|
||||
"section_headers": "NOT_APPLICABLE_NO_ARTIFACT",
|
||||
"dynamic_dependencies": "NOT_APPLICABLE_NO_ARTIFACT",
|
||||
"imports_and_undefined_symbols": "NOT_APPLICABLE_NO_ARTIFACT",
|
||||
"exports": "NOT_APPLICABLE_NO_ARTIFACT",
|
||||
"relocations": "NOT_APPLICABLE_NO_ARTIFACT",
|
||||
"linker_map": "NOT_CREATED",
|
||||
"callgraph": "NOT_CREATED",
|
||||
"disassembly": "NOT_CREATED",
|
||||
"strings": "NOT_APPLICABLE_NO_ARTIFACT",
|
||||
"denied_capabilities": "NOT_APPLICABLE_NO_ARTIFACT",
|
||||
"filesystem_open_flags": "NOT_APPLICABLE_NO_ARTIFACT",
|
||||
"network": "NOT_APPLICABLE_NO_ARTIFACT",
|
||||
"threads_and_loops": "NOT_APPLICABLE_NO_ARTIFACT",
|
||||
"kernelwrites": "NOT_APPLICABLE_NO_ARTIFACT"
|
||||
},
|
||||
"reproducibility": {
|
||||
"status": "NOT_PERFORMED_BLOCKED_BEFORE_BUILD",
|
||||
"build_1_sha256": null,
|
||||
"build_2_sha256": null,
|
||||
"byte_identical": null,
|
||||
"toolchain": {
|
||||
"sdk_release": "v0.41",
|
||||
"sdk_commit": "d2e2e585740362976a39fdd5ccf390f199a7bc37",
|
||||
"installed_crt1_sha256": "0e4c1e5e38f22026580e856238a53e75d9e112f99a34bfe5495a3a0ffac15238",
|
||||
"current_windows_wrapper_executable_available": false
|
||||
}
|
||||
},
|
||||
"default_observation_plan": {
|
||||
"schema_version": 1,
|
||||
"plan_id": null,
|
||||
"authorized": false,
|
||||
"transfer_authorized": false,
|
||||
"execution_authorized": false,
|
||||
"installation_authorized": false,
|
||||
"lifecycle_authorized": false,
|
||||
"autoload_authorized": false,
|
||||
"backup_creation_authorized": false,
|
||||
"automatic_retry": false,
|
||||
"device_address": null,
|
||||
"device_identity": null,
|
||||
"observer": {
|
||||
"sha256": null,
|
||||
"size": null,
|
||||
"source_commit": null,
|
||||
"toolchain_identity": null
|
||||
},
|
||||
"firmware_gate": null,
|
||||
"allowed_observations": [],
|
||||
"read_paths": [],
|
||||
"output_channel": null,
|
||||
"maximum_runtime_ms": null,
|
||||
"maximum_execution_count": 0,
|
||||
"expires_at": null,
|
||||
"stop_criteria": []
|
||||
},
|
||||
"remaining_anti_brick_blockers": [
|
||||
"two_current_firmware_sources_absent",
|
||||
"current_live_paths_absent",
|
||||
"current_live_object_identities_absent",
|
||||
"current_live_sizes_and_sha256_absent",
|
||||
"mount_and_filesystem_properties_absent",
|
||||
"processes_and_services_absent",
|
||||
"listeners_absent",
|
||||
"autoload_state_absent",
|
||||
"rollback_backups_absent",
|
||||
"payload_manager_backup_hard_blocker",
|
||||
"recovery_independence_unproven",
|
||||
"power_loss_safe_switch_unproven",
|
||||
"component_order_unproven",
|
||||
"observer_startup_or_exit_abi_unproven",
|
||||
"no_proven_non_persistent_output_channel"
|
||||
],
|
||||
"prohibited_actions": [
|
||||
"connect_to_ps5",
|
||||
"scan_ps5_ports",
|
||||
"use_usb",
|
||||
"transfer_observer",
|
||||
"execute_observer_or_elf",
|
||||
"install_or_replace_component",
|
||||
"create_backup",
|
||||
"change_configuration",
|
||||
"activate_autoload_or_retry",
|
||||
"reboot",
|
||||
"start_stop_restart_or_signal_process_or_service",
|
||||
"modify_hardened_elfldr_runtime",
|
||||
"modify_controlled_payload_manager_runtime",
|
||||
"modify_lifecycle_probe",
|
||||
"build_observer_until_both_hard_gates_are_proven",
|
||||
"start_graphics_sdl_retroarch_or_gnm_work"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,416 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"phase": "0.9C",
|
||||
"date": "2026-07-18",
|
||||
"scope": "offline_observer_execution_feasibility_closure_only",
|
||||
"status": "BLOCKED",
|
||||
"classification": "BLOCKED_MULTIPLE_FOUNDATIONAL_CONTRACTS",
|
||||
"baseline_commit": "3ddc213ea67bb286256ae42e52c65e00488608ca",
|
||||
"branch": "codex/chimera-gfx-phase09c-execution-feasibility",
|
||||
"authorization": {
|
||||
"authorized": false,
|
||||
"transfer_authorized": false,
|
||||
"execution_authorized": false,
|
||||
"installation_authorized": false,
|
||||
"lifecycle_authorized": false,
|
||||
"autoload_authorized": false,
|
||||
"backup_creation_authorized": false,
|
||||
"observer_build_authorized": false,
|
||||
"automatic_retry": false
|
||||
},
|
||||
"canonical_state_preserved": {
|
||||
"historical_phase08_status": "READ_ONLY_PREFLIGHT_BLOCKED",
|
||||
"phase09a_status": "DESIGN_ONLY",
|
||||
"phase09b_status": "BLOCKED",
|
||||
"firmware_runtime_behavior": "UNPROVEN",
|
||||
"stock_hashes": "reference_only",
|
||||
"payload_manager_backup": "HARD_BLOCKER",
|
||||
"device_contact_performed": false,
|
||||
"device_transfer_performed": false,
|
||||
"device_execution_performed": false,
|
||||
"target_build_performed": false
|
||||
},
|
||||
"permanent_denylist_binding": {
|
||||
"sha256": "4be1c17b4964f2b68c39b5145bc4af4619c32512d60269ecf5c39728b390fa63",
|
||||
"status": "BLOCKED",
|
||||
"permanent": true,
|
||||
"execution_eligible": false
|
||||
},
|
||||
"source_commits": {
|
||||
"hardened_elfldr": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"controlled_payload_manager": "e23d94ff91233aa770e2342800c1467875bdef44",
|
||||
"elfldr_public_base": "699e8bcff03e91e8d6ca6eba281af25c5a58d8c2",
|
||||
"payload_manager_public_base": "cfbc70f30f419b09bf2b52283f7409e2d3117ee1",
|
||||
"ps5_payload_sdk_v0_41": "d2e2e585740362976a39fdd5ccf390f199a7bc37",
|
||||
"lifecycle_probe_source": "fe08300339a13f899fb78ea404ada381a5cba87c"
|
||||
},
|
||||
"source_tree_status": {
|
||||
"hardened_elfldr": "clean",
|
||||
"controlled_payload_manager": "clean",
|
||||
"elfldr_public_base": "clean",
|
||||
"payload_manager_public_base": "clean",
|
||||
"ps5_payload_sdk_v0_41": "clean"
|
||||
},
|
||||
"source_evidence": [
|
||||
{
|
||||
"component": "hardened_elfldr_entry_mapper",
|
||||
"path": "../chimera-elfldr/elfldr.c",
|
||||
"sha256": "9949f8e4037984d10f1f5aa498e4665593d1fac8a33614d7f2141349839bb803",
|
||||
"lines": ["80-265", "273-415", "480-545", "643-769"],
|
||||
"finding": "Maps the payload and child-owned argument resources, installs a synthetic return address, sets RIP/RDI, restores credentials, and detaches without a proven observer return contract."
|
||||
},
|
||||
{
|
||||
"component": "hardened_elfldr_controlled_route",
|
||||
"path": "../chimera-elfldr/socksrv.c",
|
||||
"sha256": "d642ced3e9b4a296dd15e355050ebe956f53a6dfdaa6ac10109cd067a3bba3d7",
|
||||
"lines": ["129-215", "289-375"],
|
||||
"finding": "Passes stdio=-1, invokes the watchdog, discards payload data, and writes only fixed loader text."
|
||||
},
|
||||
{
|
||||
"component": "hardened_cleanup_model",
|
||||
"path": "../chimera-elfldr/controlled_runtime.c",
|
||||
"sha256": "10145f3bbb3b54e3d715b1667e45c6f12d3c7f52a04342ab104ec8dd49e384c9",
|
||||
"lines": ["60-92", "95-143", "146-250"],
|
||||
"finding": "Bounds ptrace preparation and models pre-detach cleanup plus a SIGTERM/SIGKILL watchdog; signal termination is not a safe observer exit."
|
||||
},
|
||||
{
|
||||
"component": "hardened_ps5_cleanup_adapter",
|
||||
"path": "../chimera-elfldr/ps5_controlled.c",
|
||||
"sha256": "68717ef1cc31c483743c5af325c59e73a90f66e93b880b989e349a4ddc748772",
|
||||
"lines": ["26-59", "132-220"],
|
||||
"finding": "Uses waitpid but discards child status and exposes no payload result copy-out."
|
||||
},
|
||||
{
|
||||
"component": "controlled_manager_send_only_transport",
|
||||
"path": "../chimera-ps5-payload-manager/src/verified_launcher.c",
|
||||
"sha256": "066100ca4917c7acc560e2e85666ca136cd7ccfd9094417377048f41106dd56e",
|
||||
"lines": ["31-184"],
|
||||
"finding": "Hashes and sends one descriptor, then closes; there is no receive operation."
|
||||
},
|
||||
{
|
||||
"component": "controlled_manager_loopback_adapter",
|
||||
"path": "../chimera-ps5-payload-manager/src/ps5_launcher.c",
|
||||
"sha256": "29c1a5fd01784a59e88b3698940f120cb03020071bc2b7d74a1da1a51524ef59",
|
||||
"lines": ["18-69"],
|
||||
"finding": "Defines connect_loopback, send_all, and close_socket only."
|
||||
},
|
||||
{
|
||||
"component": "sdk_normal_crt",
|
||||
"path": "work/upstream/sdk/crt/crt.c",
|
||||
"sha256": "3875f4739ec40b33f1f4967a1acbb585a527d2c281a360153e1f69c8b945932a",
|
||||
"lines": ["30-80", "88-180", "193-220"],
|
||||
"finding": "Clears BSS, initializes syscall/kernel/klog/rtld, calls __patch_init before main, and chooses return/exit/trap at termination."
|
||||
},
|
||||
{
|
||||
"component": "sdk_patch",
|
||||
"path": "work/upstream/sdk/crt/patch.c",
|
||||
"sha256": "4f76a677bba54f4641e1cf2755768c29afb7464a35b2f21e85db2aa2785eceac",
|
||||
"lines": ["27-100"],
|
||||
"finding": "Writes credential capabilities/attributes and syscall address bounds."
|
||||
},
|
||||
{
|
||||
"component": "sdk_crt_object_set",
|
||||
"path": "work/upstream/sdk/crt/Makefile",
|
||||
"sha256": "6a62f777f32ab05cbe7bff81c00cfd6639ba8bf440aba611a40ff0b62732568b",
|
||||
"lines": ["19-26", "50-54"],
|
||||
"finding": "The normal crt1.o transitively includes patch, kernel, rtld, and related startup objects."
|
||||
},
|
||||
{
|
||||
"component": "sdk_compiler_wrapper",
|
||||
"path": "work/upstream/sdk/host/bin/prospero-clang",
|
||||
"sha256": "0cf49ae43d6110a7606c0ee4d702fc4b5d5e1c3ae9a722945a48b80294e295ba",
|
||||
"lines": ["25-46", "69-84"],
|
||||
"finding": "-nostartfiles and -nodefaultlibs can suppress CRT and default libraries but do not prove a usable startup ABI."
|
||||
},
|
||||
{
|
||||
"component": "sdk_linker_script",
|
||||
"path": "work/upstream/sdk/host/elf_x86_64.x",
|
||||
"sha256": "169b80d01da601ef96bbc584986608dec1d9c01397eae81eccd4e1a66b0a6c6a",
|
||||
"lines": ["17-92"],
|
||||
"finding": "Defines image, arrays, dynamic, data, and BSS boundaries; it does not prove loader initialization or cleanup."
|
||||
},
|
||||
{
|
||||
"component": "sdk_kernel_firmware_source_one",
|
||||
"path": "work/upstream/sdk/crt/kernel.c",
|
||||
"sha256": "ac1c375aae8d3cb1be5fb8bad2f4e6492b6ec1f1450977b534202f46b5b70321",
|
||||
"lines": ["148-170"],
|
||||
"finding": "Reads sdk_ps5_ver from the libSceLibcInternal process parameter; not an independent second current system source."
|
||||
},
|
||||
{
|
||||
"component": "sdk_firmware_export_name_only",
|
||||
"path": "work/upstream/sdk/sce_stubs/libkernel_web.c",
|
||||
"sha256": "dca70757a0680ede52502fe7db10060fe30506f7ed0adfc43ce00700145ab4ff",
|
||||
"lines": ["2358-2360"],
|
||||
"finding": "sceKernelGetProsperoSystemSwVersion is a name-only export stub without an accepted prototype or semantics and is not source two."
|
||||
},
|
||||
{
|
||||
"component": "lifecycle_probe_source",
|
||||
"path": "samples/lifecycle_probe/main.c",
|
||||
"sha256": "1ae7df1fe921ccab2a252f77975d3d441ef7725e34535b024580c0d4a242d766",
|
||||
"finding": "Historical normal-CRT lifecycle source is unchanged and is not an observer startup or output proof."
|
||||
}
|
||||
],
|
||||
"immutable_evidence": {
|
||||
"phase08": {
|
||||
"commit": "2c944d6d65a08f7e1c02f518721cde061b999329",
|
||||
"files": {
|
||||
"docs/runtime/phase-0.8-read-only-preflight.md": "3fbe086175a6048176075f447ec1482074928e3b5282db97ea2169395fe1d508",
|
||||
"manifests/runtime/phase-0.8-read-only-preflight.json": "47d7f452f8799979fe99b3e6d56859f03544112725bf7e5b349eba5ed81b3322",
|
||||
"tests/test_phase08_preflight.py": "8a4ad7c70de28ffe3148fd3fd1f68c36a872c53c691c9068e1ff163970863c48"
|
||||
}
|
||||
},
|
||||
"phase09a_manifest_sha256": "39fd7c70cae998d9d74e7caf1ff3c19f9f76f7de2e5a50bc09baede4ba53e9e9",
|
||||
"phase09b_manifest_sha256": "104c4a667ad17f9827fc7276852c6faeef96effb8e3561a5ebc19a62c7d51634",
|
||||
"phase09b_schema_sha256": "efcea3b0001ef5b2da65c372ceb93ee2fec09c9331b2e4cbb6008212504c0918"
|
||||
},
|
||||
"startup_exit": {
|
||||
"normal_sdk_kernelwrite_free": false,
|
||||
"normal_sdk_status": "PROVEN_SIDE_EFFECTING",
|
||||
"freestanding_mechanically_linkable": true,
|
||||
"freestanding_dependency_closure_proven": false,
|
||||
"stack_alignment_proven": false,
|
||||
"complete_relocation_and_bss_tls_contract_proven": false,
|
||||
"callable_read_and_time_abi_proven": false,
|
||||
"safe_return_proven": false,
|
||||
"safe_process_exit_proven": false,
|
||||
"error_exit_proven": false,
|
||||
"timeout_safe_exit_proven": false,
|
||||
"complete_cleanup_proven": false,
|
||||
"blockers": [
|
||||
"normal_sdk_reaches_prohibited_patch_writes",
|
||||
"freestanding_stack_alignment_unproven",
|
||||
"freestanding_bss_relocation_tls_closure_unproven",
|
||||
"freestanding_read_and_monotonic_time_abi_absent",
|
||||
"return_resumes_unproven_process_continuation",
|
||||
"process_exit_and_status_delivery_unproven",
|
||||
"timeout_relies_on_inadmissible_signal_termination",
|
||||
"post_detach_mapping_descriptor_and_manager_cleanup_unproven"
|
||||
]
|
||||
},
|
||||
"output_architectures": [
|
||||
{
|
||||
"id": "D1_CALLER_OWNED_BOUNDED_BUFFER",
|
||||
"status": "CONCEPT_FEASIBLE_REQUIRES_LOADER_CHANGE_AND_EXIT_PROOF",
|
||||
"current_implementation": false,
|
||||
"reason": "Current payloadout is child-owned mapped memory and is never copied out; a future caller-owned buffer remains a host-only contract."
|
||||
},
|
||||
{
|
||||
"id": "D2_EXISTING_REQUEST_RESPONSE",
|
||||
"status": "REJECTED_SEND_ONLY_NO_RESULT_RECEIVE",
|
||||
"current_implementation": false,
|
||||
"reason": "The manager connects, sends, and closes without a receive callback."
|
||||
},
|
||||
{
|
||||
"id": "D3_LOADER_OWNED_STATUS_RECORD",
|
||||
"status": "UNPROVEN_REQUIRES_LOADER_STATE_AND_PROPAGATION_CHANGE",
|
||||
"current_implementation": false,
|
||||
"reason": "The current waiter discards status and no per-request record is propagated."
|
||||
},
|
||||
{
|
||||
"id": "D4_PROCESS_EXIT_STATUS",
|
||||
"status": "REJECTED_WAIT_STATUS_DISCARDED_AND_AMBIGUOUS",
|
||||
"current_implementation": false,
|
||||
"reason": "Exit/crash/signal status is discarded and cannot carry the observation dataset."
|
||||
}
|
||||
],
|
||||
"host_protocol": {
|
||||
"model": "tests/phase09c_feasibility_model.py",
|
||||
"host_only": true,
|
||||
"target_implemented": false,
|
||||
"magic": "CHG09C01",
|
||||
"version": 1,
|
||||
"header_size": 256,
|
||||
"maximum_output_size": 4096,
|
||||
"maximum_body_size": 3840,
|
||||
"integer_encoding": "unsigned_big_endian",
|
||||
"execution_nonce_bytes": 16,
|
||||
"request_id_bytes": 16,
|
||||
"firmware_field_bytes": 8,
|
||||
"artifact_hash_algorithm": "sha256",
|
||||
"body_checksum_algorithm": "sha256",
|
||||
"result_checksum_algorithm": "sha256",
|
||||
"completion_marker": "COMPLETE",
|
||||
"result_checksum_zeroed_fields": [
|
||||
"result_checksum",
|
||||
"completion_marker"
|
||||
],
|
||||
"required_fields": [
|
||||
"magic",
|
||||
"protocol_version",
|
||||
"execution_nonce",
|
||||
"request_id",
|
||||
"firmware_source_1",
|
||||
"firmware_source_2",
|
||||
"observer_version",
|
||||
"maximum_output_size",
|
||||
"actual_output_size",
|
||||
"status",
|
||||
"requested_capability_bitmap",
|
||||
"observed_capability_bitmap",
|
||||
"unsupported_capability_bitmap",
|
||||
"truncation_flag",
|
||||
"artifact_sha256",
|
||||
"body_checksum",
|
||||
"result_checksum",
|
||||
"deadline_monotonic_ns",
|
||||
"completion_marker",
|
||||
"cleanup_status"
|
||||
],
|
||||
"pointers_present": false,
|
||||
"dynamic_growth": false,
|
||||
"fail_closed_conditions": [
|
||||
"unknown_version",
|
||||
"bad_size_or_checked_arithmetic_failure",
|
||||
"stale_nonce_or_request_id",
|
||||
"duplicate_result",
|
||||
"missing_or_conflicting_firmware_source",
|
||||
"artifact_hash_mismatch",
|
||||
"checksum_failure",
|
||||
"timeout",
|
||||
"incomplete_completion_marker",
|
||||
"truncation",
|
||||
"observer_failure",
|
||||
"cleanup_not_proven",
|
||||
"capability_bitmap_incomplete_or_conflicting"
|
||||
]
|
||||
},
|
||||
"firmware": {
|
||||
"expected": "9.60",
|
||||
"source_one": {
|
||||
"identity": "sdk_kernel_get_fw_version_libSceLibcInternal_sdk_ps5_ver",
|
||||
"status": "SOURCE_PRESENT_RUNTIME_UNPROVEN_NOT_INDEPENDENT",
|
||||
"nonce_bound_runtime_result_present": false
|
||||
},
|
||||
"source_two": {
|
||||
"identity": null,
|
||||
"status": "ABSENT",
|
||||
"export_name_candidate_accepted": false,
|
||||
"nonce_bound_runtime_result_present": false
|
||||
},
|
||||
"agreement_proven": false,
|
||||
"gate": "BLOCKED_FIRMWARE_SOURCE_INCOMPLETE",
|
||||
"conflict_policy": "BLOCKED_NO_SOURCE_PREFERENCE"
|
||||
},
|
||||
"side_effect_model": {
|
||||
"no_persistent_content_write_is_side_effect_free": false,
|
||||
"read_only_flag_is_side_effect_free": false,
|
||||
"all_planned_observations_proven_side_effect_free": false,
|
||||
"dimensions": [
|
||||
"content",
|
||||
"metadata",
|
||||
"atime",
|
||||
"audit",
|
||||
"cache",
|
||||
"counters",
|
||||
"service_state",
|
||||
"security_monitoring",
|
||||
"open_bookkeeping",
|
||||
"process_accounting",
|
||||
"object_lifetime",
|
||||
"races"
|
||||
],
|
||||
"classifications": [
|
||||
"SEMANTICALLY_READONLY",
|
||||
"METADATA_EFFECT_POSSIBLE",
|
||||
"ATIME_EFFECT_POSSIBLE",
|
||||
"AUDIT_EFFECT_POSSIBLE",
|
||||
"CACHE_EFFECT_POSSIBLE",
|
||||
"COUNTER_EFFECT_POSSIBLE",
|
||||
"SERVICE_STATE_EFFECT_POSSIBLE",
|
||||
"SECURITY_MONITORING_EFFECT_POSSIBLE",
|
||||
"OPEN_BOOKKEEPING_EFFECT_POSSIBLE",
|
||||
"PROCESS_ACCOUNTING_EFFECT_POSSIBLE",
|
||||
"OBJECT_LIFETIME_EFFECT_POSSIBLE",
|
||||
"OBJECT_RACE_POSSIBLE",
|
||||
"NOT_PROVABLY_SIDE_EFFECT_FREE"
|
||||
],
|
||||
"gate": "BLOCKED_OBSERVATION_SIDE_EFFECTS_UNBOUNDED"
|
||||
},
|
||||
"capability_closure": [
|
||||
{"id": "runtime_self_identity", "source_evidence": "future_protocol_fields_only", "host_evidence": "binding_modelled", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "no_target_artifact_or_runtime_binding"},
|
||||
{"id": "firmware_source_1", "source_evidence": "sdk_crt_kernel_c_148_170", "host_evidence": "result_binding_modelled", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "runtime_unproven_and_not_independent"},
|
||||
{"id": "firmware_source_2", "source_evidence": "name_only_stub_rejected", "host_evidence": "missing_and_conflict_fail_closed", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "accepted_independent_source_absent"},
|
||||
{"id": "mount_query", "source_evidence": "sdk_sample_only", "host_evidence": "unsupported_representable", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "abi_completeness_runtime_and_effects_unproven"},
|
||||
{"id": "metadata", "source_evidence": "manager_no_follow_pattern", "host_evidence": "error_framing_modelled", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "target_semantics_and_effects_unproven"},
|
||||
{"id": "object_id", "source_evidence": "manager_stat_comparison", "host_evidence": "completeness_modelled", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "stable_identity_and_race_contract_unproven"},
|
||||
{"id": "size", "source_evidence": "manager_exact_size_comparison", "host_evidence": "checked_lengths_modelled", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "current_stable_object_absent"},
|
||||
{"id": "sha256", "source_evidence": "manager_bounded_same_fd_hash", "host_evidence": "checksum_failures_rejected", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "read_effects_paths_and_stable_object_absent"},
|
||||
{"id": "processes", "source_evidence": "partial_sdk_sample", "host_evidence": "unsupported_representable", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "complete_bounded_abi_absent"},
|
||||
{"id": "services", "source_evidence": "none_complete", "host_evidence": "unsupported_representable", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "service_inventory_mapping_absent"},
|
||||
{"id": "listeners", "source_evidence": "none_accepted", "host_evidence": "unsupported_representable", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "listener_owner_api_absent"},
|
||||
{"id": "autoload", "source_evidence": "stock_routes_incomplete_or_side_effecting", "host_evidence": "missing_source_blocked", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "complete_authoritative_safe_sources_absent"},
|
||||
{"id": "rollback_objects", "source_evidence": "phase08r_phase09a_contract_only", "host_evidence": "false_promotion_rejected", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "current_backups_absent_manager_backup_hard_blocker"},
|
||||
{"id": "monotonic_time", "source_evidence": "loader_owned_clock_only", "host_evidence": "deadline_modelled", "target_evidence": "ABSENT_IN_OBSERVER_ABI", "implementation_allowed": false, "execution_allowed": false, "blocker": "freestanding_callable_clock_absent"},
|
||||
{"id": "startup", "source_evidence": "full_sdk_and_loader_graph", "host_evidence": "classifications_validated", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "normal_writes_and_freestanding_closure_incomplete"},
|
||||
{"id": "output", "source_evidence": "current_send_only_route", "host_evidence": "fixed_d1_contract_modelled", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "no_caller_owned_target_buffer_or_delivery"},
|
||||
{"id": "normal_exit", "source_evidence": "wait_reap_status_discarded", "host_evidence": "no_safe_terminal", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "return_exit_teardown_and_status_unproven"},
|
||||
{"id": "error_exit", "source_evidence": "crt_error_longjmp_trap_paths", "host_evidence": "error_not_empty_success", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "partial_unwind_status_cleanup_unproven"},
|
||||
{"id": "timeout", "source_evidence": "loader_signal_watchdog", "host_evidence": "timeout_rejected", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "kill_is_not_safe_exit"},
|
||||
{"id": "cleanup", "source_evidence": "pre_detach_cleanup_post_detach_process_dependency", "host_evidence": "failed_cleanup_rejected", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "joint_resource_loader_manager_cleanup_unproven"},
|
||||
{"id": "recovery_independence", "source_evidence": "phase09a_contract_only", "host_evidence": "blocker_preserved", "target_evidence": "ABSENT", "implementation_allowed": false, "execution_allowed": false, "blocker": "executor_and_exact_rollback_objects_unproven"}
|
||||
],
|
||||
"implementation": {
|
||||
"target_observer_source_present": false,
|
||||
"observer_target_declared": false,
|
||||
"target_assembly_present": false,
|
||||
"target_elf_present": false,
|
||||
"linker_map_present": false,
|
||||
"lifecycle_package_present": false,
|
||||
"installation_package_present": false,
|
||||
"autoload_package_present": false,
|
||||
"loader_production_modified": false,
|
||||
"payload_manager_production_modified": false,
|
||||
"lifecycle_production_modified": false
|
||||
},
|
||||
"artifact": {
|
||||
"present": false,
|
||||
"path": null,
|
||||
"sha256": null,
|
||||
"size": null,
|
||||
"execution_eligible": false,
|
||||
"execution_authorized": false
|
||||
},
|
||||
"static_audit": {
|
||||
"status": "NOT_APPLICABLE_NO_TARGET_SOURCE_OR_ARTIFACT",
|
||||
"target_build": "NOT_PERFORMED",
|
||||
"elf_headers": "NOT_APPLICABLE",
|
||||
"imports": "NOT_APPLICABLE",
|
||||
"dynamic_dependencies": "NOT_APPLICABLE",
|
||||
"relocations": "NOT_APPLICABLE",
|
||||
"linker_map": "NOT_CREATED",
|
||||
"target_callgraph": "NOT_CREATED",
|
||||
"target_disassembly": "NOT_CREATED",
|
||||
"package": "NOT_CREATED",
|
||||
"host_model_only": true
|
||||
},
|
||||
"final_decision": {
|
||||
"positive_classification_allowed": false,
|
||||
"classification": "BLOCKED_MULTIPLE_FOUNDATIONAL_CONTRACTS",
|
||||
"foundational_blockers": [
|
||||
"BLOCKED_STARTUP_ABI_UNPROVEN",
|
||||
"BLOCKED_EXIT_CLEANUP_UNPROVEN",
|
||||
"BLOCKED_NO_BOUNDED_OUTPUT_CHANNEL",
|
||||
"BLOCKED_FIRMWARE_SOURCE_INCOMPLETE",
|
||||
"BLOCKED_OBSERVATION_SIDE_EFFECTS_UNBOUNDED"
|
||||
],
|
||||
"next_phase_automatic": false
|
||||
},
|
||||
"prohibited_actions": [
|
||||
"connect_to_ps5_or_other_device",
|
||||
"network_scan",
|
||||
"usb_transfer",
|
||||
"build_or_assemble_target_observer",
|
||||
"build_target_elf",
|
||||
"transfer_or_execute_payload",
|
||||
"install_or_enable_autoload",
|
||||
"modify_hardened_elfldr_production_code",
|
||||
"modify_controlled_payload_manager_production_code",
|
||||
"modify_lifecycle_installer_or_rollback_production_code",
|
||||
"credential_capability_or_kernel_patch",
|
||||
"ptrace_experiment",
|
||||
"module_loading_experiment",
|
||||
"new_target_listener_or_filesystem_output",
|
||||
"graphics_sdl_retroarch_gnm_or_videoout_work",
|
||||
"external_publication_pull_request_or_upstream_contact"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,336 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://chimera.invalid/schema/phase-0.9c-feasibility-v1.json",
|
||||
"title": "Chimera GFX Phase-0.9C offline feasibility record",
|
||||
"description": "A non-authorizing offline record. It cannot represent a target observer, artifact, package, transfer, execution, installation, lifecycle action, autoload action, backup action, or retry.",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"schema_version",
|
||||
"phase",
|
||||
"date",
|
||||
"scope",
|
||||
"status",
|
||||
"classification",
|
||||
"baseline_commit",
|
||||
"branch",
|
||||
"authorization",
|
||||
"canonical_state_preserved",
|
||||
"permanent_denylist_binding",
|
||||
"source_commits",
|
||||
"source_tree_status",
|
||||
"source_evidence",
|
||||
"immutable_evidence",
|
||||
"startup_exit",
|
||||
"output_architectures",
|
||||
"host_protocol",
|
||||
"firmware",
|
||||
"side_effect_model",
|
||||
"capability_closure",
|
||||
"implementation",
|
||||
"artifact",
|
||||
"static_audit",
|
||||
"final_decision",
|
||||
"prohibited_actions"
|
||||
],
|
||||
"properties": {
|
||||
"schema_version": {"const": 1},
|
||||
"phase": {"const": "0.9C"},
|
||||
"date": {"const": "2026-07-18"},
|
||||
"scope": {"const": "offline_observer_execution_feasibility_closure_only"},
|
||||
"status": {"const": "BLOCKED"},
|
||||
"classification": {"const": "BLOCKED_MULTIPLE_FOUNDATIONAL_CONTRACTS"},
|
||||
"baseline_commit": {
|
||||
"const": "3ddc213ea67bb286256ae42e52c65e00488608ca"
|
||||
},
|
||||
"branch": {
|
||||
"const": "codex/chimera-gfx-phase09c-execution-feasibility"
|
||||
},
|
||||
"authorization": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"authorized",
|
||||
"transfer_authorized",
|
||||
"execution_authorized",
|
||||
"installation_authorized",
|
||||
"lifecycle_authorized",
|
||||
"autoload_authorized",
|
||||
"backup_creation_authorized",
|
||||
"observer_build_authorized",
|
||||
"automatic_retry"
|
||||
],
|
||||
"properties": {
|
||||
"authorized": {"const": false},
|
||||
"transfer_authorized": {"const": false},
|
||||
"execution_authorized": {"const": false},
|
||||
"installation_authorized": {"const": false},
|
||||
"lifecycle_authorized": {"const": false},
|
||||
"autoload_authorized": {"const": false},
|
||||
"backup_creation_authorized": {"const": false},
|
||||
"observer_build_authorized": {"const": false},
|
||||
"automatic_retry": {"const": false}
|
||||
}
|
||||
},
|
||||
"canonical_state_preserved": {"type": "object"},
|
||||
"permanent_denylist_binding": {
|
||||
"type": "object",
|
||||
"required": ["sha256", "status", "permanent", "execution_eligible"],
|
||||
"properties": {
|
||||
"sha256": {
|
||||
"const": "4be1c17b4964f2b68c39b5145bc4af4619c32512d60269ecf5c39728b390fa63"
|
||||
},
|
||||
"status": {"const": "BLOCKED"},
|
||||
"permanent": {"const": true},
|
||||
"execution_eligible": {"const": false}
|
||||
}
|
||||
},
|
||||
"source_commits": {"type": "object"},
|
||||
"source_tree_status": {"type": "object"},
|
||||
"source_evidence": {
|
||||
"type": "array",
|
||||
"minItems": 10,
|
||||
"uniqueItems": true,
|
||||
"items": {"type": "object"}
|
||||
},
|
||||
"immutable_evidence": {"type": "object"},
|
||||
"startup_exit": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"normal_sdk_kernelwrite_free",
|
||||
"freestanding_dependency_closure_proven",
|
||||
"safe_return_proven",
|
||||
"safe_process_exit_proven",
|
||||
"complete_cleanup_proven",
|
||||
"blockers"
|
||||
],
|
||||
"properties": {
|
||||
"normal_sdk_kernelwrite_free": {"const": false},
|
||||
"normal_sdk_status": {"const": "PROVEN_SIDE_EFFECTING"},
|
||||
"freestanding_mechanically_linkable": {"const": true},
|
||||
"freestanding_dependency_closure_proven": {"const": false},
|
||||
"stack_alignment_proven": {"const": false},
|
||||
"complete_relocation_and_bss_tls_contract_proven": {"const": false},
|
||||
"callable_read_and_time_abi_proven": {"const": false},
|
||||
"safe_return_proven": {"const": false},
|
||||
"safe_process_exit_proven": {"const": false},
|
||||
"error_exit_proven": {"const": false},
|
||||
"timeout_safe_exit_proven": {"const": false},
|
||||
"complete_cleanup_proven": {"const": false},
|
||||
"blockers": {"type": "array", "minItems": 1, "uniqueItems": true}
|
||||
}
|
||||
},
|
||||
"output_architectures": {
|
||||
"type": "array",
|
||||
"minItems": 4,
|
||||
"maxItems": 4,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["id", "status", "current_implementation", "reason"],
|
||||
"properties": {
|
||||
"id": {"type": "string"},
|
||||
"status": {"type": "string"},
|
||||
"current_implementation": {"const": false},
|
||||
"reason": {"type": "string"}
|
||||
}
|
||||
}
|
||||
},
|
||||
"host_protocol": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"host_only",
|
||||
"target_implemented",
|
||||
"magic",
|
||||
"version",
|
||||
"header_size",
|
||||
"maximum_output_size",
|
||||
"maximum_body_size",
|
||||
"pointers_present",
|
||||
"dynamic_growth",
|
||||
"fail_closed_conditions"
|
||||
],
|
||||
"properties": {
|
||||
"model": {"const": "tests/phase09c_feasibility_model.py"},
|
||||
"host_only": {"const": true},
|
||||
"target_implemented": {"const": false},
|
||||
"magic": {"const": "CHG09C01"},
|
||||
"version": {"const": 1},
|
||||
"header_size": {"const": 256},
|
||||
"maximum_output_size": {"const": 4096},
|
||||
"maximum_body_size": {"const": 3840},
|
||||
"integer_encoding": {"const": "unsigned_big_endian"},
|
||||
"execution_nonce_bytes": {"const": 16},
|
||||
"request_id_bytes": {"const": 16},
|
||||
"firmware_field_bytes": {"const": 8},
|
||||
"artifact_hash_algorithm": {"const": "sha256"},
|
||||
"body_checksum_algorithm": {"const": "sha256"},
|
||||
"result_checksum_algorithm": {"const": "sha256"},
|
||||
"completion_marker": {"const": "COMPLETE"},
|
||||
"result_checksum_zeroed_fields": {"type": "array"},
|
||||
"required_fields": {"type": "array", "minItems": 16, "uniqueItems": true},
|
||||
"pointers_present": {"const": false},
|
||||
"dynamic_growth": {"const": false},
|
||||
"fail_closed_conditions": {
|
||||
"type": "array",
|
||||
"minItems": 10,
|
||||
"uniqueItems": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"firmware": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"expected",
|
||||
"source_one",
|
||||
"source_two",
|
||||
"agreement_proven",
|
||||
"gate",
|
||||
"conflict_policy"
|
||||
],
|
||||
"properties": {
|
||||
"expected": {"const": "9.60"},
|
||||
"source_one": {"type": "object"},
|
||||
"source_two": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"identity",
|
||||
"status",
|
||||
"export_name_candidate_accepted",
|
||||
"nonce_bound_runtime_result_present"
|
||||
],
|
||||
"properties": {
|
||||
"identity": {"const": null},
|
||||
"status": {"const": "ABSENT"},
|
||||
"export_name_candidate_accepted": {"const": false},
|
||||
"nonce_bound_runtime_result_present": {"const": false}
|
||||
}
|
||||
},
|
||||
"agreement_proven": {"const": false},
|
||||
"gate": {"const": "BLOCKED_FIRMWARE_SOURCE_INCOMPLETE"},
|
||||
"conflict_policy": {"const": "BLOCKED_NO_SOURCE_PREFERENCE"}
|
||||
}
|
||||
},
|
||||
"side_effect_model": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"no_persistent_content_write_is_side_effect_free",
|
||||
"read_only_flag_is_side_effect_free",
|
||||
"all_planned_observations_proven_side_effect_free",
|
||||
"dimensions",
|
||||
"classifications",
|
||||
"gate"
|
||||
],
|
||||
"properties": {
|
||||
"no_persistent_content_write_is_side_effect_free": {"const": false},
|
||||
"read_only_flag_is_side_effect_free": {"const": false},
|
||||
"all_planned_observations_proven_side_effect_free": {"const": false},
|
||||
"dimensions": {"type": "array", "minItems": 12, "uniqueItems": true},
|
||||
"classifications": {"type": "array", "minItems": 10, "uniqueItems": true},
|
||||
"gate": {"const": "BLOCKED_OBSERVATION_SIDE_EFFECTS_UNBOUNDED"}
|
||||
}
|
||||
},
|
||||
"capability_closure": {
|
||||
"type": "array",
|
||||
"minItems": 21,
|
||||
"maxItems": 21,
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"id",
|
||||
"source_evidence",
|
||||
"host_evidence",
|
||||
"target_evidence",
|
||||
"implementation_allowed",
|
||||
"execution_allowed",
|
||||
"blocker"
|
||||
],
|
||||
"properties": {
|
||||
"id": {"type": "string", "minLength": 1},
|
||||
"source_evidence": {"type": "string", "minLength": 1},
|
||||
"host_evidence": {"type": "string", "minLength": 1},
|
||||
"target_evidence": {"type": "string", "minLength": 1},
|
||||
"implementation_allowed": {"const": false},
|
||||
"execution_allowed": {"const": false},
|
||||
"blocker": {"type": "string", "minLength": 1}
|
||||
}
|
||||
}
|
||||
},
|
||||
"implementation": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"target_observer_source_present",
|
||||
"observer_target_declared",
|
||||
"target_assembly_present",
|
||||
"target_elf_present",
|
||||
"linker_map_present",
|
||||
"lifecycle_package_present",
|
||||
"installation_package_present",
|
||||
"autoload_package_present",
|
||||
"loader_production_modified",
|
||||
"payload_manager_production_modified",
|
||||
"lifecycle_production_modified"
|
||||
],
|
||||
"properties": {
|
||||
"target_observer_source_present": {"const": false},
|
||||
"observer_target_declared": {"const": false},
|
||||
"target_assembly_present": {"const": false},
|
||||
"target_elf_present": {"const": false},
|
||||
"linker_map_present": {"const": false},
|
||||
"lifecycle_package_present": {"const": false},
|
||||
"installation_package_present": {"const": false},
|
||||
"autoload_package_present": {"const": false},
|
||||
"loader_production_modified": {"const": false},
|
||||
"payload_manager_production_modified": {"const": false},
|
||||
"lifecycle_production_modified": {"const": false}
|
||||
}
|
||||
},
|
||||
"artifact": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"present",
|
||||
"path",
|
||||
"sha256",
|
||||
"size",
|
||||
"execution_eligible",
|
||||
"execution_authorized"
|
||||
],
|
||||
"properties": {
|
||||
"present": {"const": false},
|
||||
"path": {"const": null},
|
||||
"sha256": {"const": null},
|
||||
"size": {"const": null},
|
||||
"execution_eligible": {"const": false},
|
||||
"execution_authorized": {"const": false}
|
||||
}
|
||||
},
|
||||
"static_audit": {"type": "object"},
|
||||
"final_decision": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"positive_classification_allowed",
|
||||
"classification",
|
||||
"foundational_blockers",
|
||||
"next_phase_automatic"
|
||||
],
|
||||
"properties": {
|
||||
"positive_classification_allowed": {"const": false},
|
||||
"classification": {"const": "BLOCKED_MULTIPLE_FOUNDATIONAL_CONTRACTS"},
|
||||
"foundational_blockers": {
|
||||
"type": "array",
|
||||
"minItems": 5,
|
||||
"uniqueItems": true
|
||||
},
|
||||
"next_phase_automatic": {"const": false}
|
||||
}
|
||||
},
|
||||
"prohibited_actions": {
|
||||
"type": "array",
|
||||
"minItems": 10,
|
||||
"uniqueItems": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,428 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"phase": "PHASE_0_9D_EXISTING_STACK_READBACK",
|
||||
"date": "2026-07-18",
|
||||
"status": "DESIGN_ONLY",
|
||||
"baseline_commit": "e0e68829ab76977c845e7106ef93e6c01fbc966e",
|
||||
"branch": "codex/chimera-gfx-phase09d-existing-stack-readback",
|
||||
"scope": "offline_existing_stack_readback_and_recovery_feasibility",
|
||||
"actions": {
|
||||
"ps5_connected": false,
|
||||
"device_request_performed": false,
|
||||
"files_transferred": false,
|
||||
"device_write_performed": false,
|
||||
"target_execution_performed": false,
|
||||
"target_artifact_created": false,
|
||||
"target_build_performed": false,
|
||||
"observer_created": false,
|
||||
"device_client_created": false,
|
||||
"backup_created": false,
|
||||
"staging_performed": false
|
||||
},
|
||||
"authorization": {
|
||||
"installation_authorized": false,
|
||||
"execution_authorized": false,
|
||||
"lifecycle_authorized": false,
|
||||
"automatic_retry": false,
|
||||
"autoload_authorized": false,
|
||||
"device_write_authorized": false,
|
||||
"transfer_authorized": false,
|
||||
"observer_build_authorized": false,
|
||||
"backup_creation_authorized": false
|
||||
},
|
||||
"canonical_state": {
|
||||
"phase08_status": "READ_ONLY_PREFLIGHT_BLOCKED",
|
||||
"phase09a_status": "DESIGN_ONLY",
|
||||
"phase09b_status": "BLOCKED",
|
||||
"phase09c_classification": "BLOCKED_MULTIPLE_FOUNDATIONAL_CONTRACTS",
|
||||
"firmware_runtime_behavior": "UNPROVEN",
|
||||
"stock_identities": "reference_only",
|
||||
"payload_manager_backup": "HARD_BLOCKER_FOR_INSTALLATION",
|
||||
"independent_recovery": "UNPROVEN",
|
||||
"permanent_denylist_sha256": "e9603b0e3792781ad5b511afb22ef61e3d4fd4c5a16bf928f8609193bcd97783",
|
||||
"permanently_blocked_artifact_sha256": "4be1c17b4964f2b68c39b5145bc4af4619c32512d60269ecf5c39728b390fa63"
|
||||
},
|
||||
"source_commits": {
|
||||
"hardened_elfldr": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"controlled_payload_manager": "e23d94ff91233aa770e2342800c1467875bdef44",
|
||||
"elfldr_public_base": "699e8bcff03e91e8d6ca6eba281af25c5a58d8c2",
|
||||
"payload_manager_public_base": "cfbc70f30f419b09bf2b52283f7409e2d3117ee1",
|
||||
"ps5_payload_sdk_v0_41": "d2e2e585740362976a39fdd5ccf390f199a7bc37",
|
||||
"lifecycle_source": "fe08300339a13f899fb78ea404ada381a5cba87c"
|
||||
},
|
||||
"source_tree_status": {
|
||||
"hardened_elfldr": "clean",
|
||||
"controlled_payload_manager": "clean",
|
||||
"elfldr_public_base": "clean",
|
||||
"payload_manager_public_base": "clean",
|
||||
"ps5_payload_sdk_v0_41": "clean"
|
||||
},
|
||||
"source_evidence": {
|
||||
"../chimera-elfldr/README.md": "372aeb28dc971b2bd98093a47fdaf77c32f75bbdc3b3d7e8678900744b91eadb",
|
||||
"../chimera-elfldr/main.c": "876389a26999073994e63ca29926982280d9594a1ee941244205b54f57e2b4d1",
|
||||
"../chimera-elfldr/bootstrap.c": "5a8072ec0d6db919cb3a81a7028dc91fd8e2c3a0d69b0fa7e84836fa93b45381",
|
||||
"../chimera-elfldr/socksrv.c": "d642ced3e9b4a296dd15e355050ebe956f53a6dfdaa6ac10109cd067a3bba3d7",
|
||||
"../chimera-ps5-payload-manager/README.md": "a00277252da46c701326ef66e5ca0d13cadffd50b3c8adf6da89cd1948c97718",
|
||||
"../chimera-ps5-payload-manager/DEVELOPMENT.md": "0c17bed71b07c9aadf31c47625bbe1ccb42e670e594fb64a1e07aa782d5eec31",
|
||||
"../chimera-ps5-payload-manager/deploy.sh": "2facdc1ca70db57ba258265c07a8ae1d30d3d2fb429d6718d5d5088300788e52",
|
||||
"../chimera-ps5-payload-manager/include/pldmgr.h": "8603b8338364cea60ffaf94f985f112fb2ddfda2f44b1ccc9a2bd7a15d1b229a",
|
||||
"../chimera-ps5-payload-manager/src/http_server.c": "2c8ff2a4bc1028d71e3cc342839584d425b6e7502e55e18e2762cdbf62c59d40",
|
||||
"../chimera-ps5-payload-manager/src/log_server.c": "659095f43df1bbe8eb24acb165f027edc277af1e60aabb26ba9e3920b233d6f1",
|
||||
"../chimera-ps5-payload-manager/src/autoload.c": "7051cab3ee1a3e0b9f6498000565eb9e160b9c63efa1771f250e98ec3aa4ae67",
|
||||
"../chimera-ps5-payload-manager/src/main.c": "b2374e8fb101587b15c8261c58cb4f0573d88c490214365051eb9facd60f6eed",
|
||||
"../chimera-ps5-payload-manager/src/controlled_manager.c": "042b55b2cece32effed636529249fd18061a2fe3c5e70c7f755f2817cfb84b99",
|
||||
"../chimera-ps5-payload-manager/src/verified_launcher.c": "066100ca4917c7acc560e2e85666ca136cd7ccfd9094417377048f41106dd56e",
|
||||
"../chimera-ps5-payload-manager/src/ps5_launcher.c": "29c1a5fd01784a59e88b3698940f120cb03020071bc2b7d74a1da1a51524ef59",
|
||||
"../chimera-ps5-payload-manager/src/payload_mgr.c": "d67e9ba33edc8ca3a45aae07923d4c4790348b5f8570307e581e16780abafcba",
|
||||
"../chimera-ps5-payload-manager/src/repository.c": "8ba694ae6d4813573752acd82ce2dbfb715b51d4ec6155f783904d76dd115adb",
|
||||
"../chimera-ps5-payload-manager/src/sources.c": "a7a4a5cafccfba74902d6ed21ba001e6a9f62d4dff840ac38882d04827162c96",
|
||||
"work/upstream/elfldr-v0.23/socksrv.c": "500d3c7df7ed5eac1adc925c89344d75c469651b71143716fdb77bfb2209a40c",
|
||||
"work/upstream/pldmgr-v0.3.1/include/pldmgr.h": "01c693a3248dce7a663dd4ed9c73ce5f3a4443b5f2bd210746d94993dee27b91",
|
||||
"work/upstream/pldmgr-v0.3.1/src/http_server.c": "35cf5d8f0dd44cf64ceab5e4b0ecc09413c82d7e9946ba9de2ca4b1898631fdd",
|
||||
"samples/lifecycle_probe/main.c": "1ae7df1fe921ccab2a252f77975d3d441ef7725e34535b024580c0d4a242d766"
|
||||
},
|
||||
"immutable_evidence": {
|
||||
"manifests/runtime/phase-0.8-read-only-preflight.json": "47d7f452f8799979fe99b3e6d56859f03544112725bf7e5b349eba5ed81b3322",
|
||||
"manifests/runtime/phase-0.8-remediation.json": "a9dafed8c83722c43709dcf90ea117c21d6f996ff8fe233810ed08aa20cbe071",
|
||||
"manifests/runtime/phase-0.9-anti-brick-design.json": "39fd7c70cae998d9d74e7caf1ff3c19f9f76f7de2e5a50bc09baede4ba53e9e9",
|
||||
"manifests/runtime/phase-0.9b-observer.json": "104c4a667ad17f9827fc7276852c6faeef96effb8e3561a5ebc19a62c7d51634",
|
||||
"manifests/runtime/phase-0.9c-feasibility.json": "84eb737ff3486d0c5d8b5ecf06809f93bc573497da4919595b4c1817fd34247c"
|
||||
},
|
||||
"decisions": {
|
||||
"new_observer_feasibility": "BLOCKED",
|
||||
"existing_stack_manual_fact_collection": "PARTIAL",
|
||||
"existing_stack_single_readback": "BLOCKED_NO_READBACK_PATH",
|
||||
"existing_stack_repeat_readback": "BLOCKED",
|
||||
"elfldr_independent_recovery": "PARTIAL",
|
||||
"payload_manager_independent_recovery": "PARTIAL",
|
||||
"side_by_side_feasibility": "BLOCKED",
|
||||
"device_write": "NOT_AUTHORIZED",
|
||||
"target_execution": "NOT_AUTHORIZED",
|
||||
"installation": "NOT_AUTHORIZED"
|
||||
},
|
||||
"bootstrap_graph": [
|
||||
{
|
||||
"name": "external_exploit_host",
|
||||
"commit": "ABSENT_FROM_AUDITED_TREES",
|
||||
"persistence": "UNPROVEN",
|
||||
"start_mechanism": "browser_or_host_manual",
|
||||
"boot_critical": "UNPROVEN",
|
||||
"dependencies": [],
|
||||
"failure_impact": "port_9020_bootstrap_unavailable",
|
||||
"recovery_executor": "external",
|
||||
"depends_on_self": "UNPROVEN",
|
||||
"depends_on_elfldr": false,
|
||||
"depends_on_payload_manager": false,
|
||||
"recovery_after_reboot": "UNPROVEN",
|
||||
"evidence_level": "README_DESCRIPTION_ONLY"
|
||||
},
|
||||
{
|
||||
"name": "rudimentary_exploit_elf_loader_port_9020",
|
||||
"commit": "ABSENT_FROM_AUDITED_TREES",
|
||||
"persistence": "UNPROVEN",
|
||||
"start_mechanism": "external_exploit",
|
||||
"boot_critical": "UNPROVEN",
|
||||
"dependencies": ["external_exploit_host"],
|
||||
"failure_impact": "cannot_bootstrap_elfldr_through_described_route",
|
||||
"recovery_executor": "external_exploit_host",
|
||||
"depends_on_self": "UNPROVEN",
|
||||
"depends_on_elfldr": false,
|
||||
"depends_on_payload_manager": false,
|
||||
"recovery_after_reboot": "UNPROVEN",
|
||||
"evidence_level": "README_DESCRIPTION_ONLY"
|
||||
},
|
||||
{
|
||||
"name": "hardened_elfldr_bootstrap",
|
||||
"commit": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"persistence": "PROCESS_ONLY_IN_SOURCE",
|
||||
"start_mechanism": "host_send_to_port_9020",
|
||||
"boot_critical": "UNPROVEN",
|
||||
"dependencies": ["rudimentary_exploit_elf_loader_port_9020"],
|
||||
"failure_impact": "elfldr_service_unavailable",
|
||||
"recovery_executor": "external_exploit_chain",
|
||||
"depends_on_self": false,
|
||||
"depends_on_elfldr": false,
|
||||
"depends_on_payload_manager": false,
|
||||
"recovery_after_reboot": "UNPROVEN",
|
||||
"evidence_level": "PARTIAL"
|
||||
},
|
||||
{
|
||||
"name": "elfldr_socket_service_port_9021",
|
||||
"commit": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"persistence": "PROCESS_ONLY_IN_SOURCE",
|
||||
"start_mechanism": "hardened_elfldr_bootstrap",
|
||||
"boot_critical": "UNPROVEN",
|
||||
"dependencies": ["hardened_elfldr_bootstrap"],
|
||||
"failure_impact": "normal_payload_transport_unavailable",
|
||||
"recovery_executor": "hardened_elfldr_bootstrap",
|
||||
"depends_on_self": false,
|
||||
"depends_on_elfldr": false,
|
||||
"depends_on_payload_manager": false,
|
||||
"recovery_after_reboot": "UNPROVEN",
|
||||
"evidence_level": "PARTIAL"
|
||||
},
|
||||
{
|
||||
"name": "payload_manager",
|
||||
"commit": "cfbc70f30f419b09bf2b52283f7409e2d3117ee1",
|
||||
"persistence": "UNPROVEN_CURRENT_DEVICE",
|
||||
"start_mechanism": "manual_elfldr_or_external_autoloader",
|
||||
"boot_critical": "UNPROVEN",
|
||||
"dependencies": ["elfldr_socket_service_port_9021_or_external_autoloader"],
|
||||
"failure_impact": "manager_listener_and_ui_unavailable",
|
||||
"recovery_executor": "elfldr_or_external_autoloader",
|
||||
"depends_on_self": false,
|
||||
"depends_on_elfldr": true,
|
||||
"depends_on_payload_manager": false,
|
||||
"recovery_after_reboot": "UNPROVEN",
|
||||
"evidence_level": "PARTIAL"
|
||||
}
|
||||
],
|
||||
"endpoint_defaults": {
|
||||
"authentication": "NONE",
|
||||
"writes_server_active_flag": true,
|
||||
"writes_log_ring": true,
|
||||
"network_behavior": "HTTP_SOCKET_AND_REQUEST_STATE",
|
||||
"timeout_behavior": "NO_FILE_TRANSFER_TIMEOUT_CONTRACT",
|
||||
"retry_behavior": "NO_SERVER_AUTOMATIC_RETRY_PROVEN_CLIENT_RETRY_NOT_ACCEPTABLE",
|
||||
"maximum_size": "UNPROVEN_UNLESS_HANDLER_SPECIFIC",
|
||||
"short_read_behavior": "NO_HOST_FILE_READBACK_CONTRACT",
|
||||
"readback_candidate": false,
|
||||
"binary_safe_file_response": false,
|
||||
"exact_returned_byte_count": false,
|
||||
"partial_result_rejected": false
|
||||
},
|
||||
"endpoint_matrix": [
|
||||
{"profile":"full","method":"OPTIONS","endpoint":"*","handler":"http_on_request","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"193-205","parameters":"none","response":"empty CORS response","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_server_active_flag":false,"writes_autoload_triggered":false,"writes_log_ring":false,"launches_payload":false,"process_or_service_action":false,"network_behavior":"HTTP_PREFLIGHT","timeout_behavior":"library_default_unproven","retry_behavior":"none_in_handler","maximum_size":"zero_body","short_read_behavior":"not_applicable","error_behavior":"MHD_failure","effect_class":"LOW_RISK_TECHNICAL","readback_candidate":false,"observation_candidate":false,"binary_safe_file_response":false,"exact_returned_byte_count":false,"partial_result_rejected":false,"forbidden_reason":"not_a_file_route"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/","handler":"static_asset","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"709-733","parameters":"none","response":"compiled HTML","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"404_or_allocation_failure","effect_class":"LOW_VOLATILE","observation_candidate":true,"forbidden_reason":"static_asset_not_file_readback"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/index.html","handler":"static_asset","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"709-733","parameters":"none","response":"compiled HTML","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"404_or_allocation_failure","effect_class":"LOW_VOLATILE","observation_candidate":true,"forbidden_reason":"static_asset_not_file_readback"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/cache.appcache","handler":"static_asset","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"709-733","parameters":"none","response":"compiled manifest","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"404_or_allocation_failure","effect_class":"LOW_VOLATILE","observation_candidate":true,"forbidden_reason":"static_asset_not_file_readback"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/favicon.svg","handler":"static_asset","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"709-733","parameters":"none","response":"compiled SVG","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"404_or_allocation_failure","effect_class":"LOW_VOLATILE","observation_candidate":true,"forbidden_reason":"static_asset_not_file_readback"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/icon.png","handler":"static_asset","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"709-733","parameters":"none","response":"compiled PNG","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"404_or_allocation_failure","effect_class":"LOW_VOLATILE","observation_candidate":true,"forbidden_reason":"static_asset_not_file_readback"},
|
||||
{"profile":"full","method":"POST","endpoint":"/chimera:upload-controlled","handler":"controlled_upload","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"212-252,481-537","parameters":"filename_and_identity_headers_body","response":"text status","open_flags":["O_WRONLY","O_CREAT","O_EXCL","O_NOFOLLOW","O_CLOEXEC","verified_reopen_O_RDONLY"],"reads_bytes":true,"writes_bytes":true,"creates_file":true,"removes_file":true,"renames_file":true,"reads_directory":false,"reads_metadata":true,"calculates_hash":true,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"reject_and_remove_partial","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"device_create_write_rename_remove"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/manage:upload","handler":"legacy_upload","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"254-286,540-585","parameters":"filename_and_body","response":"text status","open_flags":["fopen(wb)"],"reads_bytes":false,"writes_bytes":true,"creates_file":true,"removes_file":true,"renames_file":true,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"partial_temp_and_import_errors","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"device_create_truncate_write_rename"},
|
||||
{"profile":"full","method":"POST","endpoint":"/set_config","handler":"set_config","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"288-295,363-398","parameters":"form_body","response":"text status","open_flags":["fopen(r)","fopen(w)"],"reads_bytes":true,"writes_bytes":true,"creates_file":true,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":true,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"validation_or_write_error","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"configuration_create_truncate_write"},
|
||||
{"profile":"full","method":"POST","endpoint":"/repository_push","handler":"repository_push","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"297-304,401-443","parameters":"JSON_body","response":"text status","open_flags":["fopen(wb)"],"reads_bytes":true,"writes_bytes":true,"creates_file":true,"removes_file":true,"renames_file":true,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":true,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"remove_temp_on_error","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"cache_and_configuration_write"},
|
||||
{"profile":"full","method":"POST","endpoint":"/sources_set","handler":"sources_set","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"306-313,446-478","parameters":"JSON_body","response":"text status","open_flags":["fopen(wb)"],"reads_bytes":true,"writes_bytes":true,"creates_file":true,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":true,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"parse_or_write_error","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"configuration_write"},
|
||||
{"profile":"full","method":"POST","endpoint":"/repository_install_push","handler":"repository_install_push","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"315-356,588-636","parameters":"filename_repo_url_body","response":"text status","open_flags":["fopen(wb)"],"reads_bytes":true,"writes_bytes":true,"creates_file":true,"removes_file":true,"renames_file":true,"reads_directory":false,"reads_metadata":true,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"partial_install_cleanup","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"install_create_truncate_write_rename"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/usb_move_check","handler":"payload_mgr_usb_check","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"648-674","parameters":"path","response":"JSON_path_size_exists","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":true,"reads_metadata":true,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"JSON_error","effect_class":"LOW_VOLATILE","observation_candidate":true,"forbidden_reason":"USB_only_metadata_not_component_bytes"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/usb_move_perform","handler":"payload_mgr_usb_move","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"676-706","parameters":"path_overwrite_keep","response":"JSON_status","open_flags":["fopen(rb)","fopen(wb)"],"reads_bytes":true,"writes_bytes":true,"creates_file":true,"removes_file":true,"renames_file":false,"reads_directory":true,"reads_metadata":true,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"copy_error_may_leave_output","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"device_write_and_optional_source_delete"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/manage:check","handler":"payload_mgr_check_existing","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"735-759","parameters":"filename","response":"JSON_exists","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":true,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"JSON_error","effect_class":"LOW_VOLATILE","observation_candidate":true,"forbidden_reason":"existence_only_no_size_hash_bytes"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/list_payloads","handler":"payload_mgr_list_json","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"760-767","parameters":"none","response":"JSON_payload_list","open_flags":["fopen(rb)_metadata_sidecars"],"reads_bytes":true,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":true,"reads_metadata":true,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"bounded_or_empty_JSON","effect_class":"LOW_VOLATILE","observation_candidate":true,"forbidden_reason":"listing_not_binary_file_response"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/processes_list","handler":"stats_get_processes_json","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"768-775","parameters":"none","response":"JSON_process_list","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"bounded_JSON","effect_class":"MEDIUM_FUNCTIONAL","observation_candidate":true,"forbidden_reason":"process_metadata_not_file_readback"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/process_kill","handler":"kill_process","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"776-796","parameters":"pid","response":"text status","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":true,"error_behavior":"signal_error","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"process_signal"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/repository_payloads","handler":"repository_list_json","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"797-810","parameters":"none","response":"JSON_repository_list","open_flags":["fopen(rb)","possible_fopen(wb)"],"reads_bytes":true,"writes_bytes":true,"creates_file":true,"removes_file":true,"renames_file":true,"reads_directory":false,"reads_metadata":true,"calculates_hash":false,"modifies_configuration":true,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"network_behavior":"MAY_REFRESH_NETWORK_SOURCE","error_behavior":"cache_missing_error","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"possible_refresh_cache_and_config_write"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/repository_refresh","handler":"repository_refresh","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"811-824","parameters":"none","response":"JSON_repository_list","open_flags":["fopen(wb)","fopen(rb)"],"reads_bytes":true,"writes_bytes":true,"creates_file":true,"removes_file":true,"renames_file":true,"reads_directory":false,"reads_metadata":true,"calculates_hash":false,"modifies_configuration":true,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"network_behavior":"EXTERNAL_REPOSITORY_DOWNLOAD","error_behavior":"remove_temp_and_error_JSON","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"network_cache_config_write"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/repository_install","handler":"repository_install","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"825-865","parameters":"filename_source_id_detail","response":"JSON_status","open_flags":["fopen(rb)","fopen(wb)"],"reads_bytes":true,"writes_bytes":true,"creates_file":true,"removes_file":true,"renames_file":true,"reads_directory":false,"reads_metadata":true,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"network_behavior":"MAY_DOWNLOAD_EXTERNAL_SOURCE","error_behavior":"install_cleanup_error","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"install_write_rename"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/sources_list","handler":"sources_list_json","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"866-873","parameters":"none","response":"JSON_sources","open_flags":["fopen(rb)"],"reads_bytes":true,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"default_or_error_JSON","effect_class":"LOW_VOLATILE","observation_candidate":true,"forbidden_reason":"configuration_response_not_component_file"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/sources_add","handler":"sources_add","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"874-900","parameters":"url","response":"JSON_status","open_flags":["fopen(wb)"],"reads_bytes":true,"writes_bytes":true,"creates_file":true,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":true,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"validation_or_write_error","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"configuration_write"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/sources_remove","handler":"sources_remove","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"901-921","parameters":"index","response":"JSON_status","open_flags":["fopen(wb)"],"reads_bytes":true,"writes_bytes":true,"creates_file":true,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":true,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"validation_or_write_error","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"configuration_write"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/chimera:load-controlled","handler":"ps5_launch_elf_verified","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"922-951","parameters":"filename_and_identity_headers","response":"text status","open_flags":["O_RDONLY","O_NOFOLLOW","O_CLOEXEC"],"reads_bytes":true,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":true,"reads_metadata":true,"calculates_hash":true,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":true,"process_or_service_action":true,"network_behavior":"LOOPBACK_SEND_TO_ELFLDR","error_behavior":"reject_without_retry","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"payload_launch"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/loadpayload:<path>","handler":"ps5_launch_elf","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"952-983","parameters":"path_suffix","response":"text status","open_flags":["O_RDONLY"],"reads_bytes":true,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":true,"reads_metadata":true,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":true,"process_or_service_action":true,"network_behavior":"LOOPBACK_SEND_TO_ELFLDR","error_behavior":"launch_error","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"payload_launch"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/manage:delete","handler":"payload_mgr_delete_payload_file","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"984-1008","parameters":"filename","response":"text status","open_flags":["fopen(w)_possible_autoload"],"reads_bytes":true,"writes_bytes":true,"creates_file":false,"removes_file":true,"renames_file":false,"reads_directory":true,"reads_metadata":true,"calculates_hash":false,"modifies_configuration":true,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"delete_error","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"unlink_and_possible_autoload_write"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/shutdown","handler":"http_keep_running_zero","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"1009-1015","parameters":"none","response":"text status","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":true,"error_behavior":"service_shutdown","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"service_state_change"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/log","handler":"log_build_json","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"1016-1024","parameters":"none","response":"JSON_log_ring","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"allocation_failure","effect_class":"LOW_VOLATILE","observation_candidate":true,"forbidden_reason":"log_not_component_file"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/version","handler":"version","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"1025-1028","parameters":"none","response":"text version","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"MHD_failure","effect_class":"LOW_VOLATILE","observation_candidate":true,"forbidden_reason":"version_not_component_file"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/getip","handler":"pldmgr_get_local_ip","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"1029-1036","parameters":"none","response":"text IP","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"network_behavior":"INTERFACE_QUERY","error_behavior":"returns_0.0.0.0","effect_class":"LOW_VOLATILE","observation_candidate":true,"forbidden_reason":"network_metadata_not_file"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/autoload_status","handler":"pldmgr_autoload_get_status","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"1037-1091","parameters":"none","response":"JSON_autoload_status","open_flags":["fopen(r)"],"reads_bytes":true,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":true,"launches_payload":false,"process_or_service_action":false,"error_behavior":"empty_list_or_allocation_failure","effect_class":"HIGH_FUNCTIONAL","observation_candidate":false,"forbidden_reason":"writes_autoload_triggered_excluded_windows_1_2"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/autoload_clear","handler":"pldmgr_autoload_reset","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"1092-1097","parameters":"none","response":"text status","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":true,"launches_payload":false,"process_or_service_action":false,"error_behavior":"reset_can_be_ignored_while_timer_active","effect_class":"HIGH_FUNCTIONAL","observation_candidate":false,"forbidden_reason":"autoload_process_state_mutation"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/abort","handler":"pldmgr_autoload_abort","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"1098-1103","parameters":"none","response":"text status","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":true,"error_behavior":"state_change_only","effect_class":"HIGH_FUNCTIONAL","observation_candidate":false,"forbidden_reason":"autoload_worker_state_change"},
|
||||
{"profile":"full","method":"UNREACHABLE","endpoint":"/autoload_status#duplicate","handler":"shadowed_duplicate","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"1104-1111","parameters":"none","response":"unreachable JSON","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_server_active_flag":true,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"unreachable","effect_class":"UNPROVEN","observation_candidate":false,"forbidden_reason":"shadowed_by_prior_identical_endpoint"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/get_config","handler":"config_read","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"1112-1155","parameters":"none","response":"JSON_configuration","open_flags":["fopen(r)"],"reads_bytes":true,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"error_behavior":"defaults_or_allocation_failure","effect_class":"LOW_VOLATILE","observation_candidate":true,"forbidden_reason":"configuration_not_component_file"},
|
||||
{"profile":"full","method":"ANY","endpoint":"/events","handler":"log_stream_callback","source":"../chimera-ps5-payload-manager/src/http_server.c","lines":"1156-1165","parameters":"none","response":"SSE_log_stream","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_autoload_triggered":false,"launches_payload":false,"process_or_service_action":false,"timeout_behavior":"INDEFINITE_STREAM_LIBRARY_DEPENDENT","error_behavior":"disconnect_cleanup","effect_class":"LOW_VOLATILE","observation_candidate":true,"forbidden_reason":"log_stream_not_file_readback"},
|
||||
{"profile":"minimal_controlled","method":"POST","endpoint":"/chimera/upload","handler":"handle_upload","source":"../chimera-ps5-payload-manager/src/controlled_manager.c","lines":"181-303,322-324","parameters":"filename_and_identity_headers_body","response":"text status","authentication":"IDENTITY_METADATA_NOT_CLIENT_AUTH","open_flags":["O_WRONLY","O_CREAT","O_EXCL","O_NOFOLLOW","O_CLOEXEC","verified_reopen_O_RDONLY"],"reads_bytes":true,"writes_bytes":true,"creates_file":true,"removes_file":true,"renames_file":true,"reads_directory":false,"reads_metadata":true,"calculates_hash":true,"modifies_configuration":false,"writes_server_active_flag":false,"writes_autoload_triggered":false,"writes_log_ring":false,"launches_payload":false,"process_or_service_action":false,"network_behavior":"HTTP_SOCKET","error_behavior":"remove_partial_and_reject","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"device_create_write_rename_remove"},
|
||||
{"profile":"minimal_controlled","method":"POST","endpoint":"/chimera/launch","handler":"handle_launch","source":"../chimera-ps5-payload-manager/src/controlled_manager.c","lines":"305-309,324-326","parameters":"filename_and_identity_headers","response":"text status","authentication":"IDENTITY_METADATA_NOT_CLIENT_AUTH","open_flags":["O_RDONLY","O_NOFOLLOW","O_CLOEXEC"],"reads_bytes":true,"writes_bytes":false,"creates_file":false,"removes_file":false,"renames_file":false,"reads_directory":false,"reads_metadata":true,"calculates_hash":true,"modifies_configuration":false,"writes_server_active_flag":false,"writes_autoload_triggered":false,"writes_log_ring":false,"launches_payload":true,"process_or_service_action":true,"network_behavior":"HTTP_AND_LOOPBACK_ELFLDR_SEND","error_behavior":"reject_without_retry","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"payload_launch"},
|
||||
{"profile":"minimal_controlled","method":"DELETE","endpoint":"/chimera/artifact","handler":"handle_delete","source":"../chimera-ps5-payload-manager/src/controlled_manager.c","lines":"311-327","parameters":"filename","response":"text status","authentication":"NONE","open_flags":[],"reads_bytes":false,"writes_bytes":false,"creates_file":false,"removes_file":true,"renames_file":false,"reads_directory":false,"reads_metadata":false,"calculates_hash":false,"modifies_configuration":false,"writes_server_active_flag":false,"writes_autoload_triggered":false,"writes_log_ring":false,"launches_payload":false,"process_or_service_action":false,"network_behavior":"HTTP_SOCKET","error_behavior":"unlink_status","effect_class":"ANTI_BRICK_CRITICAL","observation_candidate":false,"forbidden_reason":"device_unlink"}
|
||||
],
|
||||
"flag_semantics": {
|
||||
"server_active_flag": {
|
||||
"initial_value": 0,
|
||||
"writers": ["log_server_set_active"],
|
||||
"readers": ["pldmgr_server_is_active", "autoload_worker_notification_suppression"],
|
||||
"reset_path": "NONE_IN_PROCESS",
|
||||
"lifetime": "PROCESS_LOCAL",
|
||||
"thread_usage": "volatile_shared_flag",
|
||||
"filesystem_effect": false,
|
||||
"autoload_enable_effect": false,
|
||||
"payload_launch_effect": false,
|
||||
"shutdown_effect": false,
|
||||
"disconnect_reset": false,
|
||||
"process_exit_persistence": false,
|
||||
"reboot_persistence": false,
|
||||
"hardware_process_lifetime": "UNPROVEN",
|
||||
"classification": "LOW_VOLATILE",
|
||||
"fully_documented": true,
|
||||
"route_without_reset_semantics_is_partial": true
|
||||
},
|
||||
"autoload_triggered": {
|
||||
"initial_value": 0,
|
||||
"writers": ["pldmgr_autoload_get_status_sets_1", "pldmgr_autoload_reset_sets_0"],
|
||||
"readers": ["autoload_worker_wait_logic"],
|
||||
"reset_path": "explicit_reset_or_main_resume",
|
||||
"lifetime": "PROCESS_LOCAL",
|
||||
"can_change_launch_timing": true,
|
||||
"disconnect_reset": false,
|
||||
"process_exit_persistence": false,
|
||||
"reboot_persistence": false,
|
||||
"classification": "HIGH_FUNCTIONAL",
|
||||
"excluded_windows": [1, 2]
|
||||
}
|
||||
},
|
||||
"readback_routes": [
|
||||
{"order":1,"route":"payload_manager_download","exists":false,"classification":"ABSENT","request_framing":"ABSENT","response_framing":"ABSENT","binary_safe":false,"maximum_length":"ABSENT","chunks":"ABSENT","ordering":"ABSENT","eof":"ABSENT","short_read":"ABSENT","timeout":"ABSENT","automatic_reconnect":false,"automatic_retry":false,"source_open_flags":[],"symlink_behavior":"ABSENT","object_stability":"ABSENT","metadata_before":"ABSENT","metadata_after":"ABSENT","exact_received_byte_count":false,"host_output":"ABSENT","local_reopen":false,"local_sha256":false,"source_can_change":"UNPROVEN","ps5_file_written":false,"functional_flags":["server_active_if_request_existed"],"anti_brick_risk":"NO_ROUTE","usable_once":false,"usable_twice":false},
|
||||
{"order":2,"route":"payload_manager_internal_file_read","exists":true,"classification":"REJECTED_NOT_RETURNED_TO_HOST","request_framing":"HTTP_ROUTE_SPECIFIC","response_framing":"TEXT_OR_JSON_ONLY","binary_safe":false,"maximum_length":"NO_FILE_RESPONSE","chunks":"NO_FILE_RESPONSE","ordering":"NO_FILE_RESPONSE","eof":"NO_FILE_RESPONSE","short_read":"NO_FILE_RESPONSE","timeout":"UNPROVEN","automatic_reconnect":false,"automatic_retry":false,"source_open_flags":["O_RDONLY","fopen(rb)"],"symlink_behavior":"MIXED","object_stability":"CONTROLLED_LAUNCH_ONLY","metadata_before":"INTERNAL_ONLY","metadata_after":"INTERNAL_ONLY","exact_received_byte_count":false,"host_output":"NO_FILE_BYTES","local_reopen":false,"local_sha256":false,"source_can_change":"UNPROVEN","ps5_file_written":false,"functional_flags":["server_active_flag","log_ring"],"anti_brick_risk":"LOW_VOLATILE_IF_NONMUTATING_ROUTE","usable_once":false,"usable_twice":false},
|
||||
{"order":3,"route":"elfldr_response_or_host_pipe","exists":true,"classification":"REJECTED_FIXED_STATUS_OR_REQUIRES_PAYLOAD","request_framing":"ELFLDR_PROTOCOL","response_framing":"FIXED_TEXT_ONLY_CONTROLLED","binary_safe":false,"maximum_length":"FIXED_STATUS_ONLY","chunks":"NO_FILE_RESPONSE","ordering":"NO_FILE_RESPONSE","eof":"SOCKET_CLOSE_NOT_FILE_EOF","short_read":"NO_FILE_RESPONSE","timeout":"WATCHDOG_FOR_CONTROLLED_PAYLOAD_NOT_READBACK","automatic_reconnect":false,"automatic_retry":false,"source_open_flags":[],"symlink_behavior":"NOT_APPLICABLE","object_stability":"NOT_APPLICABLE","metadata_before":"ABSENT","metadata_after":"ABSENT","exact_received_byte_count":false,"host_output":"FIXED_LOADER_STATUS","local_reopen":false,"local_sha256":false,"source_can_change":"UNPROVEN","ps5_file_written":false,"functional_flags":["loader_connection_state"],"anti_brick_risk":"PAYLOAD_EXECUTION_REQUIRED_FOR_LEGACY_STDIO","usable_once":false,"usable_twice":false},
|
||||
{"order":4,"route":"exploit_host","exists":"DESCRIPTION_ONLY","classification":"REJECTED_HOST_TO_PS5_ONLY_SOURCE_ABSENT","request_framing":"HOST_SEND","response_framing":"UNPROVEN","binary_safe":false,"maximum_length":"UNPROVEN","chunks":"UNPROVEN","ordering":"UNPROVEN","eof":"UNPROVEN","short_read":"UNPROVEN","timeout":"UNPROVEN","automatic_reconnect":"UNPROVEN","automatic_retry":"UNPROVEN","source_open_flags":[],"symlink_behavior":"UNPROVEN","object_stability":"UNPROVEN","metadata_before":"ABSENT","metadata_after":"ABSENT","exact_received_byte_count":false,"host_output":"ABSENT","local_reopen":false,"local_sha256":false,"source_can_change":"UNPROVEN","ps5_file_written":"UNPROVEN","functional_flags":[],"anti_brick_risk":"UNPROVEN_IMPLEMENTATION","usable_once":false,"usable_twice":false},
|
||||
{"order":5,"route":"browser_or_usb","exists":true,"classification":"REJECTED_REVERSE_DIRECTION_OR_MUTATING","request_framing":"UPLOAD_OR_USB_MOVE","response_framing":"STATUS_ONLY","binary_safe":false,"maximum_length":"NO_FILE_RESPONSE","chunks":"NO_FILE_RESPONSE","ordering":"NO_FILE_RESPONSE","eof":"NO_FILE_RESPONSE","short_read":"NO_FILE_RESPONSE","timeout":"UNPROVEN","automatic_reconnect":"CLIENT_DEPENDENT","automatic_retry":"CLIENT_UI_HAS_RETRIES","source_open_flags":["fopen(rb)_USB","fopen(wb)_DEVICE"],"symlink_behavior":"UNPROVEN","object_stability":"UNPROVEN","metadata_before":"PARTIAL_USB_STAT","metadata_after":"UNPROVEN","exact_received_byte_count":false,"host_output":"ABSENT","local_reopen":false,"local_sha256":false,"source_can_change":"UNPROVEN","ps5_file_written":true,"functional_flags":["server_active_flag","log_ring"],"anti_brick_risk":"MUTATING","usable_once":false,"usable_twice":false},
|
||||
{"order":6,"route":"repository_tools","exists":true,"classification":"REJECTED_HOST_TO_PS5_ONLY","request_framing":"NETCAT_SEND","response_framing":"FIXED_LOADER_STATUS","binary_safe":false,"maximum_length":"NO_FILE_RESPONSE","chunks":"NO_FILE_RESPONSE","ordering":"NO_FILE_RESPONSE","eof":"NO_FILE_RESPONSE","short_read":"NO_FILE_RESPONSE","timeout":"UNPROVEN","automatic_reconnect":false,"automatic_retry":false,"source_open_flags":[],"symlink_behavior":"NOT_APPLICABLE","object_stability":"NOT_APPLICABLE","metadata_before":"ABSENT","metadata_after":"ABSENT","exact_received_byte_count":false,"host_output":"ABSENT","local_reopen":false,"local_sha256":false,"source_can_change":"UNPROVEN","ps5_file_written":false,"functional_flags":["payload_launch"],"anti_brick_risk":"TARGET_EXECUTION","usable_once":false,"usable_twice":false},
|
||||
{"order":7,"route":"no_readback_path","exists":false,"classification":"SELECTED_FINAL_RESULT","request_framing":"ABSENT","response_framing":"ABSENT","binary_safe":false,"maximum_length":"ABSENT","chunks":"ABSENT","ordering":"ABSENT","eof":"ABSENT","short_read":"ABSENT","timeout":"ABSENT","automatic_reconnect":false,"automatic_retry":false,"source_open_flags":[],"symlink_behavior":"ABSENT","object_stability":"ABSENT","metadata_before":"ABSENT","metadata_after":"ABSENT","exact_received_byte_count":false,"host_output":"ABSENT","local_reopen":false,"local_sha256":false,"source_can_change":"UNPROVEN","ps5_file_written":false,"functional_flags":[],"anti_brick_risk":"NO_ROUTE","usable_once":false,"usable_twice":false}
|
||||
],
|
||||
"path_inventory": [
|
||||
{"path":"/data/pldmgr","source":"../chimera-ps5-payload-manager/include/pldmgr.h:8","commit":"e23d94ff91233aa770e2342800c1467875bdef44","component":"payload_manager","kind":"configured_device_default","install_target":false,"rollback_target":false,"autoload_target":false,"staging_target":false,"live":false,"evidence":"SOURCE_LITERAL_ONLY","conflict":true},
|
||||
{"path":"/data/pldmgr/payloads","source":"../chimera-ps5-payload-manager/include/pldmgr.h:12","commit":"e23d94ff91233aa770e2342800c1467875bdef44","component":"payload_storage","kind":"configured_device_default","install_target":true,"rollback_target":false,"autoload_target":false,"staging_target":false,"live":false,"evidence":"SOURCE_LITERAL_ONLY","conflict":true},
|
||||
{"path":"/data/pldmgr/autoload.txt","source":"../chimera-ps5-payload-manager/include/pldmgr.h:9","commit":"e23d94ff91233aa770e2342800c1467875bdef44","component":"payload_manager_config","kind":"configured_device_default","install_target":false,"rollback_target":false,"autoload_target":true,"staging_target":false,"live":false,"evidence":"SOURCE_LITERAL_ONLY","conflict":true},
|
||||
{"path":"/data/pldmgr/pldmgr_config.txt","source":"../chimera-ps5-payload-manager/include/pldmgr.h:10","commit":"e23d94ff91233aa770e2342800c1467875bdef44","component":"payload_manager_config","kind":"configured_device_default","install_target":false,"rollback_target":false,"autoload_target":false,"staging_target":false,"live":false,"evidence":"SOURCE_LITERAL_ONLY","conflict":true},
|
||||
{"path":"/data/pldmgr/payloads/chimera-controlled","source":"../chimera-ps5-payload-manager/src/controlled_manager.c","commit":"e23d94ff91233aa770e2342800c1467875bdef44","component":"controlled_payload_manager","kind":"offline_candidate_staging","install_target":false,"rollback_target":false,"autoload_target":false,"staging_target":true,"live":false,"evidence":"NOT_INSTALLED","conflict":true},
|
||||
{"path":"/data/pldmgr/payloads/elfldr/elfldr_v0.23.elf","source":"manifests/runtime/phase-0.6-loader-runtime-audit.json","commit":"historical","component":"elfldr","kind":"reference_path","install_target":false,"rollback_target":false,"autoload_target":false,"staging_target":false,"live":false,"evidence":"REFERENCE_ONLY","conflict":true},
|
||||
{"path":"/data/pldmgr/payloads/pldmgr/pldmgr_v0.3.1.elf","source":"manifests/runtime/phase-0.6-loader-runtime-audit.json","commit":"historical","component":"payload_manager","kind":"reference_path","install_target":false,"rollback_target":false,"autoload_target":false,"staging_target":false,"live":false,"evidence":"REFERENCE_ONLY","conflict":true},
|
||||
{"path":"/data/payload.elf","source":"../chimera-elfldr/README.md","commit":"197623058f509eddde18868dafcb92fdcac66464","component":"generic_payload","kind":"documentation_example","install_target":false,"rollback_target":false,"autoload_target":false,"staging_target":false,"live":false,"evidence":"EXAMPLE_ONLY","conflict":true},
|
||||
{"path":"/user/temp/payload_<pid>.self","source":"../chimera-elfldr/selfldr.c","commit":"197623058f509eddde18868dafcb92fdcac66464","component":"elfldr_temporary_self","kind":"runtime_template","install_target":false,"rollback_target":false,"autoload_target":false,"staging_target":false,"live":false,"evidence":"SOURCE_TEMPLATE","conflict":false}
|
||||
],
|
||||
"path_classification": "PATH_CONFLICT",
|
||||
"runtime_observed_live_paths": [],
|
||||
"host_backup_contract": {
|
||||
"statuses": ["TRANSFER_NOT_STARTED","TRANSFER_INCOMPLETE","HOST_COPY_RECEIVED","HOST_COPY_REOPENED","HOST_COPY_HASHED","SECOND_COPY_CREATED","SECOND_COPY_REOPENED","SECOND_COPY_HASHED","COPIES_MATCH","SOURCE_MAPPING_PARTIAL","SOURCE_MAPPING_VERIFIED","INVALID"],
|
||||
"one_component_per_session": true,
|
||||
"new_exclusive_local_output": true,
|
||||
"overwrite_existing_output": false,
|
||||
"binary_mode": true,
|
||||
"exact_received_byte_count_required": true,
|
||||
"partial_transfer_status": "INVALID",
|
||||
"automatic_resume": false,
|
||||
"automatic_retry": false,
|
||||
"close_reopen_before_hash": true,
|
||||
"sha256_required": true,
|
||||
"size_required": true,
|
||||
"second_independent_connection": true,
|
||||
"second_new_output": true,
|
||||
"compare_size": true,
|
||||
"compare_sha256": true,
|
||||
"compare_every_byte": true,
|
||||
"capture_raw_protocol_metadata": true,
|
||||
"capture_literal_source_path": true,
|
||||
"capture_device_and_session": true,
|
||||
"capture_client_commit": true,
|
||||
"contains_device_write_command": false,
|
||||
"off_device_backup_valid_requires_copies_match": true,
|
||||
"recovery_proven_allowed": false
|
||||
},
|
||||
"recovery_dependencies": {
|
||||
"elfldr": {
|
||||
"classification": "PARTIAL",
|
||||
"detailed": ["UNPROVEN","ABSENT"],
|
||||
"write_mechanism": "ABSENT",
|
||||
"executor": "external_port_9020_chain_description_only",
|
||||
"works_if_elfldr_broken": "PARTIAL",
|
||||
"works_if_payload_manager_broken": "PARTIAL",
|
||||
"works_after_reboot": "UNPROVEN",
|
||||
"works_without_autoload": "PARTIAL",
|
||||
"works_without_normal_listener": "PARTIAL",
|
||||
"exact_restore_target": "UNPROVEN",
|
||||
"write_then_verify": false,
|
||||
"old_file_remains_intact": "UNPROVEN",
|
||||
"power_loss_safe": false,
|
||||
"second_route": "ABSENT"
|
||||
},
|
||||
"payload_manager": {
|
||||
"classification": "PARTIAL",
|
||||
"detailed": ["CROSS_DEPENDENT","SELF_DEPENDENT","POWER_LOSS_UNSAFE"],
|
||||
"write_mechanism": "NO_INDEPENDENT_RESTORE_CONTRACT",
|
||||
"executor": "elfldr_for_manual_candidate_launch_description_only",
|
||||
"works_if_elfldr_broken": false,
|
||||
"works_if_payload_manager_broken": "PARTIAL",
|
||||
"works_after_reboot": "UNPROVEN",
|
||||
"works_without_autoload": "PARTIAL",
|
||||
"works_without_normal_listener": "PARTIAL",
|
||||
"exact_restore_target": "UNPROVEN",
|
||||
"write_then_verify": false,
|
||||
"old_file_remains_intact": "UNPROVEN",
|
||||
"power_loss_safe": false,
|
||||
"second_route": "ABSENT"
|
||||
}
|
||||
},
|
||||
"side_by_side": {
|
||||
"classification": "BLOCKED",
|
||||
"existing_launch_mechanism": "host_to_elfldr_send",
|
||||
"candidate_path": "UNPROVEN",
|
||||
"candidate_path_source_bound": false,
|
||||
"transfer_required": true,
|
||||
"installation_required": "UNPROVEN",
|
||||
"configuration_change_required": "UNPROVEN",
|
||||
"autoload_required": false,
|
||||
"live_file_remains_intact": "UNPROVEN",
|
||||
"crash_impact": "UNPROVEN",
|
||||
"hang_impact": "UNPROVEN",
|
||||
"reboot_impact": "UNPROVEN",
|
||||
"timeout": "CONTROLLED_ELFLDR_ONLY_NOT_FULL_PROCESS_PROOF",
|
||||
"automatic_retry": false,
|
||||
"cleanup": "UNPROVEN",
|
||||
"independent_recovery": "UNPROVEN",
|
||||
"listener_overlap": true,
|
||||
"process_overlap": true,
|
||||
"global_state": "UNPROVEN",
|
||||
"grants_installation_authorization": false,
|
||||
"grants_execution_authorization": false
|
||||
},
|
||||
"operational_windows": [
|
||||
{"window":1,"name":"MANUAL_FACT_COLLECTION","status":"PARTIAL","device_network_request":false,"file_transfer":false,"device_write":false,"payload_launch":false,"autoload_status_route":false,"automatic_retry":false,"separate_authorization_required":true},
|
||||
{"window":2,"name":"SINGLE_OFF_DEVICE_READBACK","status":"BLOCKED_NO_READBACK_PATH","device_network_request":"NOT_AUTHORIZED","file_transfer":false,"device_write":false,"payload_launch":false,"autoload_status_route":false,"automatic_retry":false,"separate_authorization_required":true},
|
||||
{"window":3,"name":"INDEPENDENT_REPEAT_READBACK","status":"BLOCKED","device_network_request":"NOT_AUTHORIZED","file_transfer":false,"device_write":false,"payload_launch":false,"autoload_status_route":false,"automatic_retry":false,"automatic_third_attempt":false,"separate_authorization_required":true},
|
||||
{"window":4,"name":"SECOND_COMPONENT","status":"BLOCKED","component_session_separate":true,"device_network_request":"NOT_AUTHORIZED","file_transfer":false,"device_write":false,"payload_launch":false,"autoload_status_route":false,"automatic_retry":false,"separate_authorization_required":true},
|
||||
{"window":5,"name":"RECOVERY_CONTRACT_REVIEW","status":"OFFLINE_ONLY_UNPROVEN","device_network_request":false,"file_transfer":false,"device_write":false,"payload_launch":false,"autoload_status_route":false,"automatic_retry":false,"separate_authorization_required":true},
|
||||
{"window":6,"name":"NON_LIVE_STAGING","status":"BLOCKED_OUTSIDE_PHASE","device_network_request":false,"file_transfer":false,"device_write":false,"payload_launch":false,"autoload_status_route":false,"automatic_retry":false,"separate_authorization_required":true},
|
||||
{"window":7,"name":"SIDE_BY_SIDE_EXECUTION","status":"BLOCKED_OUTSIDE_PHASE","device_network_request":false,"file_transfer":false,"device_write":false,"payload_launch":false,"autoload_status_route":false,"automatic_retry":false,"separate_authorization_required":true}
|
||||
],
|
||||
"acceptable_technical_effects_only_with_future_explicit_consent": [
|
||||
"server_active_flag",
|
||||
"log_ring",
|
||||
"stdout_logging",
|
||||
"request_counters",
|
||||
"connection_state",
|
||||
"temporary_manager_state",
|
||||
"temporary_buffers",
|
||||
"sockets",
|
||||
"atime",
|
||||
"audit_record",
|
||||
"cache",
|
||||
"scheduler_activity",
|
||||
"process_accounting",
|
||||
"network_counters",
|
||||
"heap_allocation"
|
||||
],
|
||||
"hard_stops": [
|
||||
"NO_EXISTING_PS5_TO_HOST_FILE_READBACK_ROUTE",
|
||||
"NO_RUNTIME_OBSERVED_LIVE_COMPONENT_PATH",
|
||||
"CURRENT_INSTALLED_IDENTITIES_UNPROVEN",
|
||||
"EXTERNAL_EXPLOIT_EXECUTOR_SOURCE_ABSENT",
|
||||
"INDEPENDENT_BYTE_EXACT_RESTORE_ABSENT",
|
||||
"POWER_LOSS_SAFE_RESTORE_UNPROVEN",
|
||||
"PAYLOAD_MANAGER_BACKUP_HARD_BLOCKER_FOR_INSTALLATION",
|
||||
"INDEPENDENT_RECOVERY_HARD_BLOCKER_FOR_EVERY_DEVICE_WRITE"
|
||||
],
|
||||
"open_hardware_questions": [
|
||||
"current_live_elfldr_path_and_identity",
|
||||
"current_live_payload_manager_path_and_identity",
|
||||
"current_boot_and_autoload_configuration",
|
||||
"current_exploit_chain_repeatability",
|
||||
"post_reboot_component_persistence",
|
||||
"actual_listener_and_process_state",
|
||||
"actual_server_active_process_lifetime",
|
||||
"independent_restore_executor",
|
||||
"power_loss_recovery_behavior"
|
||||
],
|
||||
"final_decision": {
|
||||
"classification": "BLOCKED",
|
||||
"reason": "NO_EXISTING_PS5_TO_HOST_FILE_READBACK_ROUTE; CURRENT_LIVE_PATH_MAPPING_AND_INDEPENDENT_RECOVERY_REMAIN_UNPROVEN",
|
||||
"hardware_evidence_claimed": false,
|
||||
"device_action_authorized": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,155 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://chimera.invalid/schema/phase-0.9d-existing-stack-readback-v1.json",
|
||||
"title": "Chimera GFX Phase-0.9D existing-stack readback audit",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"schema_version",
|
||||
"phase",
|
||||
"date",
|
||||
"status",
|
||||
"baseline_commit",
|
||||
"branch",
|
||||
"scope",
|
||||
"actions",
|
||||
"authorization",
|
||||
"canonical_state",
|
||||
"source_commits",
|
||||
"source_tree_status",
|
||||
"source_evidence",
|
||||
"immutable_evidence",
|
||||
"decisions",
|
||||
"bootstrap_graph",
|
||||
"endpoint_defaults",
|
||||
"endpoint_matrix",
|
||||
"flag_semantics",
|
||||
"readback_routes",
|
||||
"path_inventory",
|
||||
"path_classification",
|
||||
"runtime_observed_live_paths",
|
||||
"host_backup_contract",
|
||||
"recovery_dependencies",
|
||||
"side_by_side",
|
||||
"operational_windows",
|
||||
"acceptable_technical_effects_only_with_future_explicit_consent",
|
||||
"hard_stops",
|
||||
"open_hardware_questions",
|
||||
"final_decision"
|
||||
],
|
||||
"properties": {
|
||||
"schema_version": {"const": 1},
|
||||
"phase": {"const": "PHASE_0_9D_EXISTING_STACK_READBACK"},
|
||||
"date": {"type": "string"},
|
||||
"status": {"const": "DESIGN_ONLY"},
|
||||
"baseline_commit": {"const": "e0e68829ab76977c845e7106ef93e6c01fbc966e"},
|
||||
"branch": {"const": "codex/chimera-gfx-phase09d-existing-stack-readback"},
|
||||
"scope": {"const": "offline_existing_stack_readback_and_recovery_feasibility"},
|
||||
"actions": {
|
||||
"type": "object",
|
||||
"additionalProperties": {"const": false},
|
||||
"minProperties": 10
|
||||
},
|
||||
"authorization": {
|
||||
"type": "object",
|
||||
"additionalProperties": {"const": false},
|
||||
"minProperties": 9
|
||||
},
|
||||
"canonical_state": {"type": "object"},
|
||||
"source_commits": {"type": "object", "minProperties": 6},
|
||||
"source_tree_status": {
|
||||
"type": "object",
|
||||
"additionalProperties": {"const": "clean"},
|
||||
"minProperties": 5
|
||||
},
|
||||
"source_evidence": {"type": "object", "minProperties": 20},
|
||||
"immutable_evidence": {"type": "object", "minProperties": 5},
|
||||
"decisions": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"new_observer_feasibility",
|
||||
"existing_stack_manual_fact_collection",
|
||||
"existing_stack_single_readback",
|
||||
"existing_stack_repeat_readback",
|
||||
"elfldr_independent_recovery",
|
||||
"payload_manager_independent_recovery",
|
||||
"side_by_side_feasibility",
|
||||
"device_write",
|
||||
"target_execution",
|
||||
"installation"
|
||||
],
|
||||
"properties": {
|
||||
"new_observer_feasibility": {"const": "BLOCKED"},
|
||||
"existing_stack_manual_fact_collection": {"enum": ["READY_FOR_REVIEW", "PARTIAL", "BLOCKED"]},
|
||||
"existing_stack_single_readback": {"enum": ["READY_FOR_REVIEW", "PARTIAL", "BLOCKED_NO_READBACK_PATH", "BLOCKED_MUTATING_ONLY_PATH", "BLOCKED_PROTOCOL_INCOMPLETE"]},
|
||||
"existing_stack_repeat_readback": {"enum": ["READY_FOR_REVIEW", "PARTIAL", "BLOCKED"]},
|
||||
"elfldr_independent_recovery": {"enum": ["PROVEN_FROM_SOURCE", "PARTIAL", "SELF_DEPENDENT", "UNPROVEN", "ABSENT"]},
|
||||
"payload_manager_independent_recovery": {"enum": ["PROVEN_FROM_SOURCE", "PARTIAL", "SELF_DEPENDENT", "UNPROVEN", "ABSENT"]},
|
||||
"side_by_side_feasibility": {"enum": ["READY_FOR_FUTURE_REVIEW", "PARTIAL", "BLOCKED"]},
|
||||
"device_write": {"const": "NOT_AUTHORIZED"},
|
||||
"target_execution": {"const": "NOT_AUTHORIZED"},
|
||||
"installation": {"const": "NOT_AUTHORIZED"}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"bootstrap_graph": {"type": "array", "minItems": 5},
|
||||
"endpoint_defaults": {"type": "object"},
|
||||
"endpoint_matrix": {
|
||||
"type": "array",
|
||||
"minItems": 40,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"profile",
|
||||
"method",
|
||||
"endpoint",
|
||||
"handler",
|
||||
"source",
|
||||
"lines",
|
||||
"parameters",
|
||||
"response",
|
||||
"open_flags",
|
||||
"reads_bytes",
|
||||
"writes_bytes",
|
||||
"creates_file",
|
||||
"removes_file",
|
||||
"renames_file",
|
||||
"reads_directory",
|
||||
"reads_metadata",
|
||||
"calculates_hash",
|
||||
"modifies_configuration",
|
||||
"writes_autoload_triggered",
|
||||
"launches_payload",
|
||||
"process_or_service_action",
|
||||
"error_behavior",
|
||||
"effect_class",
|
||||
"observation_candidate",
|
||||
"forbidden_reason"
|
||||
]
|
||||
}
|
||||
},
|
||||
"flag_semantics": {"type": "object"},
|
||||
"readback_routes": {"type": "array", "minItems": 7, "maxItems": 7},
|
||||
"path_inventory": {"type": "array", "minItems": 9},
|
||||
"path_classification": {"const": "PATH_CONFLICT"},
|
||||
"runtime_observed_live_paths": {"type": "array", "maxItems": 0},
|
||||
"host_backup_contract": {"type": "object"},
|
||||
"recovery_dependencies": {"type": "object"},
|
||||
"side_by_side": {"type": "object"},
|
||||
"operational_windows": {"type": "array", "minItems": 7, "maxItems": 7},
|
||||
"acceptable_technical_effects_only_with_future_explicit_consent": {"type": "array", "minItems": 10},
|
||||
"hard_stops": {"type": "array", "minItems": 8},
|
||||
"open_hardware_questions": {"type": "array", "minItems": 8},
|
||||
"final_decision": {
|
||||
"type": "object",
|
||||
"required": ["classification", "reason", "hardware_evidence_claimed", "device_action_authorized"],
|
||||
"properties": {
|
||||
"classification": {"const": "BLOCKED"},
|
||||
"reason": {"type": "string"},
|
||||
"hardware_evidence_claimed": {"const": false},
|
||||
"device_action_authorized": {"const": false}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,685 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"phase": "PHASE_0_9E_BOOTSTRAP_RESCUE_PROVENANCE",
|
||||
"date": "2026-07-18",
|
||||
"status": "DESIGN_ONLY",
|
||||
"baseline_commit": "e5304e394efb0790e1939bef87404f19b58caa43",
|
||||
"branch": "codex/chimera-gfx-phase09e-bootstrap-rescue-provenance",
|
||||
"canonical_state": {
|
||||
"phase09d_decision": "BLOCKED_NO_READBACK_PATH",
|
||||
"phase09c_new_observer": "BLOCKED_MULTIPLE_FOUNDATIONAL_CONTRACTS",
|
||||
"payload_manager_backup": "HARD_BLOCKER_FOR_INSTALLATION",
|
||||
"independent_recovery": "UNPROVEN",
|
||||
"firmware_runtime_behavior": "UNPROVEN",
|
||||
"permanent_denylist_sha256": "e9603b0e3792781ad5b511afb22ef61e3d4fd4c5a16bf928f8609193bcd97783",
|
||||
"permanently_blocked_artifact_sha256": "4be1c17b4964f2b68c39b5145bc4af4619c32512d60269ecf5c39728b390fa63"
|
||||
},
|
||||
"authorization": {
|
||||
"device_action_authorized": false,
|
||||
"execution_authorized": false,
|
||||
"installation_authorized": false,
|
||||
"lifecycle_authorized": false,
|
||||
"autoload_authorized": false,
|
||||
"device_write_authorized": false,
|
||||
"transfer_authorized": false,
|
||||
"automatic_retry": false,
|
||||
"target_build_authorized": false,
|
||||
"rescue_payload_design_authorized": false
|
||||
},
|
||||
"actions": {
|
||||
"internet_used": false,
|
||||
"fetch_performed": false,
|
||||
"clone_performed": false,
|
||||
"package_installed": false,
|
||||
"ps5_connected": false,
|
||||
"device_request_performed": false,
|
||||
"files_transferred": false,
|
||||
"device_write_performed": false,
|
||||
"target_execution_performed": false,
|
||||
"target_build_performed": false,
|
||||
"target_artifact_created": false,
|
||||
"rescue_payload_created": false,
|
||||
"readback_payload_created": false,
|
||||
"device_client_created": false,
|
||||
"backup_created": false,
|
||||
"staging_performed": false
|
||||
},
|
||||
"decisions": {
|
||||
"actual_bootstrap_package_available": false,
|
||||
"actual_bootstrap_identity": null,
|
||||
"bootstrap_provenance": "POSSIBLE",
|
||||
"independent_from_elfldr": "unproven",
|
||||
"independent_from_payload_manager": "unproven",
|
||||
"restartable_after_reboot": "unproven",
|
||||
"host_to_memory": "UNKNOWN",
|
||||
"output_channel_for_future_rescue": "UNKNOWN",
|
||||
"independent_rescue_classification": "BOOTSTRAP_IMPLEMENTATION_MISSING",
|
||||
"phase09f_rescue_payload_design_allowed": false,
|
||||
"device_action_authorized": false,
|
||||
"execution_authorized": false,
|
||||
"installation_authorized": false,
|
||||
"automatic_retry": false
|
||||
},
|
||||
"source_commits": {
|
||||
"hardened_elfldr": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"controlled_payload_manager": "e23d94ff91233aa770e2342800c1467875bdef44",
|
||||
"elfldr_public_base": "699e8bcff03e91e8d6ca6eba281af25c5a58d8c2",
|
||||
"payload_manager_public_base": "cfbc70f30f419b09bf2b52283f7409e2d3117ee1",
|
||||
"ps5_payload_sdk_v0_41": "d2e2e585740362976a39fdd5ccf390f199a7bc37"
|
||||
},
|
||||
"source_tree_status": {
|
||||
"hardened_elfldr": "clean",
|
||||
"controlled_payload_manager": "clean",
|
||||
"elfldr_public_base": "clean",
|
||||
"payload_manager_public_base": "clean",
|
||||
"ps5_payload_sdk_v0_41": "clean"
|
||||
},
|
||||
"search_scope": {
|
||||
"roots": [
|
||||
"chimera-gfx",
|
||||
"chimera-gfx/work/upstream",
|
||||
"../chimera-elfldr",
|
||||
"../chimera-ps5-payload-manager",
|
||||
"~/.codex/attachments",
|
||||
"~/Downloads exact Y2JB filename"
|
||||
],
|
||||
"full_computer_scan": false,
|
||||
"arbitrary_public_upstream_substitution": false,
|
||||
"network_search": false
|
||||
},
|
||||
"candidate_archive_audit": {
|
||||
"outer_path": "~/Downloads/Y2JB-Autoloader-403-1240.zip",
|
||||
"outer_size": 504159435,
|
||||
"outer_sha256": "805e3f87f0c371223619ffc7d3a7b3c0d41a1fae8a8b1171d9e2f162659e8291",
|
||||
"zip_integrity": "PASS",
|
||||
"zip_entry_count": 5,
|
||||
"inner_path": "PS5/EXPORT/BACKUP/202606102126_00/archive.dat",
|
||||
"inner_size": 504365056,
|
||||
"inner_sha256": "6439834e8856d45b6d6fe699b74c35ca6985a199ea8ecf3e398c018d37be2d55",
|
||||
"inner_magic_ascii": "SIECAF",
|
||||
"inner_entropy_bits_per_byte": 7.999987,
|
||||
"plaintext_marker_counts": {
|
||||
"Y2JB_uppercase": 0,
|
||||
"y2jb_lowercase": 0,
|
||||
"9020": 0,
|
||||
"elfldr": 0,
|
||||
"autoload": 0,
|
||||
"html": 0,
|
||||
"wasm": 0,
|
||||
"ELF_magic": 0
|
||||
},
|
||||
"acceptable_local_parser_present": false,
|
||||
"decryption_attempted": false,
|
||||
"source_identity_proven": false,
|
||||
"deployed_use_proven": false,
|
||||
"classification": "POSSIBLE"
|
||||
},
|
||||
"artifacts": [
|
||||
{
|
||||
"logical_name": "y2jb_named_outer_backup",
|
||||
"artifact_role": "possible_exploit_autoloader_backup_package",
|
||||
"local_relative_path": "~/Downloads/Y2JB-Autoloader-403-1240.zip",
|
||||
"size": 504159435,
|
||||
"sha256": "805e3f87f0c371223619ffc7d3a7b3c0d41a1fae8a8b1171d9e2f162659e8291",
|
||||
"file_type": "ZIP",
|
||||
"source_repository": null,
|
||||
"source_commit": null,
|
||||
"build_identity": null,
|
||||
"version": "filename_claim_4.03_to_12.40_only",
|
||||
"obtained_from": "local_user_download_exact_origin_unknown",
|
||||
"evidence_that_it_is_deployed_or_used": "historical_phase06_local_backup_candidate_only",
|
||||
"confidence": "POSSIBLE",
|
||||
"immutable": false,
|
||||
"executable": false,
|
||||
"persistent_on_device": "unproven",
|
||||
"transferred_per_session": "unproven",
|
||||
"required_for_bootstrap": "unproven",
|
||||
"required_for_recovery": "unproven"
|
||||
},
|
||||
{
|
||||
"logical_name": "opaque_siecaf_archive",
|
||||
"artifact_role": "opaque_console_backup_container",
|
||||
"local_relative_path": "~/Downloads/Y2JB-Autoloader-403-1240.zip::PS5/EXPORT/BACKUP/202606102126_00/archive.dat",
|
||||
"size": 504365056,
|
||||
"sha256": "6439834e8856d45b6d6fe699b74c35ca6985a199ea8ecf3e398c018d37be2d55",
|
||||
"file_type": "SIECAF_OPAQUE_BINARY",
|
||||
"source_repository": null,
|
||||
"source_commit": null,
|
||||
"build_identity": null,
|
||||
"version": null,
|
||||
"obtained_from": "single_file_inside_local_candidate_zip",
|
||||
"evidence_that_it_is_deployed_or_used": "none",
|
||||
"confidence": "UNKNOWN",
|
||||
"immutable": false,
|
||||
"executable": false,
|
||||
"persistent_on_device": "unproven",
|
||||
"transferred_per_session": "unproven",
|
||||
"required_for_bootstrap": "unproven",
|
||||
"required_for_recovery": "unproven"
|
||||
},
|
||||
{
|
||||
"logical_name": "hardened_elfldr_final",
|
||||
"artifact_role": "post_9020_elfldr_bootstrap_payload",
|
||||
"local_relative_path": "../chimera-elfldr/elfldr-ps5.elf",
|
||||
"size": 397000,
|
||||
"sha256": "63e810982471eb40cae3a20aa9df9a0a02892f420e429874fae4e99aa400b561",
|
||||
"file_type": "ELF64_PIE_PS5",
|
||||
"source_repository": "private-gitea/chimera-elfldr",
|
||||
"source_commit": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"build_identity": "chimera-elfldr-phase07-fw960-v1",
|
||||
"version": "0.23-chimera-phase07",
|
||||
"obtained_from": "local_reproducible_phase07_build",
|
||||
"evidence_that_it_is_deployed_or_used": "artifact_manifest_transferred_false_executed_false",
|
||||
"confidence": "REFERENCE_ONLY",
|
||||
"immutable": false,
|
||||
"executable": true,
|
||||
"persistent_on_device": false,
|
||||
"transferred_per_session": false,
|
||||
"required_for_bootstrap": true,
|
||||
"required_for_recovery": false
|
||||
},
|
||||
{
|
||||
"logical_name": "hardened_elfldr_final_map",
|
||||
"artifact_role": "linker_map_for_post_9020_payload",
|
||||
"local_relative_path": "../chimera-elfldr/elfldr-ps5.elf.map",
|
||||
"size": 142905,
|
||||
"sha256": "2ea5ff73299db6e61d5fd998c358ee910bc4e8fa1e6e7c73dbaa842bc813124f",
|
||||
"file_type": "LINKER_MAP_TEXT",
|
||||
"source_repository": "private-gitea/chimera-elfldr",
|
||||
"source_commit": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"build_identity": "chimera-elfldr-phase07-fw960-v1",
|
||||
"version": "0.23-chimera-phase07",
|
||||
"obtained_from": "local_phase07_build",
|
||||
"evidence_that_it_is_deployed_or_used": "offline_build_evidence_only",
|
||||
"confidence": "REFERENCE_ONLY",
|
||||
"immutable": false,
|
||||
"executable": false,
|
||||
"persistent_on_device": false,
|
||||
"transferred_per_session": false,
|
||||
"required_for_bootstrap": false,
|
||||
"required_for_recovery": false
|
||||
},
|
||||
{
|
||||
"logical_name": "embedded_bootstrap_map",
|
||||
"artifact_role": "linker_map_for_embedded_bootstrap_stage",
|
||||
"local_relative_path": "../chimera-elfldr/bootstrap.elf.map",
|
||||
"size": 143081,
|
||||
"sha256": "ec4ae17abeb8270948d8a7d4196593ba94cbdb69376b8b9f7f009b25ab5b3323",
|
||||
"file_type": "LINKER_MAP_TEXT",
|
||||
"source_repository": "private-gitea/chimera-elfldr",
|
||||
"source_commit": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"build_identity": "phase07_intermediate_map",
|
||||
"version": "0.23-chimera-phase07",
|
||||
"obtained_from": "local_phase07_build",
|
||||
"evidence_that_it_is_deployed_or_used": "intermediate_ELF_absent_and_final_artifact_not_transferred",
|
||||
"confidence": "REFERENCE_ONLY",
|
||||
"immutable": false,
|
||||
"executable": false,
|
||||
"persistent_on_device": false,
|
||||
"transferred_per_session": false,
|
||||
"required_for_bootstrap": false,
|
||||
"required_for_recovery": false
|
||||
},
|
||||
{
|
||||
"logical_name": "embedded_socket_service_map",
|
||||
"artifact_role": "linker_map_for_embedded_port_9021_service",
|
||||
"local_relative_path": "../chimera-elfldr/socksrv.elf.map",
|
||||
"size": 145072,
|
||||
"sha256": "bf74db6ee68a60652426936e7037bb5a143078f44cc7774fa04c9bc4bc5447c1",
|
||||
"file_type": "LINKER_MAP_TEXT",
|
||||
"source_repository": "private-gitea/chimera-elfldr",
|
||||
"source_commit": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"build_identity": "phase07_intermediate_map",
|
||||
"version": "0.23-chimera-phase07",
|
||||
"obtained_from": "local_phase07_build",
|
||||
"evidence_that_it_is_deployed_or_used": "intermediate_ELF_absent_and_final_artifact_not_transferred",
|
||||
"confidence": "REFERENCE_ONLY",
|
||||
"immutable": false,
|
||||
"executable": false,
|
||||
"persistent_on_device": false,
|
||||
"transferred_per_session": false,
|
||||
"required_for_bootstrap": false,
|
||||
"required_for_recovery": false
|
||||
},
|
||||
{
|
||||
"logical_name": "hardened_elfldr_makefile",
|
||||
"artifact_role": "build_and_port_default_source",
|
||||
"local_relative_path": "../chimera-elfldr/Makefile",
|
||||
"size": 1902,
|
||||
"sha256": "3df93b48fc61ec67907b136e44ea2085baacf08347864d32befc072a7a783384",
|
||||
"file_type": "MAKEFILE",
|
||||
"source_repository": "private-gitea/chimera-elfldr",
|
||||
"source_commit": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"build_identity": "commit_bound_source",
|
||||
"version": "0.23-chimera-phase07",
|
||||
"obtained_from": "clean_local_source_tree",
|
||||
"evidence_that_it_is_deployed_or_used": "none",
|
||||
"confidence": "REFERENCE_ONLY",
|
||||
"immutable": true,
|
||||
"executable": false,
|
||||
"persistent_on_device": false,
|
||||
"transferred_per_session": false,
|
||||
"required_for_bootstrap": false,
|
||||
"required_for_recovery": false
|
||||
},
|
||||
{
|
||||
"logical_name": "hardened_elfldr_readme",
|
||||
"artifact_role": "architectural_9020_sender_description",
|
||||
"local_relative_path": "../chimera-elfldr/README.md",
|
||||
"size": 2821,
|
||||
"sha256": "372aeb28dc971b2bd98093a47fdaf77c32f75bbdc3b3d7e8678900744b91eadb",
|
||||
"file_type": "MARKDOWN",
|
||||
"source_repository": "private-gitea/chimera-elfldr",
|
||||
"source_commit": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"build_identity": "commit_bound_documentation",
|
||||
"version": "0.23-chimera-phase07",
|
||||
"obtained_from": "clean_local_source_tree",
|
||||
"evidence_that_it_is_deployed_or_used": "none",
|
||||
"confidence": "REFERENCE_ONLY",
|
||||
"immutable": true,
|
||||
"executable": false,
|
||||
"persistent_on_device": false,
|
||||
"transferred_per_session": false,
|
||||
"required_for_bootstrap": false,
|
||||
"required_for_recovery": false
|
||||
},
|
||||
{
|
||||
"logical_name": "hardened_elfldr_main_source",
|
||||
"artifact_role": "post_9020_first_stage_source",
|
||||
"local_relative_path": "../chimera-elfldr/main.c",
|
||||
"size": 2473,
|
||||
"sha256": "876389a26999073994e63ca29926982280d9594a1ee941244205b54f57e2b4d1",
|
||||
"file_type": "C_SOURCE",
|
||||
"source_repository": "private-gitea/chimera-elfldr",
|
||||
"source_commit": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"build_identity": "commit_bound_source",
|
||||
"version": "0.23-chimera-phase07",
|
||||
"obtained_from": "clean_local_source_tree",
|
||||
"evidence_that_it_is_deployed_or_used": "final_artifact_not_transferred",
|
||||
"confidence": "REFERENCE_ONLY",
|
||||
"immutable": true,
|
||||
"executable": false,
|
||||
"persistent_on_device": false,
|
||||
"transferred_per_session": false,
|
||||
"required_for_bootstrap": true,
|
||||
"required_for_recovery": false
|
||||
},
|
||||
{
|
||||
"logical_name": "hardened_embedded_bootstrap_source",
|
||||
"artifact_role": "SceRedisServer_embedded_stage_source",
|
||||
"local_relative_path": "../chimera-elfldr/bootstrap.c",
|
||||
"size": 2081,
|
||||
"sha256": "5a8072ec0d6db919cb3a81a7028dc91fd8e2c3a0d69b0fa7e84836fa93b45381",
|
||||
"file_type": "C_SOURCE",
|
||||
"source_repository": "private-gitea/chimera-elfldr",
|
||||
"source_commit": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"build_identity": "commit_bound_source",
|
||||
"version": "0.23-chimera-phase07",
|
||||
"obtained_from": "clean_local_source_tree",
|
||||
"evidence_that_it_is_deployed_or_used": "final_artifact_not_transferred",
|
||||
"confidence": "REFERENCE_ONLY",
|
||||
"immutable": true,
|
||||
"executable": false,
|
||||
"persistent_on_device": false,
|
||||
"transferred_per_session": false,
|
||||
"required_for_bootstrap": true,
|
||||
"required_for_recovery": false
|
||||
},
|
||||
{
|
||||
"logical_name": "hardened_port_9021_service_source",
|
||||
"artifact_role": "post_bootstrap_socket_service_source",
|
||||
"local_relative_path": "../chimera-elfldr/socksrv.c",
|
||||
"size": 11556,
|
||||
"sha256": "d642ced3e9b4a296dd15e355050ebe956f53a6dfdaa6ac10109cd067a3bba3d7",
|
||||
"file_type": "C_SOURCE",
|
||||
"source_repository": "private-gitea/chimera-elfldr",
|
||||
"source_commit": "197623058f509eddde18868dafcb92fdcac66464",
|
||||
"build_identity": "commit_bound_source",
|
||||
"version": "0.23-chimera-phase07",
|
||||
"obtained_from": "clean_local_source_tree",
|
||||
"evidence_that_it_is_deployed_or_used": "final_artifact_not_transferred",
|
||||
"confidence": "REFERENCE_ONLY",
|
||||
"immutable": true,
|
||||
"executable": false,
|
||||
"persistent_on_device": false,
|
||||
"transferred_per_session": false,
|
||||
"required_for_bootstrap": true,
|
||||
"required_for_recovery": false
|
||||
},
|
||||
{
|
||||
"logical_name": "public_elfldr_v023_asset",
|
||||
"artifact_role": "historical_public_release_reference",
|
||||
"local_relative_path": "work/upstream/release-assets/elfldr-ps5-v0.23.elf",
|
||||
"size": 397000,
|
||||
"sha256": "092d16ee0ede0c494947efd38d1a17bbd7cc4b022d3858ea898833c188c703e8",
|
||||
"file_type": "ELF64_PIE_PS5",
|
||||
"source_repository": "ps5-payload-dev/elfldr",
|
||||
"source_commit": "699e8bcff03e91e8d6ca6eba281af25c5a58d8c2",
|
||||
"build_identity": "public_release_v0.23",
|
||||
"version": "v0.23",
|
||||
"obtained_from": "existing_local_upstream_release_asset",
|
||||
"evidence_that_it_is_deployed_or_used": "historical_phase06_identity_only_not_current_external_bootstrap",
|
||||
"confidence": "REFERENCE_ONLY",
|
||||
"immutable": true,
|
||||
"executable": true,
|
||||
"persistent_on_device": "historical_reference_only",
|
||||
"transferred_per_session": "historical_reference_only",
|
||||
"required_for_bootstrap": false,
|
||||
"required_for_recovery": false
|
||||
},
|
||||
{
|
||||
"logical_name": "controlled_payload_manager_elf",
|
||||
"artifact_role": "final_chain_manager_reference",
|
||||
"local_relative_path": "../chimera-ps5-payload-manager/pldmgr-controlled.elf",
|
||||
"size": 99560,
|
||||
"sha256": "8fecf8241a46246eddbd21e8bb4d875f5d76f1f4f4c6a11384df1f131aa5e5b1",
|
||||
"file_type": "ELF64_PIE_PS5",
|
||||
"source_repository": "private-gitea/chimera-ps5-payload-manager",
|
||||
"source_commit": "e23d94ff91233aa770e2342800c1467875bdef44",
|
||||
"build_identity": "chimera-controlled-payload-manager-phase07",
|
||||
"version": "phase07",
|
||||
"obtained_from": "local_reproducible_phase07_build",
|
||||
"evidence_that_it_is_deployed_or_used": "controlled_runtime_profile_installed_false",
|
||||
"confidence": "REFERENCE_ONLY",
|
||||
"immutable": false,
|
||||
"executable": true,
|
||||
"persistent_on_device": false,
|
||||
"transferred_per_session": false,
|
||||
"required_for_bootstrap": false,
|
||||
"required_for_recovery": false
|
||||
}
|
||||
],
|
||||
"exact_used_artifacts": [],
|
||||
"bootstrap_dependency_graph": [
|
||||
{
|
||||
"name": "operator_trigger",
|
||||
"exact_artifact_identity": null,
|
||||
"execution_environment": "host_or_browser_unknown",
|
||||
"persistent_or_temporary": "unknown",
|
||||
"side": "host",
|
||||
"start_mechanism": "unknown",
|
||||
"input_channel": "unknown",
|
||||
"output_channel": "unknown",
|
||||
"network_port": null,
|
||||
"protocol": "unknown",
|
||||
"dependencies": ["actual_y2jb_or_other_exploit_package"],
|
||||
"device_file_required": "unproven",
|
||||
"elfldr_required": "unproven",
|
||||
"payload_manager_required": "unproven",
|
||||
"autoload_required": "unproven",
|
||||
"reboot_resilient": "unproven",
|
||||
"restartable_after_reboot": "unproven",
|
||||
"failure_impact": "bootstrap_unavailable",
|
||||
"recovery_role": "fresh_session_trigger",
|
||||
"evidence_level": "UNKNOWN"
|
||||
},
|
||||
{
|
||||
"name": "y2jb_or_other_exploit_host",
|
||||
"exact_artifact_identity": null,
|
||||
"execution_environment": "browser_or_host_unknown",
|
||||
"persistent_or_temporary": "unknown",
|
||||
"side": "host_and_device_browser_unknown",
|
||||
"start_mechanism": "operator_trigger_unknown",
|
||||
"input_channel": "opaque_candidate_package",
|
||||
"output_channel": "unknown",
|
||||
"network_port": null,
|
||||
"protocol": "unknown",
|
||||
"dependencies": ["operator_trigger"],
|
||||
"device_file_required": "unproven",
|
||||
"elfldr_required": "architecturally_no_but_unproven",
|
||||
"payload_manager_required": "architecturally_no_but_unproven",
|
||||
"autoload_required": "unproven",
|
||||
"reboot_resilient": "unproven",
|
||||
"restartable_after_reboot": "unproven",
|
||||
"failure_impact": "port_9020_listener_not_created",
|
||||
"recovery_role": "possible_independent_bootstrap",
|
||||
"evidence_level": "POSSIBLE"
|
||||
},
|
||||
{
|
||||
"name": "rudimentary_loader_port_9020",
|
||||
"exact_artifact_identity": null,
|
||||
"execution_environment": "PS5_process_or_kernel_context_unknown",
|
||||
"persistent_or_temporary": "unknown",
|
||||
"side": "device",
|
||||
"start_mechanism": "exploit_chain_description_only",
|
||||
"input_channel": "host_TCP_stream_assumed",
|
||||
"output_channel": "unknown",
|
||||
"network_port": 9020,
|
||||
"protocol": "UNPROVEN_IMPLEMENTATION_MISSING",
|
||||
"dependencies": ["y2jb_or_other_exploit_host"],
|
||||
"device_file_required": "unproven",
|
||||
"elfldr_required": false,
|
||||
"payload_manager_required": false,
|
||||
"autoload_required": "unproven",
|
||||
"reboot_resilient": "unproven",
|
||||
"restartable_after_reboot": "unproven",
|
||||
"failure_impact": "cannot_launch_any_post_exploit_ELF",
|
||||
"recovery_role": "candidate_rescue_executor",
|
||||
"evidence_level": "IMPLEMENTATION_MISSING"
|
||||
},
|
||||
{
|
||||
"name": "conceptual_host_sender",
|
||||
"exact_artifact_identity": null,
|
||||
"execution_environment": "host_stream_tool",
|
||||
"persistent_or_temporary": "temporary",
|
||||
"side": "host",
|
||||
"start_mechanism": "manual_README_pipeline",
|
||||
"input_channel": "local_or_downloaded_ELF_bytes",
|
||||
"output_channel": "TCP_to_device_9020",
|
||||
"network_port": 9020,
|
||||
"protocol": "raw_stream_shape_only",
|
||||
"dependencies": ["rudimentary_loader_port_9020"],
|
||||
"device_file_required": false,
|
||||
"elfldr_required": false,
|
||||
"payload_manager_required": false,
|
||||
"autoload_required": false,
|
||||
"reboot_resilient": "not_applicable",
|
||||
"restartable_after_reboot": "depends_on_missing_listener_chain",
|
||||
"failure_impact": "no_ELF_delivery",
|
||||
"recovery_role": "possible_rescue_sender",
|
||||
"evidence_level": "ARCHITECTURE_ONLY"
|
||||
},
|
||||
{
|
||||
"name": "hardened_elfldr_first_stage",
|
||||
"exact_artifact_identity": "63e810982471eb40cae3a20aa9df9a0a02892f420e429874fae4e99aa400b561",
|
||||
"execution_environment": "bdj.elf_then_SceRedisServer_by_source",
|
||||
"persistent_or_temporary": "process_stages",
|
||||
"side": "device",
|
||||
"start_mechanism": "port_9020_execution_assumed",
|
||||
"input_channel": "ELF_from_9020",
|
||||
"output_channel": "embedded_bootstrap_execution",
|
||||
"network_port": null,
|
||||
"protocol": "payload_args_and_ptrace_source_bound_after_entry",
|
||||
"dependencies": ["rudimentary_loader_port_9020"],
|
||||
"device_file_required": false,
|
||||
"elfldr_required": false,
|
||||
"payload_manager_required": false,
|
||||
"autoload_required": false,
|
||||
"reboot_resilient": false,
|
||||
"restartable_after_reboot": "requires_missing_exploit_chain",
|
||||
"failure_impact": "port_9021_service_absent",
|
||||
"recovery_role": "normal_loader_bootstrap_not_independent_rescue",
|
||||
"evidence_level": "REFERENCE_ONLY_NOT_DEPLOYED"
|
||||
},
|
||||
{
|
||||
"name": "elfldr_service_port_9021",
|
||||
"exact_artifact_identity": "embedded_in_63e810982471eb40cae3a20aa9df9a0a02892f420e429874fae4e99aa400b561",
|
||||
"execution_environment": "new_PS5_process_by_source",
|
||||
"persistent_or_temporary": "process_local_background",
|
||||
"side": "device",
|
||||
"start_mechanism": "embedded_bootstrap_stage",
|
||||
"input_channel": "TCP_listener",
|
||||
"output_channel": "fixed_status_or_legacy_stdio",
|
||||
"network_port": 9021,
|
||||
"protocol": "source_bound_but_not_9020",
|
||||
"dependencies": ["hardened_elfldr_first_stage"],
|
||||
"device_file_required": false,
|
||||
"elfldr_required": true,
|
||||
"payload_manager_required": false,
|
||||
"autoload_required": false,
|
||||
"reboot_resilient": false,
|
||||
"restartable_after_reboot": "requires_missing_exploit_chain",
|
||||
"failure_impact": "normal_payload_launch_unavailable",
|
||||
"recovery_role": "not_independent_from_elfldr",
|
||||
"evidence_level": "REFERENCE_ONLY_NOT_DEPLOYED"
|
||||
},
|
||||
{
|
||||
"name": "controlled_payload_manager",
|
||||
"exact_artifact_identity": "8fecf8241a46246eddbd21e8bb4d875f5d76f1f4f4c6a11384df1f131aa5e5b1",
|
||||
"execution_environment": "PS5_process_by_source",
|
||||
"persistent_or_temporary": "not_installed_in_evidence",
|
||||
"side": "device",
|
||||
"start_mechanism": "elfldr_launch_if_later_authorized",
|
||||
"input_channel": "controlled_HTTP",
|
||||
"output_channel": "fixed_status",
|
||||
"network_port": 8085,
|
||||
"protocol": "source_bound_controlled_profile",
|
||||
"dependencies": ["elfldr_service_port_9021"],
|
||||
"device_file_required": true,
|
||||
"elfldr_required": true,
|
||||
"payload_manager_required": false,
|
||||
"autoload_required": false,
|
||||
"reboot_resilient": false,
|
||||
"restartable_after_reboot": "unproven",
|
||||
"failure_impact": "management_layer_unavailable",
|
||||
"recovery_role": "component_to_recover_not_rescue_executor",
|
||||
"evidence_level": "REFERENCE_ONLY_NOT_DEPLOYED"
|
||||
}
|
||||
],
|
||||
"host_to_memory_analysis": {
|
||||
"classification": "UNKNOWN",
|
||||
"receive_code": "MISSING",
|
||||
"storage_location": "UNKNOWN",
|
||||
"temporary_device_file_created": "UNKNOWN",
|
||||
"mapping_code": "MISSING",
|
||||
"mapping_permissions": "UNKNOWN",
|
||||
"entrypoint_selection": "UNKNOWN",
|
||||
"argument_contract": "UNKNOWN",
|
||||
"cleanup_before_transfer": "UNKNOWN",
|
||||
"cleanup_after_transfer": "UNKNOWN",
|
||||
"parser_error_behavior": "UNKNOWN",
|
||||
"crash_behavior": "UNKNOWN",
|
||||
"hang_behavior": "UNKNOWN",
|
||||
"live_installation_untouched": "UNPROVEN",
|
||||
"autoload_created": "UNPROVEN",
|
||||
"persistent_configuration_changed": "UNPROVEN"
|
||||
},
|
||||
"reboot_and_crash": {
|
||||
"classification": "REBOOT_RECOVERY_UNPROVEN",
|
||||
"exploit_state": "UNKNOWN",
|
||||
"port_9020_state": "UNKNOWN",
|
||||
"port_9021_state": "PROCESS_LOCAL_BY_SOURCE",
|
||||
"filesystem_state": "UNKNOWN_FOR_ACTUAL_BOOTSTRAP",
|
||||
"autoload_state": "UNKNOWN_FOR_ACTUAL_BOOTSTRAP",
|
||||
"fresh_jailbreak_after_reboot": "UNPROVEN",
|
||||
"bad_payload_persistence": "UNPROVEN",
|
||||
"automatic_retry": false
|
||||
},
|
||||
"security_findings": [
|
||||
{
|
||||
"id": "opaque_candidate_container",
|
||||
"classification": "UNKNOWN",
|
||||
"finding": "Candidate package content cannot be source-bound or safely parsed with present local evidence."
|
||||
},
|
||||
{
|
||||
"id": "missing_9020_bounds_and_length",
|
||||
"classification": "UNKNOWN",
|
||||
"finding": "Maximum length, allocation, integer overflow, bounds and short-read handling are unavailable."
|
||||
},
|
||||
{
|
||||
"id": "readme_sender_has_no_integrity_contract",
|
||||
"classification": "PROTOCOL_INTEGRITY_RISK",
|
||||
"finding": "The conceptual raw stream sender documents no length, hash, acknowledgement or error frame."
|
||||
},
|
||||
{
|
||||
"id": "unknown_9020_crash_cleanup",
|
||||
"classification": "SESSION_CRASH_RISK",
|
||||
"finding": "Listener and payload crash, hang, cleanup and restart behavior are unavailable."
|
||||
},
|
||||
{
|
||||
"id": "unknown_live_filesystem_effect",
|
||||
"classification": "BRICK_RELEVANT",
|
||||
"finding": "Whether the actual loader stages or replaces a live file is unknown and blocks device use."
|
||||
},
|
||||
{
|
||||
"id": "unknown_autoload_effect",
|
||||
"classification": "BRICK_RELEVANT",
|
||||
"finding": "Actual package configuration and autoload effects are unavailable and must remain disabled."
|
||||
},
|
||||
{
|
||||
"id": "temporary_socket_not_automatically_brick_relevant",
|
||||
"classification": "HOST_ONLY",
|
||||
"finding": "A bounded temporary socket alone would not modify live boot state, but no such exact design is established."
|
||||
}
|
||||
],
|
||||
"future_rescue_contract": {
|
||||
"requirements_total": 20,
|
||||
"bootstrap_supported_now": [],
|
||||
"payload_policy_requirements_only": [
|
||||
"not_installed",
|
||||
"no_autoload",
|
||||
"no_component_modification",
|
||||
"read_only_target_open",
|
||||
"no_automatic_retry",
|
||||
"one_file_per_session",
|
||||
"no_mutating_or_control_operations",
|
||||
"no_side_effect_free_claim"
|
||||
],
|
||||
"missing_bootstrap_or_output_requirements": [
|
||||
"independent_bootstrap",
|
||||
"no_bootstrap_device_file",
|
||||
"ps5_to_host_only",
|
||||
"binary_safe_framing",
|
||||
"exact_byte_count",
|
||||
"sha256_or_complete_host_hash",
|
||||
"partial_transfer_rejection",
|
||||
"hard_deadline",
|
||||
"host_abort",
|
||||
"live_installation_untouched",
|
||||
"derived_output_channel",
|
||||
"crash_hang_model"
|
||||
],
|
||||
"target_source_allowed": false
|
||||
},
|
||||
"output_options": [
|
||||
{"id":"A_SAME_9020_DUPLEX","existing":"UNKNOWN","protocol_change":"UNKNOWN","host_change":"UNKNOWN","target_payload_change":true,"listener_needed":false,"outbound_connection_needed":false,"persistent_device_file_needed":false,"cleanup_model":"UNKNOWN","crash_impact":"UNKNOWN","reboot_impact":"UNKNOWN","anti_brick_risk":"UNKNOWN","feasibility":"UNKNOWN"},
|
||||
{"id":"B_TEMPORARY_OUTBOUND","existing":false,"protocol_change":true,"host_change":true,"target_payload_change":true,"listener_needed":"HOST_ONLY","outbound_connection_needed":true,"persistent_device_file_needed":false,"cleanup_model":"REQUIRED","crash_impact":"SESSION_RISK","reboot_impact":"UNPROVEN","anti_brick_risk":"NOT_AUTOMATIC_FROM_SOCKET","feasibility":"UNPROVEN"},
|
||||
{"id":"C_TEMPORARY_LISTENER","existing":false,"protocol_change":true,"host_change":true,"target_payload_change":true,"listener_needed":true,"outbound_connection_needed":false,"persistent_device_file_needed":false,"cleanup_model":"REQUIRED","crash_impact":"LISTENER_LIFETIME_RISK","reboot_impact":"UNPROVEN","anti_brick_risk":"NOT_AUTOMATIC_FROM_SOCKET","feasibility":"UNPROVEN"},
|
||||
{"id":"D_CALLER_OWNED_BUFFER","existing":false,"protocol_change":true,"host_change":true,"target_payload_change":true,"listener_needed":false,"outbound_connection_needed":false,"persistent_device_file_needed":false,"cleanup_model":"CALLER_FINALIZATION_REQUIRED","crash_impact":"OWNERSHIP_UNPROVEN","reboot_impact":"UNPROVEN","anti_brick_risk":"LOW_PERSISTENT_IF_PROVEN","feasibility":"CURRENT_LOADER_HAS_NO_PATH"},
|
||||
{"id":"E_NO_OUTPUT","existing":"CONSISTENT_WITH_EVIDENCE","protocol_change":false,"host_change":false,"target_payload_change":false,"listener_needed":false,"outbound_connection_needed":false,"persistent_device_file_needed":false,"cleanup_model":"NOT_APPLICABLE","crash_impact":"NO_RESULT","reboot_impact":"NOT_APPLICABLE","anti_brick_risk":"NO_RECOVERY_CAPABILITY","feasibility":"ONLY_CURRENT_OPERATIONAL_ASSUMPTION"}
|
||||
],
|
||||
"missing_actual_files": [
|
||||
"exact_Y2JB_or_other_host_HTML",
|
||||
"exact_exploit_JavaScript",
|
||||
"exact_exploit_WebAssembly",
|
||||
"exact_payload_data",
|
||||
"exact_host_configuration",
|
||||
"exact_cache_or_service_worker",
|
||||
"exact_host_manifest_and_version",
|
||||
"exact_port_9020_listener_source",
|
||||
"exact_port_9020_listener_binary",
|
||||
"port_9020_build_script_and_linker_input",
|
||||
"exact_port_9020_protocol_client_or_sender",
|
||||
"external_autoloader_source_and_configuration",
|
||||
"operator_evidence_binding_hashes_to_current_use"
|
||||
],
|
||||
"hard_stops": [
|
||||
"ACTUAL_BOOTSTRAP_IMPLEMENTATION_MISSING",
|
||||
"ACTUAL_USED_IDENTITY_NULL",
|
||||
"PORT_9020_SERVER_PROTOCOL_UNPROVEN",
|
||||
"HOST_TO_MEMORY_UNKNOWN",
|
||||
"LIVE_FILESYSTEM_EFFECT_UNKNOWN",
|
||||
"AUTOLOAD_EFFECT_UNKNOWN",
|
||||
"REBOOT_RESTARTABILITY_UNPROVEN",
|
||||
"OUTPUT_CHANNEL_UNKNOWN",
|
||||
"PHASE09F_DESIGN_NOT_ALLOWED",
|
||||
"PAYLOAD_MANAGER_BACKUP_HARD_BLOCKER_FOR_INSTALLATION",
|
||||
"INDEPENDENT_RECOVERY_UNPROVEN"
|
||||
],
|
||||
"final_decision": {
|
||||
"classification": "BOOTSTRAP_IMPLEMENTATION_MISSING",
|
||||
"hardware_evidence_claimed": false,
|
||||
"device_action_authorized": false,
|
||||
"reason": "EXACT_USED_Y2JB_HOST_AND_PORT_9020_LISTENER_IMPLEMENTATION_ARE_NOT_AVAILABLE; THE_ONLY_MATCHING_LOCAL_PACKAGE_IS_AN_OPAQUE_UNBOUND_SIECAF_BACKUP"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,181 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://chimera-gfx.invalid/schemas/phase-0.9e-bootstrap-provenance.schema.json",
|
||||
"title": "Chimera GFX Phase 0.9E bootstrap provenance",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"schema_version",
|
||||
"phase",
|
||||
"status",
|
||||
"baseline_commit",
|
||||
"branch",
|
||||
"canonical_state",
|
||||
"authorization",
|
||||
"actions",
|
||||
"decisions",
|
||||
"source_commits",
|
||||
"candidate_archive_audit",
|
||||
"artifacts",
|
||||
"exact_used_artifacts",
|
||||
"bootstrap_dependency_graph",
|
||||
"host_to_memory_analysis",
|
||||
"reboot_and_crash",
|
||||
"security_findings",
|
||||
"future_rescue_contract",
|
||||
"output_options",
|
||||
"missing_actual_files",
|
||||
"hard_stops",
|
||||
"final_decision"
|
||||
],
|
||||
"properties": {
|
||||
"schema_version": {
|
||||
"const": 1
|
||||
},
|
||||
"phase": {
|
||||
"const": "PHASE_0_9E_BOOTSTRAP_RESCUE_PROVENANCE"
|
||||
},
|
||||
"status": {
|
||||
"const": "DESIGN_ONLY"
|
||||
},
|
||||
"baseline_commit": {
|
||||
"const": "e5304e394efb0790e1939bef87404f19b58caa43"
|
||||
},
|
||||
"branch": {
|
||||
"const": "codex/chimera-gfx-phase09e-bootstrap-rescue-provenance"
|
||||
},
|
||||
"authorization": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"const": false
|
||||
}
|
||||
},
|
||||
"actions": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"const": false
|
||||
}
|
||||
},
|
||||
"decisions": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"actual_bootstrap_package_available",
|
||||
"actual_bootstrap_identity",
|
||||
"bootstrap_provenance",
|
||||
"independent_from_elfldr",
|
||||
"independent_from_payload_manager",
|
||||
"restartable_after_reboot",
|
||||
"host_to_memory",
|
||||
"output_channel_for_future_rescue",
|
||||
"independent_rescue_classification",
|
||||
"phase09f_rescue_payload_design_allowed",
|
||||
"device_action_authorized",
|
||||
"execution_authorized",
|
||||
"installation_authorized",
|
||||
"automatic_retry"
|
||||
],
|
||||
"properties": {
|
||||
"actual_bootstrap_package_available": {
|
||||
"const": false
|
||||
},
|
||||
"actual_bootstrap_identity": {
|
||||
"type": "null"
|
||||
},
|
||||
"bootstrap_provenance": {
|
||||
"const": "POSSIBLE"
|
||||
},
|
||||
"independent_from_elfldr": {
|
||||
"const": "unproven"
|
||||
},
|
||||
"independent_from_payload_manager": {
|
||||
"const": "unproven"
|
||||
},
|
||||
"restartable_after_reboot": {
|
||||
"const": "unproven"
|
||||
},
|
||||
"host_to_memory": {
|
||||
"const": "UNKNOWN"
|
||||
},
|
||||
"output_channel_for_future_rescue": {
|
||||
"const": "UNKNOWN"
|
||||
},
|
||||
"independent_rescue_classification": {
|
||||
"const": "BOOTSTRAP_IMPLEMENTATION_MISSING"
|
||||
},
|
||||
"phase09f_rescue_payload_design_allowed": {
|
||||
"const": false
|
||||
},
|
||||
"device_action_authorized": {
|
||||
"const": false
|
||||
},
|
||||
"execution_authorized": {
|
||||
"const": false
|
||||
},
|
||||
"installation_authorized": {
|
||||
"const": false
|
||||
},
|
||||
"automatic_retry": {
|
||||
"const": false
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"artifacts": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"logical_name",
|
||||
"artifact_role",
|
||||
"local_relative_path",
|
||||
"size",
|
||||
"sha256",
|
||||
"file_type",
|
||||
"source_repository",
|
||||
"source_commit",
|
||||
"build_identity",
|
||||
"version",
|
||||
"obtained_from",
|
||||
"evidence_that_it_is_deployed_or_used",
|
||||
"confidence",
|
||||
"immutable",
|
||||
"executable",
|
||||
"persistent_on_device",
|
||||
"transferred_per_session",
|
||||
"required_for_bootstrap",
|
||||
"required_for_recovery"
|
||||
],
|
||||
"properties": {
|
||||
"sha256": {
|
||||
"type": "string",
|
||||
"pattern": "^[0-9a-f]{64}$"
|
||||
},
|
||||
"confidence": {
|
||||
"enum": [
|
||||
"EXACT_USED",
|
||||
"STRONG_MATCH",
|
||||
"POSSIBLE",
|
||||
"REFERENCE_ONLY",
|
||||
"UNKNOWN"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"exact_used_artifacts": {
|
||||
"type": "array",
|
||||
"maxItems": 0
|
||||
},
|
||||
"final_decision": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"classification",
|
||||
"reason"
|
||||
],
|
||||
"properties": {
|
||||
"classification": {
|
||||
"const": "BOOTSTRAP_IMPLEMENTATION_MISSING"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"phase": "PHASE_0_9E_LOADER_9020_PROTOCOL",
|
||||
"date": "2026-07-18",
|
||||
"status": "UNPROVEN_IMPLEMENTATION_MISSING",
|
||||
"exact_server_source_present": false,
|
||||
"exact_server_binary_present": false,
|
||||
"exact_host_client_present": false,
|
||||
"protocol_identity": null,
|
||||
"evidence": {
|
||||
"documentation_path": "../chimera-elfldr/README.md",
|
||||
"documentation_sha256": "372aeb28dc971b2bd98093a47fdaf77c32f75bbdc3b3d7e8678900744b91eadb",
|
||||
"documentation_lines": "11-19",
|
||||
"makefile_path": "../chimera-elfldr/Makefile",
|
||||
"makefile_sha256": "3df93b48fc61ec67907b136e44ea2085baacf08347864d32befc072a7a783384",
|
||||
"makefile_lines": "17-18",
|
||||
"evidence_level": "ARCHITECTURE_ONLY"
|
||||
},
|
||||
"protocol": {
|
||||
"server_role": "PS5_RUDIMENTARY_ELF_LOADER_DESCRIPTION_ONLY",
|
||||
"client_role": "GENERIC_HOST_STREAM_SENDER_DESCRIPTION_ONLY",
|
||||
"transport": "TCP_STRONGLY_INDICATED_NOT_SERVER_PROVEN",
|
||||
"port": 9020,
|
||||
"bind_address": "UNKNOWN",
|
||||
"connect_direction": "HOST_TO_PS5",
|
||||
"handshake": "UNKNOWN",
|
||||
"magic": "UNKNOWN",
|
||||
"version": "UNKNOWN",
|
||||
"endianness": "UNKNOWN",
|
||||
"headers": "UNKNOWN",
|
||||
"length_fields": "UNKNOWN",
|
||||
"maximum_payload_size": "UNKNOWN",
|
||||
"chunking": "TCP_STREAM_ONLY_APPLICATION_UNKNOWN",
|
||||
"eof": "SENDER_CLOSE_EXPECTED_LISTENER_SEMANTICS_UNKNOWN",
|
||||
"acknowledgements": "UNKNOWN",
|
||||
"checksum_or_hash": "UNKNOWN",
|
||||
"timeout": "UNKNOWN",
|
||||
"retry": "UNKNOWN",
|
||||
"reconnect": "UNKNOWN",
|
||||
"error_frames": "UNKNOWN",
|
||||
"close_behavior": "UNKNOWN",
|
||||
"upload_direction": "HOST_TO_PS5",
|
||||
"response_direction": "UNKNOWN",
|
||||
"accepted_object": "ELF_ASSUMED_BY_DOCUMENTATION_VALIDATION_UNKNOWN",
|
||||
"post_receive_execution": "ASSUMED_BY_BOOTSTRAP_DESCRIPTION_NOT_SOURCE_PROVEN",
|
||||
"parser": "MISSING",
|
||||
"bounds_checks": "UNKNOWN",
|
||||
"short_read_detection": "UNKNOWN",
|
||||
"short_write_detection": "UNKNOWN",
|
||||
"integer_overflow_checks": "UNKNOWN",
|
||||
"allocations": "UNKNOWN",
|
||||
"mappings": "UNKNOWN",
|
||||
"permissions": "UNKNOWN",
|
||||
"entrypoint_validation": "UNKNOWN",
|
||||
"filesystem_staging": "UNKNOWN",
|
||||
"cleanup": "UNKNOWN"
|
||||
},
|
||||
"host_model": {
|
||||
"allowed": false,
|
||||
"created": false,
|
||||
"reason": "EXACT_PROTOCOL_SOURCE_OR_AUDITABLE_BINARY_IS_ABSENT",
|
||||
"network_port_opened": false,
|
||||
"device_connection_performed": false,
|
||||
"payload_sent": false,
|
||||
"binary_executed": false
|
||||
},
|
||||
"missing_evidence": [
|
||||
"exact_listener_source_or_binary",
|
||||
"exact_host_sender",
|
||||
"complete_framing",
|
||||
"maximum_length",
|
||||
"recv_and_eof_state_machine",
|
||||
"accepted_format_and_entrypoint_validation",
|
||||
"response_error_and_close_behavior",
|
||||
"timeout_retry_and_reconnect_rules",
|
||||
"mapping_permissions_and_cleanup"
|
||||
],
|
||||
"classification": "CONCEPTUAL_9020_DESCRIPTION_IS_NOT_PROTOCOL_PROOF"
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://chimera-gfx.invalid/schemas/phase-0.9e-loader-protocol.schema.json",
|
||||
"title": "Chimera GFX Phase 0.9E port-9020 protocol evidence",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"schema_version",
|
||||
"phase",
|
||||
"status",
|
||||
"exact_server_source_present",
|
||||
"exact_server_binary_present",
|
||||
"exact_host_client_present",
|
||||
"protocol_identity",
|
||||
"evidence",
|
||||
"protocol",
|
||||
"host_model",
|
||||
"missing_evidence",
|
||||
"classification"
|
||||
],
|
||||
"properties": {
|
||||
"schema_version": {
|
||||
"const": 1
|
||||
},
|
||||
"phase": {
|
||||
"const": "PHASE_0_9E_LOADER_9020_PROTOCOL"
|
||||
},
|
||||
"status": {
|
||||
"const": "UNPROVEN_IMPLEMENTATION_MISSING"
|
||||
},
|
||||
"exact_server_source_present": {
|
||||
"const": false
|
||||
},
|
||||
"exact_server_binary_present": {
|
||||
"const": false
|
||||
},
|
||||
"exact_host_client_present": {
|
||||
"const": false
|
||||
},
|
||||
"protocol_identity": {
|
||||
"type": "null"
|
||||
},
|
||||
"protocol": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"server_role",
|
||||
"client_role",
|
||||
"transport",
|
||||
"port",
|
||||
"bind_address",
|
||||
"connect_direction",
|
||||
"handshake",
|
||||
"magic",
|
||||
"version",
|
||||
"endianness",
|
||||
"headers",
|
||||
"length_fields",
|
||||
"maximum_payload_size",
|
||||
"chunking",
|
||||
"eof",
|
||||
"acknowledgements",
|
||||
"checksum_or_hash",
|
||||
"timeout",
|
||||
"retry",
|
||||
"reconnect",
|
||||
"error_frames",
|
||||
"close_behavior",
|
||||
"upload_direction",
|
||||
"response_direction",
|
||||
"accepted_object",
|
||||
"post_receive_execution",
|
||||
"parser",
|
||||
"bounds_checks",
|
||||
"short_read_detection",
|
||||
"short_write_detection",
|
||||
"integer_overflow_checks",
|
||||
"allocations",
|
||||
"mappings",
|
||||
"permissions",
|
||||
"entrypoint_validation",
|
||||
"filesystem_staging",
|
||||
"cleanup"
|
||||
],
|
||||
"properties": {
|
||||
"port": {
|
||||
"const": 9020
|
||||
}
|
||||
}
|
||||
},
|
||||
"host_model": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"allowed",
|
||||
"created",
|
||||
"reason",
|
||||
"network_port_opened",
|
||||
"device_connection_performed",
|
||||
"payload_sent",
|
||||
"binary_executed"
|
||||
],
|
||||
"properties": {
|
||||
"allowed": {
|
||||
"const": false
|
||||
},
|
||||
"created": {
|
||||
"const": false
|
||||
},
|
||||
"network_port_opened": {
|
||||
"const": false
|
||||
},
|
||||
"device_connection_performed": {
|
||||
"const": false
|
||||
},
|
||||
"payload_sent": {
|
||||
"const": false
|
||||
},
|
||||
"binary_executed": {
|
||||
"const": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"classification": {
|
||||
"const": "CONCEPTUAL_9020_DESCRIPTION_IS_NOT_PROTOCOL_PROOF"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"$schema": "phase-0.9e-r-port9020-audit.schema.json",
|
||||
"schema_version": 1,
|
||||
"phase": "PHASE_0_9E_R_OFFICIAL_Y2JB_CORRELATION",
|
||||
"status": "DESIGN_ONLY",
|
||||
"release_commit": "0dbbf4e7e0203af7e5d101a3256c634edf4e3ba2",
|
||||
"port_9020_classification": "PORT_9020_REFERENCE_ONLY",
|
||||
"port_9020_references": [
|
||||
{
|
||||
"path": "README.md",
|
||||
"role": "hostsender usage example",
|
||||
"implementation": false
|
||||
},
|
||||
{
|
||||
"path": "payload_sender.py",
|
||||
"line": 29,
|
||||
"role": "hostsender usage example",
|
||||
"implementation": false
|
||||
}
|
||||
],
|
||||
"port_9020_listener_found": false,
|
||||
"port_9020_parser_found": false,
|
||||
"port_9020_mapping_found": false,
|
||||
"official_remote_js_loader": {
|
||||
"classification": "IMPLEMENTATION_FOUND_DYNAMIC_PORT_NOT_9020",
|
||||
"path": "download0/cache/splash_screen/aHR0cHM6Ly93d3cueW91dHViZS5jb20vdHY=/remotejsloader.js",
|
||||
"sha256": "30cc6d1535549b2a49b47a9e0c85a3444cf84177be54398691694b7c6505f38e",
|
||||
"git_blob": "dd4957530e7a88c889877a7dcb3433642a71e019",
|
||||
"server_side": "PS5_JAVASCRIPT_RUNTIME",
|
||||
"transport": "TCP_IPV4",
|
||||
"bind_address": "INADDR_ANY",
|
||||
"desired_dynamic_port": 50000,
|
||||
"port_is_guaranteed": false,
|
||||
"listen_backlog": 3,
|
||||
"maximum_receive_bytes": 512000,
|
||||
"framing": "CONNECTION_EOF_OR_BUFFER_LIMIT",
|
||||
"declared_length": false,
|
||||
"authentication": false,
|
||||
"checksum_or_hash": false,
|
||||
"timeout": false,
|
||||
"partial_read_accumulation": true,
|
||||
"full_limit_eof_proof": false,
|
||||
"content": "UTF8_JAVASCRIPT",
|
||||
"elf_magic_rejected": true,
|
||||
"dispatch": "EVAL",
|
||||
"native_elf_mapping": false,
|
||||
"filesystem_write_in_receiver": false,
|
||||
"internal_listener_retry": true,
|
||||
"automatic_retry_authorized": false,
|
||||
"response": "SAME_CONNECTION_LOG_WRITES",
|
||||
"crash_risks": [
|
||||
"UNTRUSTED_JAVASCRIPT_EVAL",
|
||||
"BLOCKING_READ_WITHOUT_DEADLINE",
|
||||
"UNBOUNDED_ACCEPT_LIFETIME",
|
||||
"FULL_BUFFER_PREFIX_MAY_DISPATCH_WITHOUT_EOF"
|
||||
]
|
||||
},
|
||||
"lapse_chain": {
|
||||
"architecture": "REMOTE_JS_LOADER_TO_LAPSE_TO_AIOSHELLCODE_TO_EMBEDDED_KEXP_AND_ELFLDR",
|
||||
"firmware_upper_bound": "10.01",
|
||||
"firmware_9_60_source_selection": "ELIGIBLE_BY_VERSION_COMPARISON",
|
||||
"firmware_9_60_runtime_behavior": "UNPROVEN",
|
||||
"filesystem_side_effect": "lapse.fail marker",
|
||||
"kernel_exploit_present": true,
|
||||
"kernel_write_behavior_present": true,
|
||||
"device_use_authorized": false
|
||||
},
|
||||
"port_9021_relation": {
|
||||
"loopback_probe_source": "misc.js",
|
||||
"host_instruction_source": "README.md",
|
||||
"listener_container": "EMBEDDED_ELFLDR_BINARY",
|
||||
"listener_source_in_y2jb": false,
|
||||
"listener_generator_in_y2jb": false,
|
||||
"release_1_6_embedded_elf": "download0/cache/splash_screen/aHR0cHM6Ly93d3cueW91dHViZS5jb20vdHY=/elfldr-ps5-1340.elf",
|
||||
"release_1_6_embedded_elf_size": 397000,
|
||||
"release_1_6_embedded_elf_sha256": "30478bcadb6439e1247451c4ac706b6e1385044dd0f12d6486b6d7057929453b",
|
||||
"source_commit": null
|
||||
},
|
||||
"official_sender": {
|
||||
"path": "payload_sender.py",
|
||||
"default_port": 50000,
|
||||
"explicit_port": true,
|
||||
"binary_read": true,
|
||||
"sendall": true,
|
||||
"response_read": false,
|
||||
"duplex": false,
|
||||
"timeout": false,
|
||||
"retry": false,
|
||||
"maximum_size": null,
|
||||
"peer_byte_count": false,
|
||||
"hash_validation": false
|
||||
},
|
||||
"phase09f_offline_design_allowed": false,
|
||||
"authorization": {
|
||||
"device_action_authorized": false,
|
||||
"target_build_authorized": false,
|
||||
"transfer_authorized": false,
|
||||
"execution_authorized": false,
|
||||
"installation_authorized": false,
|
||||
"lifecycle_authorized": false,
|
||||
"autoload_authorized": false,
|
||||
"device_write_authorized": false,
|
||||
"automatic_retry": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "phase-0.9e-r-port9020-audit.schema.json",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"schema_version",
|
||||
"phase",
|
||||
"status",
|
||||
"release_commit",
|
||||
"port_9020_classification",
|
||||
"official_remote_js_loader",
|
||||
"port_9021_relation",
|
||||
"official_sender",
|
||||
"phase09f_offline_design_allowed",
|
||||
"authorization"
|
||||
],
|
||||
"properties": {
|
||||
"schema_version": { "const": 1 },
|
||||
"phase": { "const": "PHASE_0_9E_R_OFFICIAL_Y2JB_CORRELATION" },
|
||||
"status": { "const": "DESIGN_ONLY" },
|
||||
"release_commit": {
|
||||
"const": "0dbbf4e7e0203af7e5d101a3256c634edf4e3ba2"
|
||||
},
|
||||
"port_9020_classification": {
|
||||
"enum": [
|
||||
"PORT_9020_IMPLEMENTATION_FOUND",
|
||||
"PORT_9020_IMPLEMENTATION_PARTIAL",
|
||||
"PORT_9020_REFERENCE_ONLY",
|
||||
"PORT_9020_IMPLEMENTATION_ABSENT"
|
||||
]
|
||||
},
|
||||
"port_9020_listener_found": { "const": false },
|
||||
"official_remote_js_loader": { "type": "object" },
|
||||
"port_9021_relation": { "type": "object" },
|
||||
"official_sender": { "type": "object" },
|
||||
"phase09f_offline_design_allowed": { "const": false },
|
||||
"authorization": {
|
||||
"type": "object",
|
||||
"additionalProperties": { "const": false }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,446 @@
|
||||
{
|
||||
"$schema": "phase-0.9e-r-release-correlation.schema.json",
|
||||
"schema_version": 1,
|
||||
"phase": "PHASE_0_9E_R_OFFICIAL_Y2JB_CORRELATION",
|
||||
"status": "DESIGN_ONLY",
|
||||
"date": "2026-07-18",
|
||||
"baseline_commit": "3d3151bd12ff0f786c1e1b9af75d7174408e3d2f",
|
||||
"official_repository": "https://github.com/Gezine/Y2JB",
|
||||
"release_correlation": "OFFICIAL_RELEASE_NO_MATCH",
|
||||
"final_classification": "LOCAL_BACKUP_NOT_CORRELATED",
|
||||
"identified_release": null,
|
||||
"identified_release_asset": null,
|
||||
"release_to_source_classification": "NO_LOCAL_RELEASE_ASSOCIATION",
|
||||
"inner_content_binding": "SIECAF_OPAQUE_UNBOUND",
|
||||
"local_candidate": {
|
||||
"file_name": "Y2JB-Autoloader-403-1240.zip",
|
||||
"path": "<local-download>/Y2JB-Autoloader-403-1240.zip",
|
||||
"size": 504159435,
|
||||
"sha256": "805e3f87f0c371223619ffc7d3a7b3c0d41a1fae8a8b1171d9e2f162659e8291",
|
||||
"creation_utc": "2026-06-23T14:10:39.0466596Z",
|
||||
"modification_utc": "2026-06-23T14:11:10.6992328Z",
|
||||
"zip_comment": "",
|
||||
"zone_identifier_size": 327,
|
||||
"zone_identifier_sha256": "70928a3d66cbb9f584596414c4fe535b498dd5ed7c5f55bbeae4efeb146ea841",
|
||||
"download_referrer_classification": "MEDIAFIRE_NON_OFFICIAL",
|
||||
"first_64_bytes_hex": "504b030414000000000041abca5c000000000000000000000000040000005053352f504b030414000000000041abca5c0000000000000000000000000b000000",
|
||||
"last_64_bytes_hex": "76652e6461740a0020000000000001001800c065678d17f9dc0100000000000000000000000000000000504b050600000000050005000a020000abda0c1e0000",
|
||||
"browser_history_candidates_checked": 5,
|
||||
"exact_browser_record_found": false
|
||||
},
|
||||
"inner_archive": {
|
||||
"entry": "PS5/EXPORT/BACKUP/202606102126_00/archive.dat",
|
||||
"size": 504365056,
|
||||
"compressed_size": 504158629,
|
||||
"crc32": "522808c8",
|
||||
"sha256": "6439834e8856d45b6d6fe699b74c35ca6985a199ea8ecf3e398c018d37be2d55",
|
||||
"magic": "SIECAF",
|
||||
"classification": "OPAQUE_UNBOUND",
|
||||
"further_reverse_engineering_performed": false
|
||||
},
|
||||
"official_metadata": {
|
||||
"repository_api_sha256": "eac34f242bb5fb1a65c2fc440e601e6cbdc1e1dc1b06c2e1e3ac9822f4cb7daf",
|
||||
"releases_api_sha256": "b90013ccac140daded6a3ed8f46577033ed8b0404c79aa51f3fb8f9a7910ce37",
|
||||
"tags_api_sha256": "1933a77b5f42321fbb374d8767ece625683bc2eafad5bb2e11c93d5c88cb0bf6",
|
||||
"release_count": 3,
|
||||
"tag_count": 5
|
||||
},
|
||||
"release_inventory": [
|
||||
{
|
||||
"version": "1.2",
|
||||
"release": null,
|
||||
"tag": null,
|
||||
"commit": null,
|
||||
"state": "CHANGELOG_REFERENCE_ONLY"
|
||||
},
|
||||
{
|
||||
"version": "1.2.1",
|
||||
"release": null,
|
||||
"tag": "Y2JB-1.2.1",
|
||||
"commit": "6210f98c23552e6eb3c4c8981f72a200bb6121b2",
|
||||
"state": "TAG_ONLY"
|
||||
},
|
||||
{
|
||||
"version": "1.3",
|
||||
"release": "Y2JB 1.3 (deprecated)",
|
||||
"tag": "1.3",
|
||||
"commit": "82e6bbf1935d5f41c3bd5bd9e6598cf90bb2e022",
|
||||
"published_at": "2026-05-25T14:29:41Z",
|
||||
"state": "OFFICIAL_RELEASE"
|
||||
},
|
||||
{
|
||||
"version": "1.4",
|
||||
"release": null,
|
||||
"tag": "1.4",
|
||||
"commit": "02eda2e772df629ecfe5a46459769bd8c994ef3e",
|
||||
"state": "TAG_ONLY"
|
||||
},
|
||||
{
|
||||
"version": "1.5",
|
||||
"release": "Y2JB 1.5 (deprecated)",
|
||||
"tag": "1.5",
|
||||
"commit": "5fa556e6281229057dace3254b099f95261df386",
|
||||
"published_at": "2026-05-22T15:06:30Z",
|
||||
"state": "OFFICIAL_RELEASE"
|
||||
},
|
||||
{
|
||||
"version": "1.6",
|
||||
"release": "Y2JB 1.6",
|
||||
"tag": "1.6",
|
||||
"commit": "0dbbf4e7e0203af7e5d101a3256c634edf4e3ba2",
|
||||
"published_at": "2026-06-09T14:54:35Z",
|
||||
"state": "OFFICIAL_RELEASE"
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
{
|
||||
"tag": "Y2JB-1.2.1",
|
||||
"release_present": false,
|
||||
"commit": "6210f98c23552e6eb3c4c8981f72a200bb6121b2",
|
||||
"tree": "928ceb979881a063457270dde4961ea4a06bc1fa",
|
||||
"source_archive_url": "https://api.github.com/repos/Gezine/Y2JB/zipball/Y2JB-1.2.1",
|
||||
"source_archive_size": 142038,
|
||||
"source_archive_sha256": "dd7b05234aec35696b6d00ea4420f7bc1e09d57a4fe64363fdaa6728a37b7201",
|
||||
"source_archive_tree_files_matched": "20/20"
|
||||
},
|
||||
{
|
||||
"tag": "1.3",
|
||||
"release_present": true,
|
||||
"commit": "82e6bbf1935d5f41c3bd5bd9e6598cf90bb2e022",
|
||||
"tree": "df29ffe4d8131b5f8b0da1874e34b95a41f0660d",
|
||||
"source_archive_url": "https://api.github.com/repos/Gezine/Y2JB/zipball/1.3",
|
||||
"source_archive_size": 185243,
|
||||
"source_archive_sha256": "661993fbeec566bdfc0c5d9b89eeddc4a1f21f4a8c0b7392fddea4f73ce636d6",
|
||||
"source_archive_tree_files_matched": "22/22"
|
||||
},
|
||||
{
|
||||
"tag": "1.4",
|
||||
"release_present": false,
|
||||
"commit": "02eda2e772df629ecfe5a46459769bd8c994ef3e",
|
||||
"tree": "ec06403b45f7b68e01eb5053f81277dee4910dd2",
|
||||
"source_archive_url": "https://api.github.com/repos/Gezine/Y2JB/zipball/1.4",
|
||||
"source_archive_size": 151619,
|
||||
"source_archive_sha256": "53d7fb1e665d0534d446cfe980841a0b8eed7eda35424c2f9c4abad32d5aaec5",
|
||||
"source_archive_tree_files_matched": "19/19"
|
||||
},
|
||||
{
|
||||
"tag": "1.5",
|
||||
"release_present": true,
|
||||
"commit": "5fa556e6281229057dace3254b099f95261df386",
|
||||
"tree": "db364529c347f34b8ddb186f57bb61dab91113db",
|
||||
"source_archive_url": "https://api.github.com/repos/Gezine/Y2JB/zipball/1.5",
|
||||
"source_archive_size": 149934,
|
||||
"source_archive_sha256": "5d964faaf1b941c2fc8a006b10ae909b15d8f2c27d120e08b37196f1e464ad6d",
|
||||
"source_archive_tree_files_matched": "19/19"
|
||||
},
|
||||
{
|
||||
"tag": "1.6",
|
||||
"release_present": true,
|
||||
"commit": "0dbbf4e7e0203af7e5d101a3256c634edf4e3ba2",
|
||||
"tree": "c4344f43af7c268337437e6419548dba6f6bc211",
|
||||
"source_archive_url": "https://api.github.com/repos/Gezine/Y2JB/zipball/1.6",
|
||||
"source_archive_size": 150964,
|
||||
"source_archive_sha256": "8385c439458c6954fd1198760ab0ef8245543235c83db90d041591362027cae4",
|
||||
"source_archive_tree_files_matched": "19/19"
|
||||
}
|
||||
],
|
||||
"assets": [
|
||||
{
|
||||
"release": "1.6",
|
||||
"release_id": 336305480,
|
||||
"asset_id": 442805805,
|
||||
"name": "Y2JB_backup_1.6.12.20.zip",
|
||||
"size": 498991521,
|
||||
"sha256": "9c097ed9000792507bcf307eff0802f40ee64dc047ab6de3d38acccc62d39dcc",
|
||||
"url": "https://github.com/Gezine/Y2JB/releases/download/1.6/Y2JB_backup_1.6.12.20.zip",
|
||||
"created_at": "2026-06-09T14:52:35Z",
|
||||
"updated_at": "2026-06-09T14:53:10Z",
|
||||
"classification": "NO_MATCH",
|
||||
"downloaded": false
|
||||
},
|
||||
{
|
||||
"release": "1.6",
|
||||
"release_id": 336305480,
|
||||
"asset_id": 442358421,
|
||||
"name": "Y2JB_backup_1.6.4.03.zip",
|
||||
"size": 504395044,
|
||||
"sha256": "b01b4f442327f9eca90ffc4506dfa58249e4ac70cb9d7488c856c9e8dfaf37b4",
|
||||
"url": "https://github.com/Gezine/Y2JB/releases/download/1.6/Y2JB_backup_1.6.4.03.zip",
|
||||
"created_at": "2026-06-09T03:33:57Z",
|
||||
"updated_at": "2026-06-09T03:34:40Z",
|
||||
"classification": "NO_MATCH",
|
||||
"downloaded": false
|
||||
},
|
||||
{
|
||||
"release": "1.6",
|
||||
"release_id": 336305480,
|
||||
"asset_id": 442358388,
|
||||
"name": "Y2JB_download0_1.6.zip",
|
||||
"size": 315229037,
|
||||
"sha256": "d032954033c17acda47c41179a22fa09016ddd40a274f4e9afbb051e5d08d3bd",
|
||||
"url": "https://github.com/Gezine/Y2JB/releases/download/1.6/Y2JB_download0_1.6.zip",
|
||||
"created_at": "2026-06-09T03:33:55Z",
|
||||
"updated_at": "2026-06-09T03:34:30Z",
|
||||
"classification": "NO_MATCH",
|
||||
"downloaded": false
|
||||
},
|
||||
{
|
||||
"release": "1.5",
|
||||
"release_id": 327961476,
|
||||
"asset_id": 429350761,
|
||||
"name": "Y2JB_backup_1.5.zip",
|
||||
"size": 503863926,
|
||||
"sha256": "91bc9fb38e62d2b34d0009dbfd6a46dffb379277eef3915dd0a1956f65462a45",
|
||||
"url": "https://github.com/Gezine/Y2JB/releases/download/1.5/Y2JB_backup_1.5.zip",
|
||||
"created_at": "2026-05-25T12:46:49Z",
|
||||
"updated_at": "2026-05-25T12:47:34Z",
|
||||
"classification": "NO_MATCH",
|
||||
"downloaded": false
|
||||
},
|
||||
{
|
||||
"release": "1.5",
|
||||
"release_id": 327961476,
|
||||
"asset_id": 429351154,
|
||||
"name": "Y2JB_download0_1.5.zip",
|
||||
"size": 336514975,
|
||||
"sha256": "f7e5debb2e4c6b3fe7224e549c4aaf9b273a178543cd0bfe84e37bc0521d590a",
|
||||
"url": "https://github.com/Gezine/Y2JB/releases/download/1.5/Y2JB_download0_1.5.zip",
|
||||
"created_at": "2026-05-25T12:47:34Z",
|
||||
"updated_at": "2026-05-25T12:47:56Z",
|
||||
"classification": "NO_MATCH",
|
||||
"downloaded": false
|
||||
},
|
||||
{
|
||||
"release": "1.3",
|
||||
"release_id": 328911049,
|
||||
"asset_id": 429415428,
|
||||
"name": "Y2JB_backup_1.3.7z",
|
||||
"size": 488117068,
|
||||
"sha256": "e63a6b8fe134ad93b8a6a3b332b98810598aff7dfb6703a226523143c3844dfb",
|
||||
"url": "https://github.com/Gezine/Y2JB/releases/download/1.3/Y2JB_backup_1.3.7z",
|
||||
"created_at": "2026-05-25T14:27:41Z",
|
||||
"updated_at": "2026-05-25T14:28:29Z",
|
||||
"classification": "NO_MATCH",
|
||||
"downloaded": false
|
||||
},
|
||||
{
|
||||
"release": "1.3",
|
||||
"release_id": 328911049,
|
||||
"asset_id": 429415862,
|
||||
"name": "Y2JB_download0_1.3.zip",
|
||||
"size": 336789664,
|
||||
"sha256": "c64ef5bc508e4d81395928a8a54b2832f2b37c9cd1603ec9e7e3bd6f5ad6b526",
|
||||
"url": "https://github.com/Gezine/Y2JB/releases/download/1.3/Y2JB_download0_1.3.zip",
|
||||
"created_at": "2026-05-25T14:28:29Z",
|
||||
"updated_at": "2026-05-25T14:29:18Z",
|
||||
"classification": "NO_MATCH",
|
||||
"downloaded": false
|
||||
}
|
||||
],
|
||||
"upstream_worktree": {
|
||||
"path": "work/upstream/Y2JB-official",
|
||||
"remote": "https://github.com/Gezine/Y2JB.git",
|
||||
"tag": "1.6",
|
||||
"commit": "0dbbf4e7e0203af7e5d101a3256c634edf4e3ba2",
|
||||
"tree": "c4344f43af7c268337437e6419548dba6f6bc211",
|
||||
"clean": true,
|
||||
"detached": true,
|
||||
"submodules": 0,
|
||||
"git_lfs_pointers": 0,
|
||||
"generated_loader_source_present": false
|
||||
},
|
||||
"official_host_sender": {
|
||||
"path": "payload_sender.py",
|
||||
"size": 1064,
|
||||
"sha256": "8c87920c41dbdbd66b9f36ca9509f0d6bef9170f351dd97ff831cfb98e642ec6",
|
||||
"blob": "4ad80085bd8f2cf9ca3520d8ff1353b9c764fb75",
|
||||
"originating_commit": "edf0d631dd6e4dbd5a3db54ebdae47934d8bd994",
|
||||
"default_port": 50000,
|
||||
"binary_mode": true,
|
||||
"sendall": true,
|
||||
"response_read": false,
|
||||
"duplex": false,
|
||||
"timeout": false,
|
||||
"retry": false,
|
||||
"maximum_size": null,
|
||||
"hash_validation": false,
|
||||
"deployed_use_attested": false
|
||||
},
|
||||
"operator_attestation": {
|
||||
"path": "docs/approvals/phase-0.9e-r-y2jb-deployed-use-attestation.md",
|
||||
"attested": false,
|
||||
"classification_if_completed": "OPERATOR_ATTESTED_DEPLOYED_USE",
|
||||
"runtime_verified": false
|
||||
},
|
||||
"phase09f_offline_design_allowed": false,
|
||||
"authorization": {
|
||||
"device_action_authorized": false,
|
||||
"target_build_authorized": false,
|
||||
"transfer_authorized": false,
|
||||
"execution_authorized": false,
|
||||
"installation_authorized": false,
|
||||
"lifecycle_authorized": false,
|
||||
"autoload_authorized": false,
|
||||
"device_write_authorized": false,
|
||||
"automatic_retry": false
|
||||
},
|
||||
"actions": {
|
||||
"official_network_used": true,
|
||||
"large_release_assets_downloaded": 0,
|
||||
"large_release_asset_bytes_downloaded": 0,
|
||||
"source_archives_downloaded": 5,
|
||||
"source_archive_bytes_downloaded": 779798,
|
||||
"official_clone_created": true,
|
||||
"downloaded_code_executed": false,
|
||||
"dependency_installed": false,
|
||||
"ps5_connected": false,
|
||||
"ps5_ip_used": false,
|
||||
"device_request_performed": false,
|
||||
"files_transferred_to_or_from_ps5": false,
|
||||
"target_build_performed": false,
|
||||
"target_code_created": false,
|
||||
"target_artifact_created": false,
|
||||
"payload_created": false,
|
||||
"device_client_created": false
|
||||
},
|
||||
"temporary_research_storage": {
|
||||
"path": "<temporary-workspace>/chimera-gfx-phase09er",
|
||||
"peak_file_count": 19,
|
||||
"peak_bytes": 923698,
|
||||
"cleaned": true,
|
||||
"cleanup_verified": true
|
||||
},
|
||||
"artifact_provenance": [
|
||||
{
|
||||
"logical_name": "local_y2jb_outer_zip",
|
||||
"artifact_role": "operator_supplied_backup_candidate",
|
||||
"local_relative_path": null,
|
||||
"size": 504159435,
|
||||
"sha256": "805e3f87f0c371223619ffc7d3a7b3c0d41a1fae8a8b1171d9e2f162659e8291",
|
||||
"file_type": "ZIP",
|
||||
"source_repository": null,
|
||||
"source_commit": null,
|
||||
"build_identity": null,
|
||||
"version": null,
|
||||
"obtained_from": "local Downloads; Zone.Identifier indicates MediaFire",
|
||||
"evidence_that_it_is_deployed_or_used": "none; operator attestation is empty",
|
||||
"confidence": "UNKNOWN",
|
||||
"immutable": true,
|
||||
"executable": false,
|
||||
"persistent_on_device": "unproven",
|
||||
"transferred_per_session": "unproven",
|
||||
"required_for_bootstrap": "unproven",
|
||||
"required_for_recovery": "unproven"
|
||||
},
|
||||
{
|
||||
"logical_name": "local_y2jb_inner_archive",
|
||||
"artifact_role": "opaque_console_backup_container",
|
||||
"local_relative_path": null,
|
||||
"size": 504365056,
|
||||
"sha256": "6439834e8856d45b6d6fe699b74c35ca6985a199ea8ecf3e398c018d37be2d55",
|
||||
"file_type": "SIECAF",
|
||||
"source_repository": null,
|
||||
"source_commit": null,
|
||||
"build_identity": null,
|
||||
"version": null,
|
||||
"obtained_from": "single outer ZIP entry",
|
||||
"evidence_that_it_is_deployed_or_used": "none",
|
||||
"confidence": "UNKNOWN",
|
||||
"immutable": true,
|
||||
"executable": false,
|
||||
"persistent_on_device": "unproven",
|
||||
"transferred_per_session": "unproven",
|
||||
"required_for_bootstrap": "unproven",
|
||||
"required_for_recovery": "unproven"
|
||||
},
|
||||
{
|
||||
"logical_name": "official_y2jb_source_1_6",
|
||||
"artifact_role": "official_release_source_tree",
|
||||
"local_relative_path": "work/upstream/Y2JB-official",
|
||||
"size": null,
|
||||
"sha256": null,
|
||||
"file_type": "GIT_TREE",
|
||||
"source_repository": "https://github.com/Gezine/Y2JB",
|
||||
"source_commit": "0dbbf4e7e0203af7e5d101a3256c634edf4e3ba2",
|
||||
"build_identity": "tree c4344f43af7c268337437e6419548dba6f6bc211",
|
||||
"version": "1.6",
|
||||
"obtained_from": "official GitHub repository",
|
||||
"evidence_that_it_is_deployed_or_used": "none",
|
||||
"confidence": "REFERENCE_ONLY",
|
||||
"immutable": true,
|
||||
"executable": false,
|
||||
"persistent_on_device": "unproven",
|
||||
"transferred_per_session": "unproven",
|
||||
"required_for_bootstrap": "source architecture only",
|
||||
"required_for_recovery": false
|
||||
},
|
||||
{
|
||||
"logical_name": "official_payload_sender_1_6",
|
||||
"artifact_role": "official_host_sender",
|
||||
"local_relative_path": "work/upstream/Y2JB-official/payload_sender.py",
|
||||
"size": 1064,
|
||||
"sha256": "8c87920c41dbdbd66b9f36ca9509f0d6bef9170f351dd97ff831cfb98e642ec6",
|
||||
"file_type": "PYTHON_SOURCE",
|
||||
"source_repository": "https://github.com/Gezine/Y2JB",
|
||||
"source_commit": "0dbbf4e7e0203af7e5d101a3256c634edf4e3ba2",
|
||||
"build_identity": "git blob 4ad80085bd8f2cf9ca3520d8ff1353b9c764fb75",
|
||||
"version": "1.6",
|
||||
"obtained_from": "official Git tree",
|
||||
"evidence_that_it_is_deployed_or_used": "none",
|
||||
"confidence": "REFERENCE_ONLY",
|
||||
"immutable": true,
|
||||
"executable": true,
|
||||
"persistent_on_device": false,
|
||||
"transferred_per_session": false,
|
||||
"required_for_bootstrap": "host workflow only",
|
||||
"required_for_recovery": "unproven"
|
||||
},
|
||||
{
|
||||
"logical_name": "official_remote_js_loader_1_6",
|
||||
"artifact_role": "official_dynamic_port_javascript_listener",
|
||||
"local_relative_path": "work/upstream/Y2JB-official/download0/cache/splash_screen/aHR0cHM6Ly93d3cueW91dHViZS5jb20vdHY=/remotejsloader.js",
|
||||
"size": 7132,
|
||||
"sha256": "30cc6d1535549b2a49b47a9e0c85a3444cf84177be54398691694b7c6505f38e",
|
||||
"file_type": "JAVASCRIPT_SOURCE",
|
||||
"source_repository": "https://github.com/Gezine/Y2JB",
|
||||
"source_commit": "0dbbf4e7e0203af7e5d101a3256c634edf4e3ba2",
|
||||
"build_identity": "git blob dd4957530e7a88c889877a7dcb3433642a71e019",
|
||||
"version": "1.6",
|
||||
"obtained_from": "official Git tree",
|
||||
"evidence_that_it_is_deployed_or_used": "none",
|
||||
"confidence": "REFERENCE_ONLY",
|
||||
"immutable": true,
|
||||
"executable": true,
|
||||
"persistent_on_device": "source architecture says appdata/cache; deployed use unproven",
|
||||
"transferred_per_session": false,
|
||||
"required_for_bootstrap": true,
|
||||
"required_for_recovery": "possible"
|
||||
},
|
||||
{
|
||||
"logical_name": "official_embedded_elfldr_1_6",
|
||||
"artifact_role": "embedded_port_9021_loader_binary",
|
||||
"local_relative_path": "work/upstream/Y2JB-official/download0/cache/splash_screen/aHR0cHM6Ly93d3cueW91dHViZS5jb20vdHY=/elfldr-ps5-1340.elf",
|
||||
"size": 397000,
|
||||
"sha256": "30478bcadb6439e1247451c4ac706b6e1385044dd0f12d6486b6d7057929453b",
|
||||
"file_type": "ELF64_X86_64_PIE",
|
||||
"source_repository": "https://github.com/Gezine/Y2JB",
|
||||
"source_commit": null,
|
||||
"build_identity": "binary blob in Y2JB release commit 0dbbf4e7e0203af7e5d101a3256c634edf4e3ba2",
|
||||
"version": "Y2JB 1.6 embedded binary",
|
||||
"obtained_from": "official Git tree",
|
||||
"evidence_that_it_is_deployed_or_used": "none",
|
||||
"confidence": "REFERENCE_ONLY",
|
||||
"immutable": true,
|
||||
"executable": true,
|
||||
"persistent_on_device": "unproven",
|
||||
"transferred_per_session": "source architecture loads from sandbox",
|
||||
"required_for_bootstrap": true,
|
||||
"required_for_recovery": "possible"
|
||||
}
|
||||
],
|
||||
"blocking_state": {
|
||||
"payload_manager_backup": "HARD_BLOCKER_FOR_INSTALLATION",
|
||||
"independent_recovery": "UNPROVEN",
|
||||
"runtime_firmware_9_60": "UNPROVEN"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "phase-0.9e-r-release-correlation.schema.json",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"schema_version",
|
||||
"phase",
|
||||
"status",
|
||||
"baseline_commit",
|
||||
"release_correlation",
|
||||
"final_classification",
|
||||
"local_candidate",
|
||||
"inner_archive",
|
||||
"release_inventory",
|
||||
"tags",
|
||||
"assets",
|
||||
"upstream_worktree",
|
||||
"official_host_sender",
|
||||
"operator_attestation",
|
||||
"phase09f_offline_design_allowed",
|
||||
"authorization",
|
||||
"actions",
|
||||
"artifact_provenance",
|
||||
"blocking_state"
|
||||
],
|
||||
"properties": {
|
||||
"schema_version": { "const": 1 },
|
||||
"phase": { "const": "PHASE_0_9E_R_OFFICIAL_Y2JB_CORRELATION" },
|
||||
"status": { "const": "DESIGN_ONLY" },
|
||||
"baseline_commit": {
|
||||
"const": "3d3151bd12ff0f786c1e1b9af75d7174408e3d2f"
|
||||
},
|
||||
"release_correlation": {
|
||||
"enum": [
|
||||
"OFFICIAL_RELEASE_BYTE_MATCH",
|
||||
"OFFICIAL_RELEASE_METADATA_MATCH",
|
||||
"OFFICIAL_RELEASE_NO_MATCH",
|
||||
"OFFICIAL_RELEASE_UNRESOLVED"
|
||||
]
|
||||
},
|
||||
"final_classification": {
|
||||
"enum": [
|
||||
"PROVENANCE_READY_FOR_OPERATOR_BINDING",
|
||||
"OFFICIAL_ASSET_IDENTIFIED_IMPLEMENTATION_PARTIAL",
|
||||
"OFFICIAL_ASSET_IDENTIFIED_IMPLEMENTATION_MISSING",
|
||||
"LOCAL_BACKUP_NOT_CORRELATED",
|
||||
"OFFICIAL_RELEASE_RESEARCH_INCOMPLETE"
|
||||
]
|
||||
},
|
||||
"identified_release": { "type": ["string", "null"] },
|
||||
"identified_release_asset": { "type": ["string", "null"] },
|
||||
"local_candidate": {
|
||||
"type": "object",
|
||||
"required": ["file_name", "size", "sha256"],
|
||||
"properties": {
|
||||
"file_name": { "const": "Y2JB-Autoloader-403-1240.zip" },
|
||||
"size": { "const": 504159435 },
|
||||
"sha256": {
|
||||
"const": "805e3f87f0c371223619ffc7d3a7b3c0d41a1fae8a8b1171d9e2f162659e8291"
|
||||
}
|
||||
}
|
||||
},
|
||||
"inner_archive": {
|
||||
"type": "object",
|
||||
"required": ["size", "sha256", "magic", "classification"],
|
||||
"properties": {
|
||||
"size": { "const": 504365056 },
|
||||
"sha256": {
|
||||
"const": "6439834e8856d45b6d6fe699b74c35ca6985a199ea8ecf3e398c018d37be2d55"
|
||||
},
|
||||
"magic": { "const": "SIECAF" },
|
||||
"classification": { "const": "OPAQUE_UNBOUND" }
|
||||
}
|
||||
},
|
||||
"release_inventory": { "type": "array", "minItems": 6 },
|
||||
"tags": { "type": "array", "minItems": 5 },
|
||||
"assets": { "type": "array", "minItems": 7 },
|
||||
"upstream_worktree": { "type": "object" },
|
||||
"official_host_sender": { "type": "object" },
|
||||
"operator_attestation": { "type": "object" },
|
||||
"phase09f_offline_design_allowed": { "const": false },
|
||||
"authorization": {
|
||||
"type": "object",
|
||||
"additionalProperties": { "const": false }
|
||||
},
|
||||
"actions": { "type": "object" },
|
||||
"artifact_provenance": { "type": "array", "minItems": 6 },
|
||||
"blocking_state": { "type": "object" }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,477 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"phase": "PHASE_0_9E_R2_INNER_BACKUP_CORRELATION",
|
||||
"status": "HOST_ONLY_COMPLETE",
|
||||
"date": "2026-07-19",
|
||||
"baseline_commit": "48714bb542f3ea5b9893d0461ba4c9d938cd6d8d",
|
||||
"prior_phase_classification": "LOCAL_BACKUP_NOT_CORRELATED",
|
||||
"primary_provenance_classification": "LOCAL_BACKUP_UNCORRELATED",
|
||||
"outer_zip_official": false,
|
||||
"outer_provenance": "MEDIAFIRE_OBJECT_METADATA_BOUND",
|
||||
"inner_provenance": "UNBOUND",
|
||||
"runtime_deployment_verified": false,
|
||||
"current_device_contents_verified": false,
|
||||
"runtime_firmware_9_60": "UNPROVEN",
|
||||
"local_candidate": {
|
||||
"outer": {
|
||||
"name": "Y2JB-Autoloader-403-1240.zip",
|
||||
"size": 504159435,
|
||||
"sha256": "805e3f87f0c371223619ffc7d3a7b3c0d41a1fae8a8b1171d9e2f162659e8291",
|
||||
"creation_utc": "2026-06-23T14:10:39.0466596Z",
|
||||
"modification_utc": "2026-06-23T14:11:10.6992328Z",
|
||||
"zip_comment": ""
|
||||
},
|
||||
"inner": {
|
||||
"entry": "PS5/EXPORT/BACKUP/202606102126_00/archive.dat",
|
||||
"size": 504365056,
|
||||
"compressed_size": 504158629,
|
||||
"crc32": "522808c8",
|
||||
"sha256": "6439834e8856d45b6d6fe699b74c35ca6985a199ea8ecf3e398c018d37be2d55",
|
||||
"format": "SIECAF"
|
||||
}
|
||||
},
|
||||
"local_download_provenance": {
|
||||
"classification": "MEDIAFIRE_URL_EXACT",
|
||||
"zone_identifier": {
|
||||
"stream_size": 327,
|
||||
"stream_sha256": "70928a3d66cbb9f584596414c4fe535b498dd5ed7c5f55bbeae4efeb146ea841",
|
||||
"section": "ZoneTransfer",
|
||||
"zone_id": 3,
|
||||
"referrer_url": {
|
||||
"host": "www.mediafire.com",
|
||||
"path": "/",
|
||||
"query_present": false,
|
||||
"full_value_sha256": "9a0ff5a3e34286b2e53192003fca8b6c7b00ad6df3c681765da04ccaa54c0919"
|
||||
},
|
||||
"host_url": {
|
||||
"host": "download2434.mediafire.com",
|
||||
"path_redacted": "/<redacted-signed-segment>/jq3fcutuwbb1mrb/Y2JB-Autoloader-403-1240.zip%00",
|
||||
"query_present": false,
|
||||
"full_value_sha256": "a39f05923d0a5368ea5138c1974ac109bb09f8ab795c6edb8e470d8dfe4d784c"
|
||||
},
|
||||
"mediafire_file_key": "jq3fcutuwbb1mrb",
|
||||
"last_writer_package_family_name": null,
|
||||
"app_zone_id": null,
|
||||
"other_fields": []
|
||||
},
|
||||
"browser_history": {
|
||||
"classification": "NO_BROWSER_HISTORY_MATCH",
|
||||
"search_scope": [
|
||||
"Chrome Default",
|
||||
"Chrome System Profile",
|
||||
"Edge Default"
|
||||
],
|
||||
"absent_browsers": [
|
||||
"Brave",
|
||||
"Chromium",
|
||||
"Opera",
|
||||
"Opera GX"
|
||||
],
|
||||
"matching_records": 0,
|
||||
"full_history_exported": false,
|
||||
"original_databases_modified": false,
|
||||
"temporary_read_only_copies_created": 3,
|
||||
"temporary_copies_cleaned": true
|
||||
}
|
||||
},
|
||||
"mediafire_object": {
|
||||
"page": "https://www.mediafire.com/file/jq3fcutuwbb1mrb/Y2JB-Autoloader-403-1240.zip/file",
|
||||
"page_found": true,
|
||||
"page_html_size": 333321,
|
||||
"page_html_sha256": "655e4c3c2e5c423019b0195ca863ee8906f7ca02601b773b39688a590bf7fcb7",
|
||||
"displayed_name": "Y2JB-Autoloader-403-1240.zip",
|
||||
"displayed_size": "480.8MB",
|
||||
"exact_server_byte_count_displayed": false,
|
||||
"uploaded_display_value": "2026-06-11 15:32:16",
|
||||
"uploaded_country_display_value": "United Kingdom",
|
||||
"public_uploader_or_account": null,
|
||||
"user_description": null,
|
||||
"linked_tutorial_or_maker": null,
|
||||
"direct_download_identity_contains_file_key": true,
|
||||
"local_ads_contains_same_file_key_and_name": true,
|
||||
"redownload_performed": false,
|
||||
"classification": "MEDIAFIRE_OBJECT_METADATA_BOUND",
|
||||
"byte_binding_reason": "No server digest or exact server byte count was exposed and no duplicate MediaFire download was needed or performed."
|
||||
},
|
||||
"official_candidate": {
|
||||
"repository": "https://github.com/Gezine/Y2JB",
|
||||
"release": "Y2JB 1.6",
|
||||
"tag": "1.6",
|
||||
"release_commit": "0dbbf4e7e0203af7e5d101a3256c634edf4e3ba2",
|
||||
"asset_id": 442358421,
|
||||
"asset_name": "Y2JB_backup_1.6.4.03.zip",
|
||||
"asset_url": "https://github.com/Gezine/Y2JB/releases/download/1.6/Y2JB_backup_1.6.4.03.zip",
|
||||
"official_size": 504395044,
|
||||
"official_sha256": "b01b4f442327f9eca90ffc4506dfa58249e4ac70cb9d7488c856c9e8dfaf37b4",
|
||||
"local_download_size": 504395044,
|
||||
"local_download_sha256": "b01b4f442327f9eca90ffc4506dfa58249e4ac70cb9d7488c856c9e8dfaf37b4",
|
||||
"download_attempts": 1,
|
||||
"resume": false,
|
||||
"automatic_retry": false,
|
||||
"download_valid": true,
|
||||
"executed": false,
|
||||
"restored": false,
|
||||
"zip_comment": "",
|
||||
"entries": [
|
||||
{
|
||||
"name": "PS5/",
|
||||
"compressed_size": 0,
|
||||
"uncompressed_size": 0,
|
||||
"crc32": "00000000",
|
||||
"compress_type": 0,
|
||||
"timestamp": "2026-06-09T04:15:20",
|
||||
"create_system": 3,
|
||||
"create_version": 20,
|
||||
"extract_version": 20,
|
||||
"flag_bits": 0,
|
||||
"internal_attr": 0,
|
||||
"external_attr": 1107230720,
|
||||
"header_offset": 0,
|
||||
"comment_hex": "",
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"name": "PS5/EXPORT/",
|
||||
"compressed_size": 0,
|
||||
"uncompressed_size": 0,
|
||||
"crc32": "00000000",
|
||||
"compress_type": 0,
|
||||
"timestamp": "2026-06-09T04:15:20",
|
||||
"create_system": 3,
|
||||
"create_version": 20,
|
||||
"extract_version": 20,
|
||||
"flag_bits": 0,
|
||||
"internal_attr": 0,
|
||||
"external_attr": 1107230720,
|
||||
"header_offset": 66,
|
||||
"comment_hex": "",
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"name": "PS5/EXPORT/BACKUP/",
|
||||
"compressed_size": 0,
|
||||
"uncompressed_size": 0,
|
||||
"crc32": "00000000",
|
||||
"compress_type": 0,
|
||||
"timestamp": "2026-06-09T04:15:20",
|
||||
"create_system": 3,
|
||||
"create_version": 20,
|
||||
"extract_version": 20,
|
||||
"flag_bits": 0,
|
||||
"internal_attr": 0,
|
||||
"external_attr": 1107230720,
|
||||
"header_offset": 139,
|
||||
"comment_hex": "",
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"name": "PS5/EXPORT/BACKUP/202606090510_00/",
|
||||
"compressed_size": 0,
|
||||
"uncompressed_size": 0,
|
||||
"crc32": "00000000",
|
||||
"compress_type": 0,
|
||||
"timestamp": "2026-06-09T04:15:20",
|
||||
"create_system": 3,
|
||||
"create_version": 20,
|
||||
"extract_version": 20,
|
||||
"flag_bits": 0,
|
||||
"internal_attr": 0,
|
||||
"external_attr": 1107230720,
|
||||
"header_offset": 219,
|
||||
"comment_hex": "",
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"name": "PS5/EXPORT/BACKUP/202606090510_00/archive.dat",
|
||||
"compressed_size": 504394122,
|
||||
"uncompressed_size": 504496128,
|
||||
"crc32": "7db3b89a",
|
||||
"compress_type": 8,
|
||||
"timestamp": "2026-06-09T05:15:58",
|
||||
"create_system": 3,
|
||||
"create_version": 20,
|
||||
"extract_version": 20,
|
||||
"flag_bits": 8,
|
||||
"internal_attr": 0,
|
||||
"external_attr": 2176188416,
|
||||
"header_offset": 315,
|
||||
"comment_hex": "",
|
||||
"sha256": "3e1f0867d5d8362cbf722d51d0e68c26243d6b33d78460d978580b510c854212"
|
||||
}
|
||||
],
|
||||
"inner_comparison": {
|
||||
"classification": "INNER_ARCHIVE_HASH_MISMATCH",
|
||||
"official_inner_size": 504496128,
|
||||
"official_inner_sha256": "3e1f0867d5d8362cbf722d51d0e68c26243d6b33d78460d978580b510c854212",
|
||||
"local_inner_size": 504365056,
|
||||
"local_inner_sha256": "6439834e8856d45b6d6fe699b74c35ca6985a199ea8ecf3e398c018d37be2d55",
|
||||
"full_byte_equal": false,
|
||||
"bytes_compared": 504496128
|
||||
}
|
||||
},
|
||||
"community_families": [
|
||||
{
|
||||
"repository": "https://github.com/itsPLK/ps5-y2jb-autoloader",
|
||||
"relevant_tag": "v0.8-a0146a2",
|
||||
"commit": "a0146a2a9229fa5df5b5127257bf2e11ffc6d2de",
|
||||
"tree": "c128bafe81ea0819a5d5571a38df75fb8b9bac0c",
|
||||
"published_at": "2026-06-10T09:05:51Z",
|
||||
"firmware_range": "4.03-12.70",
|
||||
"system_backup_distributed_by_project": false,
|
||||
"release_assets": [
|
||||
{
|
||||
"name": "download0.dat",
|
||||
"size": 336789504,
|
||||
"sha256": "268c82f7a8f581c804949a86c259c982953ff479c13a3dc9f9da02c354b32d6e"
|
||||
},
|
||||
{
|
||||
"name": "y2jb_update.zip",
|
||||
"size": 1152857,
|
||||
"sha256": "301599b05e7eb7224025ef9ed6ebc896d86d2c14bba5c32ced5a88bdf2c3517e"
|
||||
}
|
||||
],
|
||||
"y2jb_basis": "Fork declared; exact base commit not declared at this tag",
|
||||
"lapse_identity": "git blob 190996c683498fd3dddefbd48bb5ea73b7598299",
|
||||
"p2jb_identity": "git blob 510bf4b5cbb05bc41f06f20ec28e114de162866f",
|
||||
"elfldr_identity": "submodule commit 148b71c2fb9155d2550ef6a14eb03433e23acaeb",
|
||||
"payload_manager_identity": "submodule commit 5d33ce1c8bfef0c765aa3c4cfc7e4537dc706288",
|
||||
"autoload_behavior": "Kernel exploit and localhost-only elfldr load automatically; user autoload.txt controls later payloads; Payload Manager is included but not proof of local-backup content.",
|
||||
"expected_backup_names": [],
|
||||
"classification": "THIRD_PARTY_BUILD_FROM_PUBLIC_SOURCE_POSSIBLE",
|
||||
"match_reason": "Firmware-range and autoloader naming align; tag predates the local inner timestamp; README credits Rush for backup creation.",
|
||||
"exclusion_reason": "Project explicitly says it does not distribute system backups and no public asset or hash binds the MediaFire object.",
|
||||
"large_backup_downloaded": false
|
||||
},
|
||||
{
|
||||
"repository": "https://github.com/owendswang/Y2JB-P2JB-bdj_unpatch",
|
||||
"relevant_tag": "v1.4-autoloader",
|
||||
"commit": "9990e917cdb24c249ce24f4ff18e6e869e99cf51",
|
||||
"tree": "940f68cf87470840647d2dea54981cf9380f0c8a",
|
||||
"published_at": "2026-06-10T09:01:19Z",
|
||||
"firmware_range": "9.00-12.40 disc edition in tag README; asset is named for 7.61",
|
||||
"system_backup_distributed_by_project": true,
|
||||
"y2jb_basis": "Gezine/Y2JB declared; exact base commit not declared",
|
||||
"lapse_identity": "payloads/lapse.js blob 942fa0985b7bae97477fc81522093ff723b67fc4",
|
||||
"p2jb_identity": "payloads/p2jb-matem6.js blob 67f14fa020fc8ce32ffece624cda942174c65452",
|
||||
"elfldr_identity": "embedded elfldr-ps5-0.23.elf blob 64271848265ddc64359cced28ae4ce8f956a8ca5",
|
||||
"payload_manager_identity": null,
|
||||
"autoload_behavior": "Release is explicitly an autoloader backup; exact live behavior was not executed or inferred beyond source and release text.",
|
||||
"release_assets": [
|
||||
{
|
||||
"asset_id": 443441800,
|
||||
"name": "download0_Y2JB+autoloader-20260609.zip",
|
||||
"size": 333151616,
|
||||
"sha256": "57b0b6f6702cbf8ab5528bab0a341e2ff3c04282067fab92de210e13ef59b5af"
|
||||
},
|
||||
{
|
||||
"asset_id": 443444036,
|
||||
"name": "PS5-12.20-backup-Y2JB+autoloader-20260609-en.zip",
|
||||
"size": 498991549,
|
||||
"sha256": "dd3c2ed7b4f7e6a7d78f3188271aca4cd98eb7f0a65a0c9986de7d39d7851955"
|
||||
},
|
||||
{
|
||||
"asset_id": 443442879,
|
||||
"name": "PS5-7.61-backup-Y2JB+autoloader-20260609-en.zip",
|
||||
"size": 504425435,
|
||||
"sha256": "8552d7c3c7bb3f078d967f56dfe1b488b37e3ed13e10c5fe97ae222482d56897"
|
||||
}
|
||||
],
|
||||
"match_reason": "The June 9/10 autoloader backup is date-adjacent and size-adjacent to the local archive.",
|
||||
"exclusion_reason": "The downloaded community inner differs in size, SHA-256, every byte comparison, version, segment count, normalized layout, and normalized hash blocks.",
|
||||
"large_backup_downloaded": true,
|
||||
"downloaded_asset": {
|
||||
"asset_id": 443442879,
|
||||
"name": "PS5-7.61-backup-Y2JB+autoloader-20260609-en.zip",
|
||||
"official_size": 504425435,
|
||||
"official_sha256": "8552d7c3c7bb3f078d967f56dfe1b488b37e3ed13e10c5fe97ae222482d56897",
|
||||
"local_size": 504425435,
|
||||
"local_sha256": "8552d7c3c7bb3f078d967f56dfe1b488b37e3ed13e10c5fe97ae222482d56897",
|
||||
"download_attempts": 1,
|
||||
"resume": false,
|
||||
"automatic_retry": false,
|
||||
"executed": false,
|
||||
"restored": false,
|
||||
"inner_entry": "PS5/EXPORT/BACKUP/202606100638_00/archive.dat",
|
||||
"inner_size": 504627200,
|
||||
"inner_sha256": "d4f9b1ba4e32af175a3431a7734085d5420370ebb79f9a32852eb824a90e190e",
|
||||
"inner_crc32": "cf138df3",
|
||||
"inner_compressed_size": 504424629,
|
||||
"inner_comparison": "INNER_ARCHIVE_HASH_MISMATCH",
|
||||
"full_byte_equal": false,
|
||||
"bytes_compared": 504627200
|
||||
}
|
||||
},
|
||||
{
|
||||
"repository": "https://github.com/lz-anonz/Y2X",
|
||||
"relevant_tag": "v1.3",
|
||||
"commit": "2ae881259be647738713b83a6a91ffe693ccf9af",
|
||||
"tree": "6d3baaf099d81760bd259af88b34d2fb26083e65",
|
||||
"published_at": "2026-06-10T21:58:27Z",
|
||||
"firmware_range": "4.03-12.70",
|
||||
"system_backup_distributed_by_project": false,
|
||||
"release_assets": [
|
||||
{
|
||||
"asset_id": 444080103,
|
||||
"name": "USB-ps5_autoloader.rar",
|
||||
"size": 904337,
|
||||
"sha256": "9ca55573d9c5c463a227f95524d818fc0f4522a8eed481e886192f13cf1fad20"
|
||||
},
|
||||
{
|
||||
"asset_id": 444106189,
|
||||
"name": "v1.3-download0-Y2X-P2JB+Lapse.rar",
|
||||
"size": 521801,
|
||||
"sha256": "48340487be1a0ec9c9d1faea4187c8005a754ddb93a62e8713ac2777a9df01a6"
|
||||
}
|
||||
],
|
||||
"y2jb_basis": "Fork declared; exact base commit not declared",
|
||||
"lapse_identity": "src/v1 lapse.js blob dbd48d50ff8263f6e87f71a457e8d52175c10f74",
|
||||
"p2jb_identity": "src/v1 p2jb.js blob 8a038ca76e9291e0dea4a871a05b7239aed61b05",
|
||||
"elfldr_identity": "v1 elfldr blob fff162517d12af4ab44064a05992499187c757ba; v2 elfldr blob 276ecf71d5e384f997242ad8949b33a62793bbaf",
|
||||
"payload_manager_identity": "pldmgr_v0.3.1.elf blob c49bf9e18ccb23ebbf6ab42927276eb313058e8d",
|
||||
"autoload_behavior": "v1 permits USB payload autoload; v2 automatically loads Payload Manager and FTP before closing YouTube; README warns against adding kstuff to v2 autoload.",
|
||||
"expected_backup_names": [],
|
||||
"classification": "NO_PUBLIC_SYSTEM_BACKUP_ASSET_AT_RELEVANT_RELEASE",
|
||||
"match_reason": "Firmware range and publication date overlap the local filename and inner timestamp.",
|
||||
"exclusion_reason": "Current v1.3 assets are only sub-megabyte USB/download0 archives; README backup wording is not a public byte identity.",
|
||||
"large_backup_downloaded": false
|
||||
}
|
||||
],
|
||||
"community_download_zip_entries": [
|
||||
{
|
||||
"name": "PS5/",
|
||||
"compressed_size": 0,
|
||||
"uncompressed_size": 0,
|
||||
"crc32": "00000000",
|
||||
"compress_type": 0,
|
||||
"timestamp": "2026-06-10T13:51:48",
|
||||
"create_system": 0,
|
||||
"create_version": 31,
|
||||
"extract_version": 10,
|
||||
"flag_bits": 0,
|
||||
"external_attr": 16,
|
||||
"header_offset": 0,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"name": "PS5/EXPORT/",
|
||||
"compressed_size": 0,
|
||||
"uncompressed_size": 0,
|
||||
"crc32": "00000000",
|
||||
"compress_type": 0,
|
||||
"timestamp": "2026-06-10T13:51:52",
|
||||
"create_system": 0,
|
||||
"create_version": 31,
|
||||
"extract_version": 10,
|
||||
"flag_bits": 0,
|
||||
"external_attr": 16,
|
||||
"header_offset": 34,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"name": "PS5/EXPORT/BACKUP/",
|
||||
"compressed_size": 0,
|
||||
"uncompressed_size": 0,
|
||||
"crc32": "00000000",
|
||||
"compress_type": 0,
|
||||
"timestamp": "2026-06-10T13:52:00",
|
||||
"create_system": 0,
|
||||
"create_version": 31,
|
||||
"extract_version": 10,
|
||||
"flag_bits": 0,
|
||||
"external_attr": 16,
|
||||
"header_offset": 75,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"name": "PS5/EXPORT/BACKUP/202606100638_00/",
|
||||
"compressed_size": 0,
|
||||
"uncompressed_size": 0,
|
||||
"crc32": "00000000",
|
||||
"compress_type": 0,
|
||||
"timestamp": "2026-06-10T13:52:00",
|
||||
"create_system": 0,
|
||||
"create_version": 31,
|
||||
"extract_version": 10,
|
||||
"flag_bits": 0,
|
||||
"external_attr": 16,
|
||||
"header_offset": 123,
|
||||
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
|
||||
},
|
||||
{
|
||||
"name": "PS5/EXPORT/BACKUP/202606100638_00/archive.dat",
|
||||
"compressed_size": 504424629,
|
||||
"uncompressed_size": 504627200,
|
||||
"crc32": "cf138df3",
|
||||
"compress_type": 8,
|
||||
"timestamp": "2026-06-10T13:39:42",
|
||||
"create_system": 0,
|
||||
"create_version": 31,
|
||||
"extract_version": 20,
|
||||
"flag_bits": 0,
|
||||
"external_attr": 32,
|
||||
"header_offset": 187,
|
||||
"sha256": "d4f9b1ba4e32af175a3431a7734085d5420370ebb79f9a32852eb824a90e190e"
|
||||
}
|
||||
],
|
||||
"siecaf": {
|
||||
"fingerprints_manifest": "manifests/runtime/phase-0.9e-r2-siecaf-fingerprints.json",
|
||||
"parser_source": "tools/inspect_siecaf_header.py",
|
||||
"public_layout_commit": "36d014672bc87577a6e0d750c2cccadc3fae0854",
|
||||
"public_header_blob": "fdbc368353a7797464873ada306f0297257eb95e",
|
||||
"local_vs_official": "SIECAF_LAYOUT_DIFFERENT",
|
||||
"local_vs_community": "SIECAF_LAYOUT_DIFFERENT",
|
||||
"official_vs_community": "SIECAF_LAYOUT_DIFFERENT",
|
||||
"decryption_attempted": false,
|
||||
"content_extraction_attempted": false,
|
||||
"ps5_bar_tool_executed": false
|
||||
},
|
||||
"phase09f_offline_design_reconsideration_allowed": false,
|
||||
"phase09f_reason": "Neither inner bytes nor MediaFire maker/source are bound, and the actual deployed bootstrap implementation remains unaudited.",
|
||||
"authorization": {
|
||||
"device_action_authorized": false,
|
||||
"target_build_authorized": false,
|
||||
"transfer_authorized": false,
|
||||
"execution_authorized": false,
|
||||
"installation_authorized": false,
|
||||
"lifecycle_authorized": false,
|
||||
"autoload_authorized": false,
|
||||
"device_write_authorized": false,
|
||||
"rescue_payload_design_authorized": false,
|
||||
"automatic_retry": false
|
||||
},
|
||||
"blocking_state": {
|
||||
"payload_manager_backup": "HARD_BLOCKER_FOR_INSTALLATION",
|
||||
"independent_recovery": "UNPROVEN",
|
||||
"actual_bootstrap_implementation": "UNPROVEN",
|
||||
"local_backup_source_family": "UNBOUND",
|
||||
"runtime_firmware_9_60": "UNPROVEN"
|
||||
},
|
||||
"actions": {
|
||||
"official_large_backup_downloads": 1,
|
||||
"community_large_backup_downloads": 1,
|
||||
"mediafire_large_backup_downloads": 0,
|
||||
"large_backup_bytes_downloaded": 1008820479,
|
||||
"download_resume_used": false,
|
||||
"automatic_retry_used": false,
|
||||
"downloaded_file_executed": false,
|
||||
"downloaded_file_restored": false,
|
||||
"ps5_bar_tool_executed": false,
|
||||
"ps5_connected": false,
|
||||
"ps5_ip_used": false,
|
||||
"device_request_performed": false,
|
||||
"files_transferred_to_or_from_ps5": false,
|
||||
"target_build_performed": false,
|
||||
"target_code_created": false,
|
||||
"target_artifact_created": false,
|
||||
"payload_created": false,
|
||||
"device_client_created": false
|
||||
},
|
||||
"temporary_research_storage": {
|
||||
"peak_file_count": 12,
|
||||
"peak_bytes": 1029326564,
|
||||
"large_files_tracked": false,
|
||||
"browser_database_copies_tracked": false,
|
||||
"cleaned": true,
|
||||
"cleanup_verified": true
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user