Skip to content

fix(security): allow Kùzu read-only introspection through the CALL allowlist - #1739

Merged
Shashankss1205 merged 1 commit into
mainfrom
fix-readonly-kuzu-introspection
Oct 15, 2026
Merged

Shashankss1205 merged 1 commit into
mainfrom
fix-readonly-kuzu-introspection

Conversation

@Shashankss1205

Copy link
Copy Markdown
Collaborator

Follow-up to #1735 (#1727).

#1735 correctly inverted the read-only Cypher guard to fail closed with a CALL allowlist. But the allowlist only names Neo4j db.* procedures. On Kùzu, the default embedded backend, cgc query "CALL show_tables() RETURN *" (the standard way to inspect a schema) is now rejected. The same goes for table_info and show_connection.

Change

Adds Kùzu/LadybugDB's read-only introspection table functions to the allowlist: show_tables, table_info, show_connection, show_indexes, db_version.

Still rejected, and pinned by tests:

  • Kùzu's config form, e.g. CALL threads=4
  • create_fts_index and drop_fts_index
  • anything else not on the list

Tests

  • tests/unit/utils/test_cypher_readonly.py gains two tests. Together with the enforcement suites that makes 28 passed.
  • Checked by hand against a real Kùzu index: cgc query "CALL show_tables() RETURN *" returns the table list again.

🤖 Generated with Claude Code

…lowlist

#1735 inverted the read-only guard to a CALL allowlist, but listed only Neo4j
db.* procedures, so `cgc query "CALL show_tables() RETURN *"` stopped working
on Kùzu, the default backend. Adds Kùzu/LadybugDB's read-only table functions;
config-setting CALLs and FTS index create/drop stay rejected.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@vercel

vercel Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
code-graph-context-pack Ready Ready Preview Sep 27, 2026 11:11am UTC

@github-actions

Copy link
Copy Markdown
Contributor

Hi! 👋 Join our CodeGraphContext Discord channel to collaborate: https://discord.gg/dR4QY32uYQ

@github-actions

Copy link
Copy Markdown
Contributor

🔍 PR Code Graph Analysis

fix(security): allow Kùzu read-only introspection through the CALL allowlist (#1739)

📊 Interactive Visualization

View the blast radius graph: PR Reviewer Dashboard

📦 Artifacts

The graph JSON has been uploaded as a build artifact: pr-code-graph-1739


Generated by CodeGraphContext using FalkorDB Lite

@Shashankss1205 Shashankss1205 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Readonly Kuzu CALL allowlist tests pass. Parity CI shows the known #1730 51-edge Ladybug deficit. Do not bypass required checks on that basis.

@Shashankss1205
Shashankss1205 merged commit 80f485c into main Oct 15, 2026
20 of 22 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog tasks to Done in CGC Progress Board Oct 15, 2026

This branch was successfully deployed

1 active deployment
Preview — 0a257efd Deployed Sep 27, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant