baased-cli

v0.4.1 suspicious
7.0
High Risk

App-author CLI for baased — package, push, and (in dev) mint publisher api_keys.

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package exhibits elevated risks due to network and shell execution vulnerabilities, suggesting potential unauthorized API access and command injection threats.

  • High network risk due to Bearer token usage and multiple API calls
  • Elevated shell risk from executing arbitrary commands without proper sanitization
Per-check LLM notes
  • Network: The use of Bearer tokens and multiple network calls to different endpoints might indicate unauthorized API access or data exfiltration.
  • Shell: Executing arbitrary commands via subprocess.run can be a security risk if not properly sanitized, potentially allowing for command injection attacks.
  • Obfuscation: The use of base64 decoding with validation is not inherently suspicious and could be part of normal functionality in many applications.
  • Credentials: No patterns indicative of credential harvesting were detected.
  • Metadata: The package has flags indicating potential risk due to missing maintainer information and an untraceable git repository.

📦 Package Quality Overall: Low (2.8/10)

○ Low Test Suite 1.0

No test suite detected

  • No test files or test-runner configuration detected
◈ Medium Documentation 5.0

Some documentation present

  • Brief PyPI description (711 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

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

Could not retrieve contributor data from GitHub

  • GitHub API error: 404

🔬 Heuristic Checks

Outbound Network Calls score 9.0

Found 6 network call pattern(s)

  • "Bearer {api_key}"} with httpx.Client(timeout=httpx.Timeout(30.0)) as client: resp = clien
  • red.team_slug}/apps" with httpx.Client(timeout=httpx.Timeout(15.0), cookies=_cookies_for(cred)) as
  • {args.slug}/install" with httpx.Client(timeout=httpx.Timeout(30.0), cookies=_cookies_for(cred)) as
  • g}/apps/{args.slug}" with httpx.Client(timeout=httpx.Timeout(30.0), cookies=_cookies_for(cred)) as
  • {args.slug}/upgrade" with httpx.Client(timeout=httpx.Timeout(30.0), cookies=_cookies_for(cred)) as
  • ernal/api-keys/mint" with httpx.Client(timeout=httpx.Timeout(15.0)) as client: resp = clien
Code Obfuscation score 2.0

Found 1 obfuscation pattern(s)

  • ) try: material = base64.b64decode(raw, validate=True) except Exception as e: raise
Shell / Subprocess Execution score 2.0

Found 1 shell execution pattern(s)

  • return 127 proc = subprocess.run(list(argv), cwd=str(cwd), check=False) return int(proc.r
Credential Harvesting

No credential harvesting patterns detected

Typosquatting

No typosquatting candidates detected

Registered Email Domain

Email domain looks legitimate: teicor.com>

Suspicious Page Links

All external links appear legitimate

Git Repository History score 3.0

Repository not found (deleted or private)

  • Repository not found (deleted or private)
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 baased-cli
Create a fully-functional mini-application called 'BaasedPublisher' using the Python package 'baased-cli'. This application should streamline the process of publishing content to a platform managed by the 'baased' service, which includes packaging, pushing, and managing API keys. Here's a detailed breakdown of what the application should achieve:

1. **User Authentication**: Upon launching the application, users should be prompted to log in using their credentials provided by the 'baased' service. If they haven't registered yet, the app should guide them through the registration process.
2. **Content Creation and Packaging**: Users should be able to create new content pieces (e.g., blog posts, articles) within the app. After creating the content, the app should automatically package it according to the specifications required by the 'baased' service.
3. **API Key Management**: Integrate the 'baased-cli' package to handle API key operations. Users should be able to view their current API keys, request new ones, and delete unused ones directly from the app. Additionally, the app should ensure that the correct API key is selected based on the user's preferences and the type of content being published.
4. **Pushing Content**: Once the content is packaged and the correct API key is selected, the app should use the 'baased-cli' package to push the content to the 'baased' platform. It should also provide feedback on whether the push was successful or if there were any errors.
5. **Error Handling and Feedback**: Implement robust error handling mechanisms to catch and report any issues that arise during the login, packaging, or pushing processes. Provide clear and concise feedback messages to guide users through troubleshooting steps if necessary.
6. **User Interface**: Design a simple and intuitive command-line interface (CLI) for the application, making it easy for users to navigate through the different functionalities without needing extensive technical knowledge.
7. **Documentation**: Include comprehensive documentation within the app's help menu and README file, explaining how to install the app, use its features, and troubleshoot common issues.

By utilizing the 'baased-cli' package, your task will be simplified as it handles the core functionalities related to API key management and content pushing. Your main focus will be on integrating these functionalities into a cohesive, user-friendly application.

💬 Discussion Feed

Leave a comment

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