agex

v0.12.4 suspicious
4.0
Medium Risk

Library-friendly agents that work directly with your existing Python codebase.

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package shows signs of obfuscation and comes from a maintainer with only one other package, which raises some suspicion. However, there are no direct indications of malicious activity.

  • Moderate obfuscation risk
  • Single-package maintainer
Per-check LLM notes
  • Network: No network calls detected, which is normal unless the package requires internet access for its functionality.
  • Shell: No shell execution patterns detected, indicating no direct system command execution from the package.
  • Obfuscation: The use of base64 decoding and indirect sys import suggests an attempt to obscure code logic, which could be suspicious but not necessarily malicious.
  • Credentials: No clear patterns indicative of credential harvesting were found.
  • Metadata: The maintainer has only one package, which may indicate a new or less active account, raising some suspicion but not conclusive evidence of malintent.

📦 Package Quality Overall: Medium (5.8/10)

◈ Medium Test Suite 6.0

Partial test coverage signals detected

  • Test runner config found: pyproject.toml
◈ Medium Documentation 7.0

Some documentation present

  • Documentation URL: "Documentation" -> https://ashenfad.github.io/agex/
  • Detailed PyPI description (4376 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

  • Classifier: Typing :: Typed
  • 289 type-annotated function signatures detected in source
◈ Medium Multiple Contributors 5.0

Limited contributor diversity

  • 1 unique contributor(s) across 100 commits in ashenfad/agex
  • Single author but highly active (100 commits)

🔬 Heuristic Checks

Outbound Network Calls

No suspicious network call patterns found

Code Obfuscation score 6.0

Found 3 obfuscation pattern(s)

  • img = Image.open(io.BytesIO(base64.b64decode(b64))) output_parts.append(ImageAction(image
  • python_version=f"{__import__('sys').version_info.major}.{__import__('sys').version_info.minor}"
  • _('sys').version_info.major}.{__import__('sys').version_info.minor}", agex_version=metadata
Shell / Subprocess Execution

No shell execution patterns detected

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

Repository ashenfad/agex appears legitimate

Maintainer History score 2.0

1 maintainer concern(s) found

  • Author "ashenfad" 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 agex
Develop a Python-based mini-app that integrates the 'agex' library to create a conversational agent capable of processing user inputs and generating context-aware responses. This app will serve as a personalized assistant that can handle tasks such as scheduling reminders, providing weather updates, and answering general trivia questions. The application should have a command-line interface for interaction.

Steps to develop the mini-app:
1. Set up a Python virtual environment and install the 'agex' package along with any other necessary dependencies like 'requests' for fetching external data.
2. Design a basic conversational flow where the user can interact with the assistant using natural language commands.
3. Implement functions within the 'agex' agents to parse user inputs and determine the appropriate action (e.g., fetching weather data, setting a reminder).
4. Integrate APIs from services like OpenWeatherMap for weather information and WolframAlpha for trivia queries.
5. Ensure the application maintains state across conversations, allowing the assistant to remember previous interactions and provide more accurate responses.
6. Add error handling to gracefully manage unexpected inputs or API failures.
7. Test the application thoroughly to ensure it works as expected under various scenarios.
8. Document the code and provide usage instructions.

Features to include:
- A main menu that lists available commands.
- Contextual understanding of user inputs to provide relevant responses.
- Ability to set reminders with specific dates and times.
- Fetching and displaying current weather conditions for a specified location.
- Answering general knowledge questions using an external knowledge base.
- User-friendly error messages when an input cannot be processed.