ai-code-switcher

v0.1.15 suspicious
6.0
Medium Risk

Switch AI coding tool profiles and launch the correct CLI

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package exhibits medium risk due to shell execution capabilities and low maintainer activity. These factors suggest potential security concerns, though clear evidence of malicious intent is lacking.

  • Shell risk at 7/10 due to potential for arbitrary command execution
  • Low maintainer activity and poor metadata quality
Per-check LLM notes
  • Network: No network calls were detected, which is normal if the package does not require internet access.
  • Shell: The presence of shell execution suggests potential risks as it can be used to execute arbitrary commands, which might indicate unintended behavior or security vulnerabilities.
  • Obfuscation: No obfuscation patterns detected, indicating low risk.
  • Credentials: No credential harvesting patterns detected, indicating low risk.
  • Metadata: The package shows low maintainer activity and poor metadata quality, raising suspicion but not definitive proof of malintent.

📦 Package Quality Overall: Low (3.6/10)

✦ High Test Suite 9.0

Test suite present — 14 test file(s) found

  • Test runner config found: pyproject.toml
  • 14 test file(s) detected (e.g. test_desktop_app_import.py)
○ Low Documentation 1.0

No documentation detected

  • No documentation URL, doc files, or meaningful description found
○ 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

  • 56 type-annotated function signatures detected in source
○ Low Multiple Contributors 1.0

Unable to verify contributor count: no GitHub repository found

  • No GitHub repository linked — contributor count unavailable

🔬 Heuristic Checks

Outbound Network Calls

No suspicious network call patterns found

Code Obfuscation

No obfuscation patterns detected

Shell / Subprocess Execution score 10.0

Found 6 shell execution pattern(s)

  • DE_PACKAGES) result = subprocess.run(cmd, shell=True) else: result = subprocess.run(
  • e) else: result = subprocess.run( ["npm", "install", "-g"] + UPGRADE_PACKAGES,
  • try: out = subprocess.check_output( ["mdfind", f"kMDItemCFBundleIdentifier == '
  • try: return subprocess.check_output( ["scutil", "--proxy"], text=True, stderr=su
  • if status.direct: subprocess.Popen([status.launch_target], env=env) else: s
  • nv) else: subprocess.Popen(["open", "-a", status.launch_target], env=env) def is_r
Credential Harvesting

No credential harvesting patterns detected

Typosquatting

No typosquatting candidates detected

Registered Email Domain

No author email provided

Suspicious Page Links

All external links appear legitimate

Git Repository History

No GitHub repository linked

  • No GitHub repository link found
Maintainer History score 6.0

3 maintainer concern(s) found

  • Author name is missing or very short
  • Author "" appears to have only 1 package on PyPI (new or inactive account)
  • Package has no PyPI classifiers (low effort / metadata quality)
Known CVE Vulnerabilities

No known vulnerabilities found in OSV database.

💡 AI App Starter Prompt

Use this prompt to build a project with ai-code-switcher
Create a command-line interface (CLI) tool named 'CodeSavior' using Python and the 'ai-code-switcher' package. This tool will allow developers to easily switch between different AI coding assistants (e.g., ChatGPT, Claude, etc.) and launch their respective CLIs with a single command. The primary goal of CodeSavior is to streamline the process of integrating various AI coding tools into a developer's workflow.

Steps to follow:
1. Install the required packages, including 'ai-code-switcher', using pip.
2. Define a main function that takes user input to select which AI coding assistant they want to use.
3. Use the 'ai-code-switcher' package to switch profiles and launch the appropriate CLI for the selected AI coding assistant.
4. Implement error handling to manage cases where the user inputs an invalid selection or if there's an issue with launching the CLI.
5. Add a feature to save the last used profile so that it can be automatically selected on subsequent runs.
6. Include a help menu that lists all available options and provides usage instructions.
7. Ensure that the tool is well-documented and includes a README file explaining how to install and run the application.

Suggested Features:
- Support for multiple AI coding assistants.
- Ability to customize the CLI arguments passed to each AI coding assistant.
- User-friendly prompts guiding the user through the selection process.
- Logging functionality to record usage and potential issues.
- Integration with configuration files for advanced users to tweak settings.

The 'ai-code-switcher' package is utilized primarily in Step 3, where it acts as the backbone of switching between different AI coding assistant profiles. It abstracts away the complexity of managing multiple CLIs, allowing for a seamless experience for the end-user.