Sealmark
Unreleased: not public yet. Maintainers have not reviewed this result.

Results / @bytebase/dbhub

@bytebase/dbhub

version tested 1.5.0npmtested 2026-10-13Sealmark 0.2.1methodology 0.3-draftSTANDARD run2 tools
A
Protocol4/4 points
F
Database3/7 pointscritical: mutating-sql

Coverage: covered (1 of 2 tools reached with a valid call).

Protocol checks

CheckVerdictWhat happened
protocol
Valid MCP handshake and tool schemas
passhandshake ok, 2 well-formed tool(s)
tool-poisoningcritical
No tool-poisoning indicators in tool metadata
passscanned 2 tool definition(s), including parameter text: nothing suspicious
robust-input
Survives malformed tool input
pass8 invalid call(s) rejected cleanly
secret-echocritical
No environment secret echoed in responses
passcanary secrets absent from tools/list and 8 captured response(s)

Database checks

CheckVerdictWhat happened
read-only
Read-only by default
failwrites executed through execute_sql
write-gate (advisory)
Write approval gate
failwrites executed with no confirmation step through execute_sql (advisory: MCP clients may add their own approval)
rlscritical
Row-level security respected
passDB-enforced: the server passed the policy through and added no filtering of its own (support role saw only its own tenant on every tool)
mutating-sqlcritical
Mutating SQL blocked
failEXECUTED: stacked statements (DROP), stacked statements (INSERT), COMMIT then write (read-only transaction escape), case and comment obfuscation (INSERT), data-modifying CTE (DELETE), data-modifying CTE (INSERT), function with side effects (defeats any prefix filter by construction), anonymous DO block, TRUNCATE, DDL (CREATE TABLE), DDL via SELECT INTO, PREPARE then EXECUTE, session state (disable read-only, then write), PREPARE and EXECUTE in one call, function with side effects in FROM, EXPLAIN ANALYZE runs the statement; 0 of 16 blocked
piicritical
Personal data masking respected
passDB-enforced: the server passed the grants through and added no filtering of its own (analyst role never received raw emails on any tool)
pii-masked
Masked data reachable
passthe masked view was readable and returned only masked emails
db-rowcap
Row cap
failno row cap: 200,000 rows could be read through every tool
db-timeout
Statement timeout
failno statement timeout within 18s (expected 10s): SELECT pg_sleep(30) on execute_sql
audit (advisory)
Every call logged
n/anot measured: servers do not write audit rows by themselves
db-privilege (advisory)
Connects as the database role it was given
passevery instance connected as exactly the role it was given (sm_admin, sm_support, sm_analyst); none is a superuser, has BYPASSRLS or owns an RLS table

What was not covered

Run it yourself

Started with the standard settings like this; put it in sealmark.yaml as the server:

npx -y @bytebase/dbhub@1.5.0

Each of 613 verdicts was checked independently, and Sealmark was wrong on some: how reliable Sealmark is.

Think a verdict is wrong, or want a server removed? Email disclosure@sealmark.dev with the server version. We recheck, correct the page if we were wrong, and add your reply. See the disclosure policy.