Skip to content

Detects and prevents leaking secrets and API tokens into your logs in python

License

Notifications You must be signed in to change notification settings

Onboardbase/secure-log-py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SecureLog

SecureLog is a Python library designed to enhance the security of logging by preventing the leakage of sensitive information. It checks log messages for secrets and prints them securely, ensuring that sensitive data is not exposed in logs.

Check out other language support JS

Features

  • Secure Logging: Automatically checks log messages for secrets and prints them securely.
  • Environment-Specific Configuration: Allows disabling console logging based on the environment variable value.
  • Warning or Exit: Can be configured to either issue a warning or exit the process when a secret is detected.

Installation

To install SecureLog, use pip:

pip install secure-log==0.1.1

Usage

Basic Usage

To use SecureLog, simply import the SecureLog class and create an instance:

from secure_log import SecureLog

from secure_log import SecureLog
print = SecureLog().secure_print

You can override the default print function with secure_print or use secure_print directly for printing.

Configuration

You can configure SecureLog by passing an OptionsDict to the constructor. The OptionsDict can include the following keys:

  • disableOn: The environment variable value on which console logging should be disabled. This checks the value of PYTHON_ENV. Expected type: str.
  • warnOnly: If True, only a warning is issued when a secret is detected in the log message. Otherwise, the process exits. Expected type: bool.

Example:

options = {
    "disableOn": "production",
    "warnOnly": True
}
secure_log = SecureLog(options=options)
secure_log.secure_print("This is a secure log message.")

Handling Potential Secrets Leak

If a secret is detected in a log message, SecureLog can either issue a warning or exit the process, depending on the warnOnly option.

secure_log.secure_print("This message contains a secret: SECRET_KEY")

Contact

For any questions or concerns, please open an issue on GitHub.

About

Detects and prevents leaking secrets and API tokens into your logs in python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages