al2dbml

v0.9.0 suspicious
4.0
Medium Risk

Convert compiled Microsoft Dynamics 365 Business Central AL packages (.app) into DBML schemas.

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package presents a low risk for direct credential theft or code obfuscation, but the metadata suggests potential concerns due to the maintainer's profile.

  • Low obfuscation risk
  • Low credential risk
  • Suspicious maintainer metadata
Per-check LLM notes
  • Obfuscation: No obfuscation patterns detected, indicating low risk.
  • Credentials: No credential harvesting patterns detected, indicating low risk.
  • Metadata: The maintainer has a new or inactive account with incomplete information, raising some suspicion but not conclusive evidence of malice.

📦 Package Quality Overall: Medium (5.2/10)

✦ High Test Suite 9.0

Test suite present — 9 test file(s) found

  • Test runner config found: pyproject.toml
  • 9 test file(s) detected (e.g. test_aldoc.py)
◈ Medium Documentation 5.0

Some documentation present

  • Detailed PyPI description (8362 chars)
○ Low Contributing Guide 2.0

No contributing guide or governance files found

  • No CONTRIBUTING, CODE_OF_CONDUCT, or governance files found
◈ Medium Type Annotations 5.0

Partial type annotation coverage

  • 100 type-annotated function signatures detected in source
◈ Medium Multiple Contributors 5.0

Limited contributor diversity

  • 1 unique contributor(s) across 87 commits in mykola-kharchenko/al2dbml
  • Single author but highly active (87 commits)

🔬 Heuristic Checks

Outbound Network Calls

No suspicious network call patterns found

Code Obfuscation

No obfuscation patterns detected

Shell / Subprocess Execution

No shell execution patterns detected

Credential Harvesting

No credential harvesting patterns detected

Typosquatting

No typosquatting candidates detected

Registered Email Domain

Email domain looks legitimate: outlook.com>

Suspicious Page Links

All external links appear legitimate

Git Repository History

Repository mykola-kharchenko/al2dbml 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 al2dbml
Create a utility application named 'ALtoDBMLConverter' using Python that leverages the 'al2dbml' package to convert compiled Microsoft Dynamics 365 Business Central AL packages (.app files) into DBML schema definitions. This tool will serve as a bridge between AL code and database modeling tools, allowing developers and database administrators to visualize and document the database structure defined within the AL packages.

The application should include the following functionalities:
1. User Interface: Design a simple, intuitive command-line interface (CLI) that allows users to specify the path to the .app file they wish to convert.
2. File Handling: Implement robust error handling for file operations such as opening, reading, and writing files. Ensure that the application gracefully handles cases where the specified file does not exist or is inaccessible.
3. Conversion Logic: Utilize the 'al2dbml' package to parse the .app file and generate a corresponding DBML schema. The generated DBML should accurately reflect the tables, fields, relationships, and other database entities defined in the AL package.
4. Output Options: Provide options for the user to choose the format of the output (text file, JSON, etc.) and the directory where the output should be saved.
5. Logging: Include logging capabilities to record the process details, any errors encountered during conversion, and the status of the operation. Logs should be stored in a separate file for each run.
6. Documentation: Create comprehensive documentation for the application, including installation instructions, usage examples, and troubleshooting tips. The documentation should also detail the limitations and assumptions made during the conversion process.
7. Testing: Develop a set of test cases using sample .app files to ensure the application works as expected across different scenarios. Test cases should cover various aspects such as handling large files, converting files with complex structures, and managing edge cases like missing or incorrectly formatted data.
8. Optimization: Optimize the application for performance, ensuring it can handle large .app files efficiently without consuming excessive memory or taking too long to process.
9. Security: While this is a utility application, consider implementing basic security measures to protect against potential misuse, such as input validation and sanitization.

By completing this project, you will gain valuable experience in working with specialized Python packages, handling binary files, and building practical applications that solve real-world problems.

💬 Discussion Feed

Leave a comment

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