Shuvel
Unearthing bad code. Performs regex searches, but with more manageable results.
Installation
Standard Build
pip3 install shuvel
Bleeding Edge Build
pip3 install git+https://gitlab.com/TheTwitchy/shuvel
Development
- It is recommended that you use a virtualenv for development:
virtualenv --python python3 venvsource ./venv/bin/activate
python setup.py develop- Run with
shuvel
Usage
Running Rulesets
shuvel run -t ~/example/src- Runs all rules.
shuvel run -t ~/example/src -r general.*- Runs all rules in the
generalcategory.
- Runs all rules in the
shuvel run -t ~/example/src -r general.security_words- Runs only the rule
general.security_words.
- Runs only the rule
shuvel run -t ~/example/src -r general.security_words,general.rng,other.*- Runs several rules at once.
shuvel run -t ~/example/src -s low- Only run rules which will report low severity items or higher. Possible values are
high,low, andinfo.
- Only run rules which will report low severity items or higher. Possible values are
Showing Rulesets
shuvel rules- Shows all loaded rules.
Writing Rules
Rules are stored locally, and can generally be found in the shuvel config directory, which can be seen when running shuvel run --help. Non-default rules directories may be specified on the command line with the -r option. Rules need to be JSON files which have a structure as shown below (specifically the magic number should be intact, and all rules should be defined as a list under the "rules" field).
Example Rules
See the examples folder for some possibilities.
Testing Rules
To ensure a rule is valid, run shuvel test to show any errors or suggestions. The --debug switch can be passed before the test command as well for additional output.
Metadata
Release files for shuvel 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| shuvel-0.4.0.tar.gz | 12.3 kB | Without provenance | Details for shuvel-0.4.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| shuvel-0.4.0-py3-none-any.whl | Python 3 | none | any | Details for shuvel-0.4.0-py3-none-any.whl |
Total release size: 21.9 kB
Release files / shuvel-0.4.0.tar.gz
| Download URL | shuvel-0.4.0.tar.gz |
|---|---|
| Size | 12.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6deb46d7fa27b0af5510f2eba847a997e7a7a54881a08650b40d8f6a773b0a87
|
|
BLAKE2b-256 checksum How to use checksums |
3e7a4f48666a624c67a21d83ebec052b89888c93311342c78cfd8a7c3c32640b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2
|
Release files / shuvel-0.4.0-py3-none-any.whl
| Download URL | shuvel-0.4.0-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8f4240af0114f50e57a301974b7f1d05dc914abc9bb5a196525b85ea63e4ff79
|
|
BLAKE2b-256 checksum How to use checksums |
73bd5c46739f342ff0bcc2ec93434da06078a9d57623a615775ef3067fc7c7f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2
|
Security for shuvel 0.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.