anvil-eval

v0.4.0 suspicious
5.0
Medium Risk

A research-first, evaluation-first inference library.

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package shows moderate risk due to potential code obfuscation aimed at hiding malicious activities, despite having low risks in other categories.

  • Code obfuscation techniques detected
  • Single package from the author
Per-check LLM notes
  • Network: No network calls detected, which is normal if the package does not require external communications.
  • Shell: No shell execution patterns detected, indicating no immediate signs of executing system commands.
  • Obfuscation: The code shows signs of obfuscation through partial function calls and variable assignments which may hinder readability and could be used to hide malicious intent.
  • Credentials: No clear patterns indicative of credential harvesting were found.
  • Metadata: The author has only one package, suggesting a potentially new or less active maintainer.

📦 Package Quality Overall: Low (4.6/10)

◈ Medium Test Suite 6.0

Partial test coverage signals detected

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

Some documentation present

  • Detailed PyPI description (11078 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

  • 160 type-annotated function signatures detected in source
◈ Medium Multiple Contributors 5.0

Limited contributor diversity

  • 1 unique contributor(s) across 33 commits in bishoymoussa/anvil
  • Single author but highly active (33 commits)

🔬 Heuristic Checks

✓ Outbound Network Calls

No suspicious network call patterns found

⚠ Code Obfuscation score 8.0

Found 4 obfuscation pattern(s)

  • try: result = anvil.eval( model=model, tasks=task_list,
  • from exc self._model.eval() self._device = next(self._model.parameters()).devi
  • eos_token self.model.eval() # type: ignore[no-untyped-call] self._device = ne
  • .10). Reconstruct an ``anvil.eval(...)`` invocation from a saved manifest and re-execute it. I
✓ 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 bishoymoussa/anvil appears legitimate

⚠ Maintainer History score 2.0

1 maintainer concern(s) found

  • Author "Anvil contributors" 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 anvil-eval
Create a web-based mini-application using Python and the 'anvil-eval' package that serves as an interactive platform for evaluating different machine learning models. This application should allow users to upload their datasets, select from a variety of pre-configured ML models, and then run evaluations on these models using the 'anvil-eval' library. The application should also provide visualizations of the evaluation results, including metrics like accuracy, precision, recall, F1 score, etc.

### Steps to Build the Application:
1. **Setup the Environment**: Install necessary packages including Flask for the backend, Pandas for data manipulation, and 'anvil-eval' for model evaluation.
2. **Design the User Interface**: Use HTML/CSS/JavaScript to design a simple yet user-friendly interface where users can upload datasets, select models, and view results.
3. **Backend Development**: Implement the backend logic using Flask. Ensure it handles file uploads, model selection, and invoking 'anvil-eval' functions to evaluate the models.
4. **Model Evaluation**: Utilize 'anvil-eval' to perform evaluations on the selected models with the provided dataset. Capture the output metrics and prepare them for display.
5. **Results Visualization**: Display the evaluation results in an easily understandable format, such as charts or tables.
6. **Testing & Deployment**: Test the application thoroughly and deploy it on a platform like Heroku or AWS.

### Features:
- **Dataset Upload**: Allow users to upload CSV files containing their datasets.
- **Model Selection**: Provide a dropdown menu allowing users to choose from a set of predefined ML models (e.g., Logistic Regression, Decision Trees, Random Forests).
- **Real-time Progress**: Show real-time progress bars while the application is processing the dataset and performing evaluations.
- **Detailed Results**: Present detailed results including confusion matrices, ROC curves, and other relevant metrics.
- **User Authentication**: Implement basic user authentication to allow users to save and track their evaluations over time.

💬 Discussion Feed

Leave a comment

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