airbytehq / airbytehq/airbyte-python-cdk

Security: Implement RestrictedPython for safer custom code execution

Open
#235 0 comments 2 reactions 1 assignee Claimed by @aaronsteers View on GitHub
Dominant language
Python
Stars
26
Forks
53
Avg merge
2d 6h
Merged PRs (30d)
10

Description

## Background

Currently, the custom code compiler uses raw `exec()` to execute user-provided Python code, which could potentially be unsafe as it has unrestricted access to Python builtins and the global namespace.

## Proposed Solution

Implement [RestrictedPython](https://restrictedpython.readthedocs.io/) to provide a safer execution environment for custom code. This will:

1. Restrict access to potentially dangerous builtins
2. Run code in an isolated namespace
3. Prevent access to sensitive operations

## References

- Original PR discussion: https://github.com/airbytehq/airbyte-python-cdk/pull/174#discussion_r1917458832

## Implementation Notes

- Add RestrictedPython as a dependency
- Replace current `exec()` implementation with RestrictedPython's secure execution
- Add tests to verify security restrictions are working as expected

## Security Considerations

This enhancement will improve the security posture of the custom code execution feature by preventing potentially malicious code from accessing sensitive operations or resources.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.