arvel-image

v0.8.0 suspicious
7.0
High Risk

Fluent, type-safe image manipulation and polymorphic media library for Arvel.

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package exhibits multiple high-risk behaviors including shell command execution and credential handling, which significantly elevate its risk profile despite some lower-risk attributes.

  • High shell risk due to subprocess execution
  • High credential risk from accessing sensitive files
Per-check LLM notes
  • Network: The use of an asynchronous HTTP client suggests the package may be performing network requests, which could be legitimate but also raises concerns about potential data exfiltration.
  • Shell: The presence of subprocess execution capabilities indicates a high risk as it can be used to execute arbitrary commands on the host system, potentially leading to unauthorized access or behavior.
  • Obfuscation: Base64 decoding of SVG data is common but may hide malicious content.
  • Credentials: Code attempting to access '/etc/passwd' and sanitize file names suggests potential for local file inclusion attacks.
  • Metadata: The author has only one package, suggesting a potentially new or less active maintainer, but no other red flags were raised.

📦 Package Quality Overall: Medium (6.6/10)

✦ High Test Suite 9.0

Test suite present — 21 test file(s) found

  • Test runner config found: conftest.py
  • 21 test file(s) detected (e.g. conftest.py)
◈ Medium Documentation 7.0

Some documentation present

  • Documentation URL: "Documentation" -> https://arvel.dev/packages/image/
  • Detailed PyPI description (14924 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
  • 420 type-annotated function signatures detected in source
◈ Medium Multiple Contributors 6.0

Limited contributor diversity

  • 2 unique contributor(s) across 100 commits in mohamed-rekiba/arvel
  • Two distinct contributors found

🔬 Heuristic Checks

Outbound Network Calls score 1.5

Found 1 network call pattern(s)

  • None async with ( httpx.AsyncClient(follow_redirects=False, timeout=30) as client, clien
Code Obfuscation score 2.0

Found 1 obfuscation pattern(s)

  • import base64 payload = base64.b64decode(svg[len("data:image/svg+xml;base64,") :]) decoded = payl
Shell / Subprocess Execution score 2.0

Found 1 shell execution pattern(s)

  • process", "from subprocess", "os.system(") for py in src.rglob("*.py"): text = py.read_t
Credential Harvesting score 7.5

Found 3 credential access pattern(s)

  • await host.add_image("file:///etc/passwd") async def test_add_image_rejects_ftp_scheme() -> None:
  • await fetch_url("file:///etc/passwd", max_bytes=1024) async def test_content_sniff_drives_mim
  • r.sanitize_file_name("../../../etc/passwd") assert "/" not in sanitized assert ".." not in sa
Typosquatting

No typosquatting candidates detected

Registered Email Domain

No author email provided

Suspicious Page Links

All external links appear legitimate

Git Repository History

Repository mohamed-rekiba/arvel appears legitimate

Maintainer History score 2.0

1 maintainer concern(s) found

  • Author "Arvel 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 arvel-image
Create a mini-app called 'ImageMorpher' that allows users to upload an image and apply various transformations to it using the 'arvel-image' package. The app should provide a simple web interface where users can upload an image file, select from a variety of transformation options, and download the modified image. Core functionalities include basic image manipulations like resizing, cropping, rotating, and applying filters. Additionally, the app should support more advanced features such as adjusting brightness, contrast, saturation, and applying artistic effects like grayscale, sepia, and vintage styles. Users should also have the option to combine multiple transformations into a single operation. Utilize 'arvel-image' to ensure all operations are performed in a fluent and type-safe manner, allowing for easy chaining of operations and error handling. The application should be built using Flask for the backend, providing RESTful API endpoints for uploading images and receiving transformed images. Include a React frontend to create an intuitive user interface for interacting with these services.

💬 Discussion Feed

Leave a comment

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