addrbookFor publishers
← The evidence ledger

Evidence row 120203

Observed , by baseline/1.

Kind
listing
About
source_record x402_bazaar:https://saylorinnovations.com/api/kb/node-child-process-exec-execfile-spawn-shell-injection-maxbuffer
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
30d43386e2b0f72a181447f0b3c57f4a9097ac6cc4c501718a9b9d001ffd537e
Leaf
0xa1011140eace18238aae8a90ca17cb294dd074f58695fd3122661c3ee7bef906

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://saylorinnovations.com/api/kb/node-child-process-exec-execfile-spawn-shell-injection-maxbuffer"
    ]
  ],
  "name": "Saylor Innovations Guide Library",
  "owner_address": "0xa2a8df0f7caabea4e120a2568118f141569fc8aa",
  "raw": {
    "accepts": [
      {
        "amount": "10000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "assetTransferMethod": "eip3009",
          "facilitatorOnly": true,
          "memo": "saylor:node-child-process-exec-e",
          "name": "USD Coin",
          "note": "Base settles through an x402 facilitator. Send payload.signature and payload.authorization (EIP-3009); there is no self-submitted path on this network.",
          "version": "2"
        },
        "maxTimeoutSeconds": 120,
        "network": "eip155:8453",
        "payTo": "0xA2A8dF0f7CaaBEa4e120a2568118f141569fc8aa",
        "scheme": "exact"
      },
      {
        "amount": "10000",
        "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
        "extra": {
          "assetTransferMethod": "eip3009",
          "facilitatorOnly": true,
          "memo": "saylor:node-child-process-exec-e",
          "name": "USD Coin",
          "note": "Polygon settles through an x402 facilitator. Send payload.signature and payload.authorization (EIP-3009); there is no self-submitted path on this network.",
          "version": "2"
        },
        "maxTimeoutSeconds": 120,
        "network": "eip155:137",
        "payTo": "0xA2A8dF0f7CaaBEa4e120a2568118f141569fc8aa",
        "scheme": "exact"
      },
      {
        "amount": "10000",
        "asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
        "extra": {
          "assetTransferMethod": "eip3009",
          "facilitatorOnly": true,
          "memo": "saylor:node-child-process-exec-e",
          "name": "USD Coin",
          "note": "Arbitrum settles through an x402 facilitator. Send payload.signature and payload.authorization (EIP-3009); there is no self-submitted path on this network.",
          "version": "2"
        },
        "maxTimeoutSeconds": 120,
        "network": "eip155:42161",
        "payTo": "0xA2A8dF0f7CaaBEa4e120a2568118f141569fc8aa",
        "scheme": "exact"
      },
      {
        "amount": "10000",
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "feePayer": "BENrLoUbndxoNMUS5JXApGMtNykLjFXXixMtpDwDR9SP",
          "memo": "saylor:node-child-process-exec-e",
          "reference": "86ZGucrrYmDunQy6CfTCy2zvT32tUo1AnMwhHamJgJCo",
          "session": "eyJhcnRpY2xlSWQiOiJub2RlLWNoaWxkLXByb2Nlc3MtZXhlYy1leGVjZmlsZS1zcGF3bi1zaGVsbC1pbmplY3Rpb24tbWF4YnVmZmVyIiwicmVmZXJlbmNlIjoiODZaR3VjcnJZbUR1blF5NkNmVEN5Mnp2VDMydFVvMUFuTXdoSGFtSmdKQ28iLCJyZWNpcGllbnQiOiI3TFNqZnJKZjhmTnNCOFZBOXU3TjNXRW4yNXNtUUxwb2IzU3Z5VXZYYWN5NyIsIm1pbnQiOiJFUGpGV2RkNUF1ZnFTU3FlTTJxTjF4enliYXBDOEc0d0VHR2tad3lURHQxdiIsIm1pbkFtb3VudCI6MTAwMDAsImV4cCI6MTc5Mjg0NDA1MzY2MH0.z6aWbJbvs18jcM9oCX2dR_Z9-PnD-xeDa-Q6tHoklUc"
        },
        "maxTimeoutSeconds": 120,
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "payTo": "7LSjfrJf8fNsB8VA9u7N3WEn25smQLpob3SvyUvXacy7",
        "scheme": "exact"
      },
      {
        "amount": "10000",
        "asset": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
        "extra": {
          "feePayer": "BENrLoUbndxoNMUS5JXApGMtNykLjFXXixMtpDwDR9SP",
          "memo": "saylor:node-child-process-exec-e",
          "reference": "J3iYzGQKjixoeqPxbKTg11Pipm5ETCSrcxSdxKrq2mg2",
          "session": "eyJhcnRpY2xlSWQiOiJub2RlLWNoaWxkLXByb2Nlc3MtZXhlYy1leGVjZmlsZS1zcGF3bi1zaGVsbC1pbmplY3Rpb24tbWF4YnVmZmVyIiwicmVmZXJlbmNlIjoiSjNpWXpHUUtqaXhvZXFQeGJLVGcxMVBpcG01RVRDU3JjeFNkeEtycTJtZzIiLCJyZWNpcGllbnQiOiI3TFNqZnJKZjhmTnNCOFZBOXU3TjNXRW4yNXNtUUxwb2IzU3Z5VXZYYWN5NyIsIm1pbnQiOiJFczl2TUZyemFDRVJtSmZyRjRIMkZZRDRLQ29Oa1kxMU1jQ2U4QmVud05ZQiIsIm1pbkFtb3VudCI6MTAwMDAsImV4cCI6MTc5Mjg0NDA1MzY2MH0.Q_UP0iER2vfUAkUHn1_KLLpwnu8Vg4vuuz4tJF_WjPY"
        },
        "maxTimeoutSeconds": 120,
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "payTo": "7LSjfrJf8fNsB8VA9u7N3WEn25smQLpob3SvyUvXacy7",
        "scheme": "exact"
      },
      {
        "amount": "95792",
        "asset": "So11111111111111111111111111111111111111112",
        "extra": {
          "memo": "saylor:node-child-process-exec-e",
          "native": true,
          "note": "Native SOL: send lamports with a system transfer, not an SPL transfer. Price is quoted live and this quote expires in 120s.",
          "quotedLamports": "98755",
          "reference": "C6Z18J7sXL2jTEeGhE5DenHbn8Go6fVrefoi6x67gA97",
          "session": "eyJhcnRpY2xlSWQiOiJub2RlLWNoaWxkLXByb2Nlc3MtZXhlYy1leGVjZmlsZS1zcGF3bi1zaGVsbC1pbmplY3Rpb24tbWF4YnVmZmVyIiwicmVmZXJlbmNlIjoiQzZaMThKN3NYTDJqVEVlR2hFNURlbkhibjhHbzZmVnJlZm9pNng2N2dBOTciLCJyZWNpcGllbnQiOiI3TFNqZnJKZjhmTnNCOFZBOXU3TjNXRW4yNXNtUUxwb2IzU3Z5VXZYYWN5NyIsIm1pbnQiOm51bGwsIm1pbkFtb3VudCI6OTU3OTIsImV4cCI6MTc5Mjg0NDA1MzY2MH0.iWQqs9v39GdlSq_7HGCCj5-VNmIi3MLSrKgyVAywfhE",
          "solUsdPrice": 101.26
        },
        "maxTimeoutSeconds": 120,
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "payTo": "7LSjfrJf8fNsB8VA9u7N3WEn25smQLpob3SvyUvXacy7",
        "scheme": "exact"
      }
    ],
    "description": "Node child_process guide - exec vs execFile vs spawn, injection test, ENOENT and exit codes, maxBuffer, timeout kills, env replacement",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "method": "GET",
            "type": "http"
          },
          "output": {
            "example": {
              "body": "Tested on Node 22: exec running an injected second command while execFile treats the argument literally, error shapes for exit code 3, missing command and maxBuffer, timeout SIGTERM, spawnSync and execSync status, spawn events, env inheritance and killing sh.",
              "c": "Self-Hosting & Infra",
              "id": "node-child-process-exec-execfile-spawn-shell-injection-maxbuffer",
              "t": "Node.js child_process: exec vs execFile vs spawn, Shell Injection, maxBuffer, Timeouts and Exit Codes"
            },
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "method": {
                  "enum": [
                    "GET"
                  ],
                  "type": "string"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "method"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "properties": {
                    "body": {
                      "description": "Main body text",
                      "type": "string"
                    },
                    "c": {
                      "description": "Category of the guide",
                      "type": "string"
                    },
                    "id": {
                      "description": "Identifier of the record",
                      "type": "string"
                    },
                    "license": {
                      "description": "License identifier",
                      "type": "string"
                    },
                    "price": {
                      "description": "Price",
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "t": {
                      "description": "Title of the guide",
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "t",
                    "c",
                    "body"
                  ],
                  "type": "object"
                },
                "type": {
                  "const": "json",
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    },
    "iconUrl": "https://res.cloudinary.com/bdb-prod/image/upload/c_fill,ar_1:1,w_256,h_256,f_auto,q_auto/v1791811517/bazaar-icons/bc5e2b3d111ebbef.jpg",
    "lastUpdated": "2026-10-24T12:12:13.702Z",
    "quality": {
      "l30DaysTotalCalls": 2,
      "l30DaysUniquePayers": 2,
      "lastCalledAt": "2026-10-24T12:12:13.327Z"
    },
    "resource": "https://saylorinnovations.com/api/kb/node-child-process-exec-execfile-spawn-shell-injection-maxbuffer",
    "serviceName": "Saylor Innovations Guide Library",
    "tags": [
      "nodejs",
      "child-process",
      "security",
      "shell",
      "spawn"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Node child_process guide - exec vs execFile vs spawn, injection test, ENOENT and exit codes, maxBuffer, timeout kills, env replacement"
}

What the leaf hashes

{"body":"30d43386e2b0f72a181447f0b3c57f4a9097ac6cc4c501718a9b9d001ffd537e","id":120203,"kind":"listing","method":"baseline/1","observed_us":1793025617484331,"prev":null,"subject":"x402_bazaar:https://saylorinnovations.com/api/kb/node-child-process-exec-execfile-spawn-shell-injection-maxbuffer","subject_kind":"source_record"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0xa100dfd0e3e7ed9f73ac931d63a945469f305de5ca373f13e241c05858c3c39d
  2. 0x4c51902301fc8f004ffc4d28a6918d75e8e0009db1c319b4e442bd03c2a83e4e
  3. 0xcebd23efe432d4e5634dbe6fd3f98f062cb92517e7f27f628c63f3702fa3c3e4
  4. 0x9d73bbb16f097b1823b96e640b64158210a23143dad774e4bf4d428f68833a6f
  5. 0xbb037ed448a3c9ae8cf90aa353a98395368a5fbf610fc67391a7316ca042f5f8
  6. 0x59522b4e324d297b87b07c558c3d130643e3e2804583c8e6d19bd474b044fed8
  7. 0xa3365b627c1b904cb7a3532b723aaf81436d75d68791492282320ee6e68bac0a
  8. 0xacbea1003f46f86edffa24948c2135518aa4138fe214dd7f079969ca9a1ba45b
  9. 0x2e341f6252adb787d6fe8df067d94cbcaff1f0c719bb94ffe8b610366b780599
  10. 0x848cf5e604d5f0c62cc02d3abe512164430820fceefd529d003cbca06e431809
  11. 0x6e2c6fb1ec16c0d8a0fa917725bdfc512e7ed9f39e77d64f0a911d30e68a27de
  12. 0x95576cc3dd18642c859f679cefa1cf80bfc6c690b065916c3585b14e8ef4b1b3
  13. 0xf8d3e004d9a208d2c5e82ab676956d80f8a3c78387c61dad15a3a8269efee0d8
  14. 0x6713795704ddd9c528d421fadd9cc96b0200a4ddbba84f88e718d4968dde888b
  15. 0x62a900133713919f4eed33d8336876b7a6d538233b8a4f3ed03b29aa44f5bad0
  16. 0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f
  17. 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON