azdev

v0.2.10 suspicious
4.0
Medium Risk

Microsoft Azure CLI Developer Tools

πŸ€– AI Analysis

Final verdict: SUSPICIOUS

The package shows some potential security concerns, particularly with shell execution and network calls, though there are no clear signs of malicious intent.

  • Shell execution via os.system and subprocess calls poses significant security risks.
  • Network calls fetch configuration data from external URLs, which should be reviewed for legitimacy.
Per-check LLM notes
  • Network: Network calls appear to be fetching configuration data from external URLs, which could be normal for CI/CD setups but should be reviewed for the legitimacy of the URLs and data being accessed.
  • Shell: Shell execution via os.system and subprocess calls can pose risks if not properly sanitized or controlled, potentially allowing for arbitrary command execution, which is a significant security concern.
  • Obfuscation: No obfuscation patterns detected, indicating low risk of malicious obfuscation.
  • Credentials: No credential harvesting patterns detected, suggesting no immediate risk of secret theft.
  • Metadata: The package shows some minor red flags but no clear indicators of malicious intent. The presence of non-HTTPS links and the author having only one package are noteworthy.

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

β—ˆ Medium Test Suite 6.0

Partial test coverage signals detected

  • 1 test file(s) detected (e.g. test_service_scenario.py)
β—ˆ Medium Documentation 5.0

Some documentation present

  • Detailed PyPI description (21229 chars)
β—‹ Low Contributing Guide 4.0

No contributing guide or governance files found

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

Partial type annotation coverage

  • Type checker (mypy / pyright / pytype) referenced in project
  • 4 type-annotated function signatures (partial)
✦ High Multiple Contributors 10.0

Active multi-contributor project

  • 15 unique contributor(s) across 100 commits in Azure/azure-cli-dev-tools
  • Active community β€” 5 or more distinct contributors

πŸ”¬ Heuristic Checks

⚠ Outbound Network Calls score 9.0

Found 6 network call pattern(s)

  • ci/cmdcov.yml" response = requests.get(url) config = yaml.safe_load(response.text) EXCLUDE_MODU
  • ci/cmdcov.yml" response = requests.get(url) config = yaml.safe_load(response.text) ENCODING = c
  • ] import requests r = requests.get(url, stream=True, timeout=10) try: assert r.stat
  • try: response = requests.get(CLI_EXTENSION_INDEX_URL) extension_data = respon
  • ] import requests r = requests.get(url, stream=True) assert r.status_code == 200, "Request
  • try: response = requests.get(url, timeout=5) if response.status_code != 200:
βœ“ Code Obfuscation

No obfuscation patterns detected

⚠ Shell / Subprocess Execution score 10.0

Found 6 shell execution pattern(s)

  • ntainer, account_key) os.system(cmd) # Upload files for root, dirs, files i
  • %s', cmd) os.system(cmd) logger.warning('Exit upload_files()') @st
  • d exit_code = subprocess.call( ['powershell.exe', '-NoProfile', '-Comm
  • remotes remotes = subprocess.check_output(['git', 'remote', '-v'], text=True) # If upstre
  • zure-cli.git' subprocess.check_call(['git', 'remote', 'add', 'upstream', upstream_url])
  • am/dev branch subprocess.check_call(['git', 'fetch', 'upstream', 'dev']) display
βœ“ Credential Harvesting

No credential harvesting patterns detected

βœ“ Typosquatting

No typosquatting candidates detected

βœ“ Registered Email Domain

Email domain looks legitimate: microsoft.com

⚠ Suspicious Page Links score 4.0

Found 2 suspicious link(s) on the package page

  • Non-HTTPS external link: http://python.org.
  • Non-HTTPS external link: http://azure.github.io/guidelines.html
βœ“ Git Repository History

Repository Azure/azure-cli-dev-tools appears legitimate

⚠ Maintainer History score 2.0

1 maintainer concern(s) found

  • Author "Microsoft Corporation" 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 azdev
Create a Python-based utility named 'AzureDevHelper' that leverages the 'azdev' package to streamline the development process for Azure CLI extensions. This utility will serve as a command-line tool that developers can use to manage their Azure CLI extension projects more efficiently. Here’s a detailed breakdown of the steps and features you need to implement:

1. **Project Initialization**: The utility should allow users to initialize new Azure CLI extension projects by specifying a project name, author, and description. It should automatically create necessary directories and files according to the Azure CLI extension structure.

2. **Extension Management**: Provide commands to add, remove, and update dependencies within the extension's setup.py file. Users should be able to specify the package names and versions.

3. **Testing Framework Setup**: Integrate the ability to set up a testing framework (such as pytest) for the extension. This includes installing required packages and generating test files based on the extension modules.

4. **Build and Publish**: Implement functionalities to build the extension and publish it to the Azure CLI Extensions Repository. Ensure that the utility handles authentication and versioning appropriately.

5. **Documentation Generation**: Automatically generate documentation for the extension using tools like MkDocs or Sphinx. Users should be able to customize the documentation theme and content.

6. **Logging and Error Handling**: Incorporate robust logging mechanisms and error handling to provide clear feedback during the execution of various tasks.

The 'azdev' package is crucial for this utility as it provides the necessary functions to interact with Azure CLI extension repositories, manage dependencies, and perform other development-related tasks. Your task is to design and implement these features using the 'azdev' package, ensuring that the utility is user-friendly, efficient, and well-documented.

πŸ’¬ Discussion Feed

Leave a comment

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