aiomoto

v0.5.3 safe
3.0
Low Risk

Moto-style AWS service mocks for aiobotocore

🤖 AI Analysis

Final verdict: SAFE

The package is deemed safe as it does not exhibit any suspicious network, shell execution, or obfuscation behaviors. However, caution should be exercised with credential handling.

  • No network calls detected
  • No shell execution patterns
  • Credentials retrieved from environment variables with potential defaults
Per-check LLM notes
  • Network: No network calls detected, which is normal if the package does not require internet access.
  • Shell: No shell execution patterns detected, indicating the package does not execute external commands.
  • Obfuscation: No obfuscation patterns detected in the provided code snippets.
  • Credentials: The code retrieves AWS credentials from environment variables with fallback to default values, which is typical for applications needing AWS access but may pose a risk if default values are used in production.
  • Metadata: The author has only one package, which might indicate a new or less active account, but there are no other red flags.

📦 Package Quality Overall: Low (4.2/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

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

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

Active multi-contributor project

  • 3 unique contributor(s) across 90 commits in owenlamont/aiomoto
  • Small but multi-author team (3–4 contributors)

🔬 Heuristic Checks

Outbound Network Calls

No suspicious network call patterns found

Code Obfuscation

No obfuscation patterns detected

Shell / Subprocess Execution

No shell execution patterns detected

Credential Harvesting score 10.0

Found 5 credential access pattern(s)

  • -> str: return ( os.environ.get("AWS_REGION") or os.environ.get("AWS_DEFAULT_REGION")
  • .get("AWS_REGION") or os.environ.get("AWS_DEFAULT_REGION") or "us-east-1" ) def _default
  • str | None]: access_key = os.environ.get("AWS_ACCESS_KEY_ID", "test") secret_key = os.environ.get("AWS
  • ID", "test") secret_key = os.environ.get("AWS_SECRET_ACCESS_KEY", "test") token = os.environ.get("AWS_
  • ESS_KEY", "test") token = os.environ.get("AWS_SESSION_TOKEN") return access_key, secret_key, token d
Typosquatting

No typosquatting candidates detected

Registered Email Domain

Email domain looks legitimate: gmail.com>

Suspicious Page Links

All external links appear legitimate

Git Repository History

Repository owenlamont/aiomoto appears legitimate

Maintainer History score 2.0

1 maintainer concern(s) found

  • Author "Owen Lamont" 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 aiomoto
Create a mini-application that simulates an AWS S3 bucket management tool using the 'aiomoto' package. This tool will allow users to perform basic operations on simulated S3 buckets, such as creating buckets, listing all buckets, uploading files, downloading files, and deleting files or buckets. The application should also include error handling to manage issues like non-existent buckets or files.

### Key Features:
- **Bucket Management**: Users can create new S3 buckets and list all existing buckets.
- **File Operations**: Upload files to a specified bucket, download files from a bucket, and delete files from a bucket.
- **Delete Bucket**: Safely delete a bucket only if it is empty or force delete a bucket regardless of its contents.
- **Error Handling**: Gracefully handle errors such as attempting to access a non-existent bucket or file.
- **User Interface**: Develop a simple command-line interface (CLI) for interacting with the tool.

### How 'aiomoto' is Utilized:
- Use 'aiomoto' to mock AWS S3 services, allowing the application to simulate interactions with S3 without requiring actual AWS credentials or resources.
- Implement asynchronous methods to ensure the application runs efficiently, leveraging the capabilities of 'aiomoto'.
- Test the application thoroughly by running it against mocked S3 environments provided by 'aiomoto', ensuring that all functionalities work as expected under various scenarios.