Skip to main content

REPELSEC

About the tool

A command-line tool allowing developers to find security vulnerabilities within a Java project. This is done through:

  • A series of static analysis (SAST) tests that can be run against any first party code (.java, .jsp) to identify potential CWE vulnerabilities.
  • Software composition analysis (SCA) that identifies any outdated dependencies within the pom.xml file and their associated CVE vulnerabilities.

Installation

Pre-requisites - Python/PIP installed and added to PATH. Python 3.12 installed through the Microsoft Store is recommended.

To install REPELSEC, follow the below instructions.

  1. Run python -m pip install repelsec / pip install repelsec within your preferred terminal.
  2. Note the path repelsec.exe was installed to. For example, C: \Users\Jonah\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\Scripts_
  3. Within Windows Search open "Edit the system environment variables"
  4. Press "Environment Variables"
  5. Under "System Variables", select "Path", and click "Edit"
  6. Select an empty slot within the Path variable and paste in the path repelsec.exe was installed to.

To keep this tool up to date, run the following command on a scheduled basis.

python -m pip install repelsec --upgrade / pip install repelsec --upgrade

PyPi Package - https://pypi.org/project/repelsec

Usage

Open a terminal within your IDE and enter the following command.

repelsec [parameters] path/filename

Available parameters include:

  • -c / --csv - Export results to a CSV file
  • -p / --pdf - Export results to a PDF Report
  • -t / --txt - Export results to a TXT file
  • -b / --blank - Hide results from printing to the terminal. Prevents shouldersurfing.
  • -e / --password <password> - PDF Reports can be encrypted/password-protected with this option.
  • -o / --output_path <path> - Specify path to output results to.

This information can also be viewed locally using the following command.

repelsec --help

Examples

repelsec -c vulnerable.java

repelsec -p -e StrongPassword123?! -o ~/Documents/Results pom.xml

CWE Tests

  • CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
  • CWE-111: Direct Use of Unsafe JNI
  • CWE-209: Generation of Error Message Containing Sensitive Information
  • CWE-246: J2EE Bad Practices: Direct Use of Sockets
  • CWE-259: Use of Hard-coded Password
  • CWE-321: Use of Hard-coded Cryptographic Key
  • CWE-326: Inadequate Encryption Strength
  • CWE-382: J2EE Bad Practices: Use of System.exit()
  • CWE-395: Use of NullPointerException Catch to Detect NULL Pointer Dereference
  • CWE-396: Declaration of Catch for Generic Exception
  • CWE-397: Declaration of Throws for Generic Exception
  • CWE-481: Assigning instead of Comparing
  • CWE-491: Public cloneable() Method Without Final ('Object Hijack')
  • CWE-493: Critical Public Variable Without Final Modifier
  • CWE-500: Public Static Field Not Marked Final
  • CWE-572: Call to Thread run() instead of start()
  • CWE-582: Array Declared Public, Final, and Static
  • CWE-583: finalize() Method Declared Public
  • CWE-585: Empty Synchronized Block
  • CWE-586: Explicit Call to Finalize()
  • CWE-595: Comparison of Object References Instead of Object Contents
  • CWE-766: Critical Data Element Declared Public
  • CWE-798: Use of Hard-coded Credentials

Metadata

Release files for repelsec 1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for repelsec 1.0
File Size Uploaded
repelsec-1.0.tar.gz 18.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for repelsec 1.0
File Interpreter ABI Platform
repelsec-1.0-py3-none-any.whl Python 3 none any Details

Total release size: 40.0 kB

Release files / repelsec-1.0.tar.gz

Download URL repelsec-1.0.tar.gz
Size 18.4 kB
Tags Source
SHA-256 checksum
How to use checksums
04f23a75bd9328ef2cdd0ae9ea203b355f3eb1613551091d4dcde4671fea297b
BLAKE2b-256 checksum
How to use checksums
2e1bf9dc8d0bd3aba758047340f10fb564bbc430badeca3283bdafb791cbdcf6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.4

Release files / repelsec-1.0-py3-none-any.whl

Download URL repelsec-1.0-py3-none-any.whl
Size 21.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9780f4132e38ccf809d6448050279f4d7a606e56db0d2c70856eb6959d9dcdf7
BLAKE2b-256 checksum
How to use checksums
307f5493731bdc60c3489a561af1736ac05349083605720fa8a682e465f7ab16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.4

Release history Release notifications | RSS feed

This release

1.0 This release

2 release files

0.6

2 release files

0.5

2 release files

0.4

2 release files

0.3

2 release files

0.2

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page