aiograpi

v1.2.0 safe
4.0
Medium Risk

Asynchronous Instagram Private API wrapper

🤖 AI Analysis

Final verdict: SAFE

The package shows moderate signs of obfuscation and incomplete metadata, but these do not conclusively indicate malicious intent. There is no evidence of shell execution or credential theft.

  • moderate obfuscation
  • incomplete author metadata
Per-check LLM notes
  • Network: Network calls are typical for an API interaction library like 'aiograpi', indicating it likely communicates with external services.
  • Shell: No shell execution patterns detected, suggesting no direct command execution risks.
  • Obfuscation: The use of base64 decoding indicates potential obfuscation but could also be part of normal data handling, especially in scenarios involving encryption or data transmission.
  • Credentials: No clear patterns indicating credential harvesting were found.
  • Metadata: The author information is incomplete and the maintainer seems new or inactive, raising some suspicion but not conclusive evidence of malice.

📦 Package Quality Overall: Low (4.4/10)

○ Low Test Suite 1.0

No test suite detected

  • No test files or test-runner configuration detected
◈ Medium Documentation 7.0

Some documentation present

  • Documentation URL: "Documentation" -> https://subzeroid.github.io/aiograpi/
  • Detailed PyPI description (22048 chars)
○ Low Contributing Guide 4.0

No contributing guide or governance files found

  • Development Status classifier >= Beta
◈ Medium Type Annotations 5.0

Partial type annotation coverage

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

Limited contributor diversity

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

🔬 Heuristic Checks

Outbound Network Calls score 7.5

Found 5 network call pattern(s)

  • f self.proxy else socket.create_connection((self.host, self.port), timeout=self.timeout) )
  • quests self._client = requests.Session() self._client.verify = verify adapter = Cur
  • EFAULT_TIMEOUT async with httpx.AsyncClient( proxy=proxy, verify=_httpx_verify_value(ver
  • self): self._client = httpx.AsyncClient( proxy=self._proxy, verify=_httpx_ve
  • HTTP URL: {url!r}") res = httpx.get(url, timeout=5, follow_redirects=False) if res.is_redire
Code Obfuscation score 10.0

Found 5 obfuscation pattern(s)

  • return json.loads(base64.b64decode(b64part)) except Exception as e: self.lo
  • page_id, nm_ids] = json.loads(base64.b64decode(max_id)) except Exception: raise
  • ) decoded_publickey = base64.b64decode(publickey.encode()) recipient_key = RSA.import_key(d
  • # decoded_publickey = base64.b64decode(publickey.encode()) # recipient_key = RSA.import_key
  • try: data = base64.b64decode(code).decode(errors="ignore").replace("\x1d", "").split(":")
Shell / Subprocess Execution

No shell execution patterns detected

Credential Harvesting

No credential harvesting patterns detected

Typosquatting

No typosquatting candidates detected

Registered Email Domain

Email domain looks legitimate: users.noreply.github.com>

Suspicious Page Links

All external links appear legitimate

Git Repository History

Repository subzeroid/aiograpi 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 aiograpi
Create an asynchronous Instagram media downloader app using the 'aiograpi' Python package. This app will allow users to log into their Instagram accounts and download their own media posts, including photos and videos, directly to their local machine. The app should be built as a command-line interface (CLI) tool but could also include a simple GUI for added user-friendliness. Here are the steps and features your project should include:

1. **Setup**: Install necessary packages including 'aiograpi', 'aiohttp', and any other dependencies.
2. **Authentication**: Implement a login feature where users can authenticate using their Instagram credentials. Ensure secure handling of passwords and tokens.
3. **Media Retrieval**: Use 'aiograpi' to fetch media posts from the authenticated user's profile. This includes both images and videos.
4. **Download Functionality**: Allow users to specify which media they want to download and provide an option to download all media at once.
5. **Progress Tracking**: Show progress updates during the download process, such as percentage completed and estimated time remaining.
6. **Error Handling**: Implement robust error handling to manage issues like network failures, rate limiting, and invalid credentials.
7. **User Interface**: For the CLI version, ensure clear and concise prompts and outputs. For the GUI version, use a lightweight library like 'tkinter' to create a simple window layout for input fields and buttons.
8. **Optional Features**: Consider adding features like batch downloading, saving media to specific folders, and logging session activities.

By following these guidelines, you'll develop a useful tool that leverages the power of 'aiograpi' to interact with the Instagram API asynchronously, making the media downloading process efficient and user-friendly.