[feature] groovy function registry
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 189
Description
Problem Statement
===
Previously we allow arbitrary groovy scripts in pinot SQL (see: https://docs.pinot.apache.org/users/user-guide-query/scalar-functions#groovy-scripts)
This causes potential RCE security issue. We would like to propose a groovy function registry that is guarded by ACL.
- only authorized accounts are allowed to register groovy functions;
- users on all access level will have access to use registered groovy functions,
This way (1) ad-hoc groovy scripts can be disabled to avoid potential security risk; and (2) we still allow using registered groovy functions
Contributor guide
Research direction
Start with the scalar-functions documentation linked in the issue, especially the Groovy scripts entry point, and map how registration and ACL authorization should work. Done means authorized accounts can register functions, all users can invoke registered functions, and ad-hoc Groovy scripts can be disabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- groovy, java
- Domain
- authorization, backend, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100