ansys-scade-pyalmgw

v1.2.1 safe
4.0
Medium Risk

Python toolbox for Ansys SCADE LifeCycle ALM Gateway.

πŸ€– AI Analysis

Final verdict: SAFE

The package shows some potential risks such as shell execution and use of eval(), but these appear to be used within the context of legitimate functionality. There are no clear signs of malicious intent or supply-chain attacks.

  • Shell execution detected but appears benign
  • Use of eval() with user input, potentially risky
Per-check LLM notes
  • Network: No network calls detected, which is normal and not indicative of malicious activity.
  • Shell: Shell execution detected but appears to be for command output retrieval with input checks, suggesting it's part of the intended functionality rather than malicious activity.
  • Obfuscation: The use of eval() with user input might indicate an attempt at obfuscation or code injection, but without more context, it's hard to determine if this is malicious.
  • Credentials: No patterns indicative of credential harvesting were detected.
  • Metadata: The maintainer has an incomplete profile and may be new or inactive, but there are no other red flags.

πŸ“¦ Package Quality Overall: Medium (6.4/10)

β—ˆ Medium Test Suite 6.0

Partial test coverage signals detected

  • Test runner config found: pyproject.toml
β—ˆ Medium Documentation 7.0

Some documentation present

  • Documentation URL: "Documentation" -> https://pyalmgw.scade.docs.pyansys.com
  • Detailed PyPI description (4504 chars)
β—‹ Low Contributing Guide 4.0

No contributing guide or governance files found

  • Development Status classifier >= Beta
β—ˆ Medium Type Annotations 5.0

Partial type annotation coverage

  • 106 type-annotated function signatures detected in source
✦ High Multiple Contributors 10.0

Active multi-contributor project

  • 7 unique contributor(s) across 49 commits in ansys/scade-pyalmgw
  • Active community β€” 5 or more distinct contributors

πŸ”¬ Heuristic Checks

βœ“ Outbound Network Calls

No suspicious network call patterns found

⚠ Code Obfuscation score 2.0

Found 1 obfuscation pattern(s)

  • if filter is not None and not eval(filter): # nosec B307 continue
⚠ Shell / Subprocess Execution score 2.0

Found 1 shell execution pattern(s)

  • .join(cmd)) out = subprocess.check_output(cmd, stderr=subprocess.STDOUT) # nosec # inputs checked
βœ“ Credential Harvesting

No credential harvesting patterns detected

βœ“ Typosquatting

No typosquatting candidates detected

βœ“ Registered Email Domain

Email domain looks legitimate: ansys.com>

βœ“ Suspicious Page Links

All external links appear legitimate

βœ“ Git Repository History

Repository ansys/scade-pyalmgw 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 ansys-scade-pyalmgw
Create a Python-based utility named 'SCADE ALM Manager' that leverages the 'ansys-scade-pyalmgw' package to manage and interact with projects within the Ansys SCADE LifeCycle ALM Gateway environment. This tool should provide developers and project managers with a streamlined way to automate common tasks related to project management and version control. Here’s a detailed breakdown of the project requirements:

1. **Project Setup**: Initialize the project by installing the 'ansys-scade-pyalmgw' package. Ensure that the ALM Gateway server details, including URL, username, and password, are securely stored.
2. **User Interface**: Develop a simple command-line interface (CLI) using Python's argparse module. This CLI should accept commands like 'login', 'list_projects', 'create_project', 'delete_project', 'get_project_details', 'upload_file', and 'download_file'.
3. **Login Functionality**: Implement a login command that authenticates users against the ALM Gateway server. Store session information for subsequent commands.
4. **Project Management Commands**:
   - `list_projects`: Fetch and display all projects available on the ALM Gateway.
   - `create_project`: Allow users to create new projects with specified names and descriptions.
   - `delete_project`: Provide functionality to delete existing projects.
   - `get_project_details`: Retrieve and display detailed information about a specific project.
5. **File Management Commands**:
   - `upload_file`: Enable users to upload files to a specified project directory within the ALM Gateway.
   - `download_file`: Allow downloading of files from a specified project directory.
6. **Error Handling**: Implement robust error handling to manage exceptions such as invalid credentials, non-existent projects, or file not found errors.
7. **Documentation**: Write comprehensive documentation that includes installation instructions, usage examples, and explanations of each command.
8. **Security Considerations**: Ensure sensitive information, such as server URLs and credentials, are handled securely. Avoid hardcoding these values directly into the codebase.
9. **Testing**: Develop unit tests to validate the functionality of each command. Use Python's unittest framework for testing.
10. **Deployment**: Package your utility as a standalone executable using tools like PyInstaller, ensuring it can run on different machines without requiring additional installations of 'ansys-scade-pyalmgw'.

The 'ansys-scade-pyalmgw' package will be primarily used to connect to the ALM Gateway server, authenticate users, manage projects, and handle file operations. Your task is to design a user-friendly and efficient tool that simplifies interactions with the ALM Gateway.

πŸ’¬ Discussion Feed

Leave a comment

No discussion yet. Be the first to share your thoughts!