sjdv1982 / seamless

Seamless is a framework to set up reproducible computations (and visualizations) that respond to changes in cells. Cells contain the input data as well as the source code of the computations, and all cells can be edited interactively.
http://sjdv1982.github.io/seamless
Other
20 stars 6 forks source link

To document: fingertipping security risks #231

Open sjdv1982 opened 10 months ago

sjdv1982 commented 10 months ago

Seamless databases are expected to be shared freely among the community.

It is needed to document the security risks of fingertipping from a malicious database.

Fingertipping from expression or structured cell join should be relatively safe. Expressions and structured cell joins may give malicious data, but not malicious code. An attack would have to be specifically against a code cell or schema cell that is synthesized before being executed. Even the header generated by the compiled transformer's gen_header is not automatically added to any code.

Fingertipping from transformation is another case. This obviously executes arbitrary code. Therefore, transformations are fingertip-mined from the rev_transformation table. By default, it contains just a reverse mapping of the transformation table, but the database will function fine if this is not the case. Therefore, it is the idea to curate rev_transformation as to allow only trusted transformations in it. merge-databases does not merge rev_transformation by default.