aistatus

v0.0.7 suspicious
4.0
Medium Risk

Status-aware LLM routing with pre-flight checks and auto-fallback for more reliable agents and coding CLIs.

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package exhibits moderate network risk due to external data transmission, while other risks such as shell execution and credential harvesting are minimal. However, the missing maintainer information adds uncertainty.

  • Moderate network risk due to potential data exfiltration
  • Missing maintainer details increases suspicion
Per-check LLM notes
  • Network: The observed network call suggests the package may be sending usage data to an external server, which could indicate legitimate telemetry but also raises concerns about potential data exfiltration.
  • Shell: No shell execution patterns were detected.
  • Obfuscation: No obfuscation patterns detected, indicating low risk of malicious obfuscation.
  • Credentials: No credential harvesting patterns detected, indicating low risk of malicious credential theft.
  • Metadata: The maintainer's author name is missing and they appear to be new or inactive, raising some concerns but not definitive proof of malintent.

📦 Package Quality Overall: Medium (6.2/10)

✦ High Test Suite 9.0

Test suite present — 10 test file(s) found

  • 10 test file(s) detected (e.g. test_config.py)
◈ Medium Documentation 7.0

Some documentation present

  • Documentation URL: "Documentation" -> https://aistatus.cc/docs
  • Detailed PyPI description (13133 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

  • 227 type-annotated function signatures detected in source
✦ High Multiple Contributors 8.0

Active multi-contributor project

  • 3 unique contributor(s) across 48 commits in fangxm233/aistatus-python
  • Small but multi-author team (3–4 contributors)

🔬 Heuristic Checks

Outbound Network Calls score 9.0

Found 6 network call pattern(s)

  • one: try: urllib.request.urlopen( urllib.request.Request(
  • uest.urlopen( urllib.request.Request( f"{self._base_url}/api/usage/up
  • "aistatus.uploader.urllib.request.urlopen", lambda *_args, **_kwargs: (_ for _ in
  • ch.setattr("aistatus.uploader.urllib.request.urlopen", fake_urlopen) payload = {"records": [{"ema
  • e: self._client = httpx.Client(timeout=self._timeout) return self._client def
  • self._async_client = httpx.AsyncClient(timeout=self._timeout) if not self._shutdown_registe
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: aistatus.cc>

Suspicious Page Links

All external links appear legitimate

Git Repository History

Repository fangxm233/aistatus-python 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 aistatus
Develop a Python-based command-line tool named 'AIWorkbench' that leverages the 'aistatus' package to manage interactions with multiple large language models (LLMs). This tool should provide users with a seamless experience by automatically routing requests to the most suitable LLM based on real-time status awareness and pre-flight checks. Additionally, it should offer fallback mechanisms to ensure reliability when primary models are unavailable or underperforming. Here are the key steps and features to include in your project:

1. **Setup**: Begin by installing the necessary packages including 'aistatus'. Ensure you have at least two LLMs configured as part of your setup.
2. **Status Awareness**: Implement functionality within AIWorkbench to query the status of each LLM before sending any request. Use 'aistatus' to check if the model is available, responsive, and capable of handling the type of request being made.
3. **Request Routing**: Based on the status information obtained from step 2, route user requests to the best-suited LLM. If multiple models are suitable, consider implementing a simple load balancing algorithm.
4. **Pre-flight Checks**: Before sending a request to an LLM, perform pre-flight checks using 'aistatus' to ensure the request meets the model's requirements. This could include checking for input length limits, supported languages, etc.
5. **Fallback Mechanism**: In case the primary LLM fails to respond or does not meet the required criteria, AIWorkbench should automatically reroute the request to a secondary LLM. Utilize 'aistatus' to handle this process smoothly.
6. **User Interface**: Design a clean, intuitive CLI interface where users can interact with AIWorkbench. Include options for submitting text queries, specifying preferred LLMs, and viewing status updates.
7. **Logging & Reporting**: Implement logging capabilities to track all interactions with LLMs through AIWorkbench. Users should be able to review these logs for troubleshooting or analysis purposes.
8. **Configuration Management**: Allow users to configure their preferred settings and LLM preferences easily through a configuration file or command-line options. 'aistatus' should facilitate easy management of these configurations.

By following these guidelines, you will create a robust, user-friendly tool that maximizes the potential of LLMs while minimizing downtime and errors.