Skip to content

Override operations in Huggingface libraries to make them more secure

License

Notifications You must be signed in to change notification settings

Capsize-Games/facehuggershield

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Facehugger Shield

Facehugger Shield automatically locks down operations for specific modules. It was designed to non-destructively restrict access to the Huggingface library, but can be used with any library.


img.png

Upload Python Package


Usage

Facehugger Shield was specifically designed to override Huggingface libraries, so the following examples show how to do that.

Install with Huggingface libraries (or any other library you want to restrict).

pip install facehuggershield

Import in your application's main entry file (e.g. main.py), import facehuggershield before importing any other libraries.

import facehuggershield.huggingface

Now you can use Huggingface libraries without worrying about telemetry, networking or file writes.


How it works

Facehugger Shield uses nullscream to intercept blacklisted modules and return Noop modules in their place. The noop modules are empty classes with functions that return Magic noop classes. The magic class functions in turn respond with Magic classes.

This allows anything on the blacklist to be importable, but not executable.

By overriding certain functions in the transformers library, Facehugger is able to prevent

About

Override operations in Huggingface libraries to make them more secure

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages