
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
better-exceptions-fork
Advanced tools
Note: This a fork of the original better_exceptions
library.
This fork is intended to fix some edge cases I reported (see
#47 <https://github.com/Qix-/better-exceptions/issues/47>
__), but for
this it adds two dependencies to the project. The fixed errors are too
small to justify the addition of dependency to the main library, hence
this fork that I publish for personal use.
Pretty and more helpful exceptions in Python, automatically.
.. image:: https://github.com/Delgan/better-exceptions/raw/master_fork/screenshot.png :alt: Example screenshot of exceptions
Install better_exceptions
via pip:
.. code:: console
$ pip install better_exceptions
And set the BETTER_EXCEPTIONS
environment variable to any value:
.. code:: bash
export BETTER_EXCEPTIONS=1 # Linux / OSX
setx BETTER_EXCEPTIONS 1 # Windows
That's it!
Python REPL (Interactive Shell)
In order to use ``better_exceptions`` in the Python REPL, first install the
package (as instructed above) and run:
.. code:: console
$ python -m better_exceptions
Type "help", "copyright", "credits" or "license" for more information.
(BetterExceptionsConsole)
>>>
in order to drop into a ``better_exceptions``-enabled Python interactive shell.
Advanced Usage
~~~~~~~~~~~~~~
If you want to allow the entirety of values to be outputted instead of
being truncated to a certain amount of characters:
.. code:: python
import better_exceptions
better_exceptions.MAX_LENGTH = None
While using ``better_exceptions`` in production, do not forget to unset
the ``BETTER_EXCEPTIONS`` variable to avoid leaking sensitive data in
your logs.
Troubleshooting
---------------
If you do not see beautiful exceptions, first make sure that the
environment variable does exist. You can try ``echo $BETTER_EXCEPTIONS``
(Linux / OSX) or ``echo %BETTER_EXCEPTIONS%`` (Windows). On Linux and
OSX, the ``export`` command does not add the variable permanently, you
will probably need to edit the ``~/.profile`` file to make it
persistent. On Windows, you need to open a new terminal after the
``setx`` command.
Check that there is no conflict with another library, and that the
``sys.excepthook`` function has been correctly replaced with the
``better_exceptions``'s one. Sometimes other components can set up their
own exception handlers, such as the ``python3-apport`` Ubuntu package
that you may need to uninstall.
Make sure that you have not inadvertently deleted the
``better_exceptions_hook.pth`` file that should be in the same place as
the ``better_exceptions`` folder where all of your Python packages are
installed. Otherwise, try re-installing ``better_exceptions``.
You can also try to manually activate the hook by adding
``import better_exceptions; better_exceptions.hook()`` at the beginning
of your script.
Finally, if you still can not get this module to work, `open a new
issue <https://github.com/Qix-/better-exceptions/issues/new>`__ by
describing your problem precisely and detailing your configuration
(Python and ``better_exceptions`` versions, OS, code snippet,
interpeter, etc.) so that we can reproduce the bug you are experiencing.
License
=======
Copyright © 2017, Josh Junon. Licensed under the `MIT
license <LICENSE.txt>`__.
.. |Travis| image:: https://img.shields.io/travis/Delgan/better-exceptions.svg?style=flat-square
:target: https://travis-ci.org/Delgan/better-exceptions
FAQs
Pretty and helpful exceptions, automatically
We found that better-exceptions-fork demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.