addrbookFor publishers
← The evidence ledger

Evidence row 3013099

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 9292435e-29d0-421f-9049-b1cfba801ff4
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
adb249b027946bc3a05c5589d00ba449475488ad79a7fc54a5487195734df097
Leaf
0x32e704636593b14bf68ab2a49b907a94192fd309626fb115a2a02f7032bf6693

What was observed

{
  "count": 2,
  "tools": [
    {
      "description": "Use when you need to check a live Supabase project rather than migration files: returns a read-only SQL query that reads table RLS settings, grants for anon and authenticated, policies, SECURITY DEFINER functions and storage buckets (never row data) and returns one JSON value. Run it with the user's Supabase SQL Editor or a Supabase MCP execute_sql tool, then pass the JSON to deadbolt_check_supabase_access.",
      "inputSchema": {
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "deadbolt_catalog_query"
    },
    {
      "description": "Use when you write, review or are about to apply Supabase / PostgreSQL migration SQL (CREATE TABLE, RLS, CREATE POLICY, GRANT, views, SECURITY DEFINER functions, storage buckets), or when a user asks whether their Supabase data is exposed, whether RLS is set up right, or why a query returns 42501 permission denied or no rows. Replays the SQL with real Postgres rules and returns, per table, what signed-out (anon) and signed-in (authenticated) users can SELECT/INSERT/UPDATE/DELETE (all rows, own rows, some rows, none, or denied for a missing grant), plus findings with severity and ready-to-run fix SQL: RLS off, policies written but RLS never enabled, using(true) writes, personal columns readable by anyone, views that bypass RLS, SECURITY DEFINER functions anyone can call, user_metadata in policies, public bucket listing, grants missing after the Oct 30 2026 default change. Also accepts the JSON produced by deadbolt_catalog_query for the live database. Deterministic; never connects to any database. Run it before telling a user their schema is safe. Up to 200,000 characters.",
      "inputSchema": {
        "properties": {
          "project_created_before_2026_10_30": {
            "description": "Only for SQL input. true (default): the project grants new public tables to anon and authenticated automatically (projects created before Oct 30, 2026). false: new tables get no grants unless the SQL grants them (projects created on or after Oct 30, 2026).",
            "type": "boolean"
          },
          "sql": {
            "description": "Migration SQL (one or many files concatenated, in order), or the single JSON value returned by the catalog query.",
            "maxLength": 200000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "sql"
        ],
        "type": "object"
      },
      "name": "deadbolt_check_supabase_access"
    }
  ]
}

What the leaf hashes

{"body":"adb249b027946bc3a05c5589d00ba449475488ad79a7fc54a5487195734df097","id":3013099,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793800736606560,"prev":null,"subject":"9292435e-29d0-421f-9049-b1cfba801ff4","subject_kind":"endpoint"}

Proof

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

  1. 0x32e68f40a52eeaf90931685ccda1ed2b28deae2f749ddab93a6536f02ec9436f
  2. 0xcba3e097f7ad3710ee449f72ee2c7a6b1051264eca91acd8e1ae62942b49bcb2
  3. 0x842a47aa1447c2775b46bcb4f7bff081f4af15dfc2a64a8c5ea5939ac7a17f13
  4. 0xf32c118ad673ccde649ddd316789a7dbb47c83bf666fdd488f4321681fa9bea3
  5. 0x2b7965da9b4b695de95664c8fc0d18081d6c6745053bd2d33c1b2c9c1e6b2e36
  6. 0x456de8a0dfbff89bbf944687971e1e98a8194073d872f2ee55c27c8d7744a9cb
  7. 0x54319c64a9ff5e8ed5c728b95cec2fed36b9cf86bf8e300422c227ac84109833
  8. 0xa4aaffb567bd8196c66969e224ff078566b151791a1feb6be6d36360bee17ade
  9. 0x00eb5797e59ed478a089b7f4fc4ca298fcdf46f41cb7f5b2c9ff834bcf4eeddc
  10. 0xf8e2f9b05081475f424f0e144c273b145a0a5b598c5774638ddcfa2a399f2f60
  11. 0xf7cf67682365b1c7d836bad2a66ccd3d6a3f315bbb51b361d0972bb362d5d3d5
  12. 0xfd490b824e1d575347294bdacd136440afef9e2fec23647ff70f33f60b7d725c
  13. 0x076f99e16dfe61777cf7005ffdb5efd687adb1aad0b9cdd01306aea19abb6247
  14. 0x4655903f447e8396651ab34c7de260d0aa4d05c74caa13b43dfdc4a860d9f1ce
  15. 0xdf892b99e8b0dbbb4f87276019f2d0a4b1e54a284757cc30e642f46b46f51c25
  16. 0x8632761f28bd1d3a8f35afb1fa5e24cfd1b78978317cf7ac09f0fd65df795c1c
  17. 0x84ade16fc3dc3a4a6aa46b581fe43195d593a51802c7d0a75e650bfd9c3ea4df
  18. 0x02f64ca19e7d9b09718851d2ce3abf641982580de99411626d894607cf386cd5
  19. 0x10067354f57fa0cd86b7423e67cc1c7d107d7c9c6823df5246c4fb63b60575e5
Day root
0xd4eed8c0ea3c90ec6f262b19fcc3b849f30cb82a0f84b8b89569e48af7d0c1ee
Chained
0x59305749c32724a02a23c368834d8a36ae9908da93a915e2962fffe01b4e591b
Published
On Arc Testnet, block 70772483: 0x813d56041c1efd407e56047129b597b154a1cb26458bb2768fd0a4630ac97345

How to check it · This row as JSON