PyD3XX

v1.1.4 suspicious
4.0
Medium Risk

A Python wrapper for the FTDI D3XX library.

πŸ€– AI Analysis

Final verdict: SUSPICIOUS

The package has a moderate risk score due to its interaction with system drivers via shell execution and the incomplete author information. These factors raise suspicion but do not conclusively indicate malicious intent.

  • Shell risk due to 'pnputil' usage
  • Incomplete maintainer's author information
Per-check LLM notes
  • Network: No network calls detected, indicating low risk.
  • Shell: Shell executions using 'pnputil' suggest the package is interacting with system drivers, which may be expected for hardware interaction but could also indicate potential misuse.
  • Obfuscation: No obfuscation patterns detected, indicating low risk of malicious activity.
  • Credentials: No credential harvesting patterns detected, indicating low risk of secret theft.
  • Metadata: The maintainer's author information is incomplete, and the account seems new or inactive, raising some concerns but not definitive evidence of malice.

πŸ”¬ Heuristic Checks

βœ“ Outbound Network Calls

No suspicious network call patterns found

βœ“ Code Obfuscation

No obfuscation patterns detected

⚠ Shell / Subprocess Execution score 8.0

Found 4 shell execution pattern(s)

  • nUSB _SearchWinUSB = subprocess.Popen("pnputil /enum-drivers", shell=False, stdout=subprocess.PIPE
  • ept: _SearchWinUSB = subprocess.Popen("/windows/sysnative/pnputil /enum-drivers", shell=False, std
  • y: _SearchD3XX = subprocess.Popen("pnputil /enum-drivers", shell=False, stdout=subprocess.PIPE
  • t: _SearchD3XX = subprocess.Popen("/windows/sysnative/pnputil /enum-drivers", shell=False, std
βœ“ Credential Harvesting

No credential harvesting patterns detected

βœ“ Typosquatting

No typosquatting candidates detected

βœ“ Registered Email Domain

Email domain looks legitimate: ftdichip.com>

βœ“ Suspicious Page Links

All external links appear legitimate

βœ“ Git Repository History

Repository S-Hector/PyD3XX appears legitimate

⚠ Maintainer History score 4.0

2 maintainer concern(s) found

  • Author name is missing or very short
  • Author "" appears to have only 1 package on PyPI (new or inactive account)
βœ“ Known CVE Vulnerabilities

No known vulnerabilities found in OSV database.

πŸ’‘ AI App Starter Prompt

Use this prompt to build a project with PyD3XX
Your task is to create a simple yet powerful USB communication tool using the 'PyD3XX' Python package. This package acts as a wrapper around the FTDI D3XX library, enabling direct access to FTDI chips for high-speed USB communication. Your application will allow users to send and receive data over USB from an FTDI chip-based device. Here’s a detailed breakdown of the project steps and features you should include:

1. **Setup**: Ensure your environment is ready by installing 'PyD3XX'. You may also need to install the FTDI D2XX driver if it’s not already installed on the system.

2. **Device Detection**: Write a function to detect all connected FTDI devices. This function should return a list of serial numbers and descriptions of each detected device.

3. **Connection Handling**: Implement a feature to establish a connection with a selected FTDI device. Users should be able to select a device from the list of detected devices and initiate a connection.

4. **Data Transmission**: Develop two functions - one for sending data to the device and another for receiving data from it. These functions should handle the transmission and reception of binary data efficiently.

5. **Error Handling**: Incorporate robust error handling to manage potential issues such as device disconnection, invalid data formats, etc.

6. **User Interface**: Create a simple command-line interface (CLI) where users can interact with the application. The CLI should support commands for device detection, connecting/disconnecting devices, and sending/receiving data.

7. **Advanced Features** (Optional): Consider adding advanced features like logging of all transactions, support for multiple simultaneous connections, or even a basic GUI for easier interaction.

This project aims to demonstrate the capabilities of 'PyD3XX' in facilitating efficient USB communication between Python applications and FTDI devices. Remember to document your code thoroughly and provide clear instructions for running the application.