aiohttp-asyncmdnsresolver

v0.2.0 safe
4.0
Medium Risk

An async resolver for aiohttp that supports MDNS

🤖 AI Analysis

Final verdict: SAFE

The package shows minimal risk indicators with no detected network or shell vulnerabilities. However, the metadata risk due to sparse author information and non-secure links slightly elevates the overall score.

  • Sparse author information
  • Presence of non-secure links
Per-check LLM notes
  • Network: No network calls detected, which is normal if the package does not require internet access.
  • Shell: No shell execution detected, which is expected as executing system commands is typically unnecessary for a DNS resolver.
  • Metadata: The author information is sparse and the presence of non-secure links raises some concern, but there's no strong evidence of malicious intent.

📦 Package Quality Overall: Medium (7.4/10)

✦ High Test Suite 9.0

Test suite present — 3 test file(s) found

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

Some documentation present

  • 1 documentation file(s) (e.g. conf.py)
  • Detailed PyPI description (3951 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
  • 52 type-annotated function signatures detected in source
✦ High Multiple Contributors 10.0

Active multi-contributor project

  • 6 unique contributor(s) across 91 commits in aio-libs/aiohttp-asyncmdnsresolver
  • Active community — 5 or more distinct 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

No credential harvesting patterns detected

Typosquatting

No typosquatting candidates detected

Registered Email Domain

No author email provided

Suspicious Page Links score 6.0

Found 3 suspicious link(s) on the package page

  • Non-HTTPS external link: http://example.com
  • Non-HTTPS external link: http://xxx.local.
  • Non-HTTPS external link: http://printer.local.
Git Repository History

Repository aio-libs/aiohttp-asyncmdnsresolver 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 aiohttp-asyncmdnsresolver
Create a Python-based network discovery tool using the 'aiohttp-asyncmdnsresolver' package. This tool will enable users to discover services and devices on their local network via MDNS (Multicast DNS). Here’s a detailed breakdown of the project requirements and steps to build it:

1. **Project Overview**: Your goal is to develop a command-line tool that can scan a local network for services and devices using MDNS. The tool should be able to identify common service types like printers, file servers, and web servers.
2. **Setup Environment**: Begin by setting up your Python environment. Install necessary packages such as 'aiohttp', 'aiohttp-asyncmdnsresolver', and 'click' for command-line interface handling.
3. **Design the Core Functionality**: Use 'aiohttp-asyncmdnsresolver' to asynchronously resolve MDNS queries. This involves configuring the resolver to listen for specific service types (e.g., '_http._tcp') and gathering responses from the network.
4. **Implement Discovery Logic**: Write functions to initiate the discovery process. These functions should query the local network for specified service types and gather all responding devices/services into a list.
5. **Output Results**: Once the discovery process is complete, display the discovered devices/services in a user-friendly format. Include details such as hostnames, IP addresses, and service types.
6. **Add Command-Line Interface**: Utilize 'click' to create a simple yet powerful CLI. Users should be able to specify service types to search for and choose between different output formats (e.g., JSON, plain text).
7. **Enhanced Features**:
   - **Service Filtering**: Allow users to filter results based on keywords or specific criteria.
   - **Configuration Options**: Provide options for customizing the discovery process, such as setting timeouts or increasing the verbosity of the output.
8. **Testing and Documentation**: Ensure thorough testing of your application across various network conditions. Document the setup, usage, and customization options clearly for other developers and end-users.