Skip to content

go: add function allowlist #959

@derekperkins

Description

@derekperkins

There's a function blocklist implemented in the Go server, but an allowlist is a much safer way to limit usage. IIRC, the biggest hurdle I encountered when looking at this a few months ago was implicit function execution. For example, a function like

read_parquet('gcs://some/file/that/uses/a/gcs/secret.parquet');

isn't explicitly using the httpfs extension, but the magic gcs or s3 prefix triggers it to run. You might want to allow read_parquet for local files, but not for remote files. I was hoping that the json from json_serialize_sql would expand those use cases to show the underlying function, but it didn't seem to.

Other than that, the tree walking functionality that is already built should accommodate this easily.

cc @danielbodart

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions