ainternet

v0.9.2 suspicious
6.0
Medium Risk

AInternet - Internet for AI. DNS (.aint domains), Email (I-Poll messaging), P2P communication between AI agents. The open protocol for AI-to-AI communication.

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package exhibits several concerning behaviors including high network and obfuscation risks, suggesting potential malicious intent. However, the lack of definitive evidence of credential harvesting or clear signs of a supply-chain attack prevents a more severe classification.

  • High network risk due to multiple external API calls
  • Significant obfuscation through base64 encoding
Per-check LLM notes
  • Network: The package makes multiple network calls to an external API, which could be used for legitimate purposes but also raises concerns about potential data exfiltration or command and control activities.
  • Shell: Subprocess calls to shell commands may be part of the package's functionality, but without clear documentation, there is a risk that these calls could be used for unauthorized actions or to execute arbitrary code.
  • Obfuscation: The use of base64 decoding for cryptographic operations suggests obfuscation rather than clear coding practices, raising suspicion.
  • Credentials: No direct patterns of credential harvesting are observed, but the presence of encoded signatures and public keys might indicate potential misuse.
  • Metadata: The maintainer's author information is incomplete and the repository lacks community engagement, raising suspicion but not conclusive evidence of malice.

📦 Package Quality Overall: Medium (6.0/10)

◈ Medium Test Suite 6.0

Partial test coverage signals detected

  • 1 test file(s) detected (e.g. test_identity.py)
◈ Medium Documentation 7.0

Some documentation present

  • Documentation URL: "Documentation" -> https://github.com/jaspertvdm/ainternet#readme
  • Detailed PyPI description (11347 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

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

Active multi-contributor project

  • 4 unique contributor(s) across 21 commits in jaspertvdm/ainternet
  • Small but multi-author team (3–4 contributors)

🔬 Heuristic Checks

Outbound Network Calls score 9.0

Found 6 network call pattern(s)

  • try: response = requests.get( f"{self.base_url}/api/ains/resolve/{agent_i
  • try: response = requests.get( f"{self.base_url}/api/ains/list",
  • } response = requests.post( f"{self.base_url}/api/ipoll/push",
  • essages") response = requests.get( f"{self.base_url}/api/ipoll/pull/{self.agent_id
  • ond") response_req = requests.post( f"{self.base_url}/api/ipoll/respond",
  • status.""" response = requests.get( f"{self.base_url}/api/ipoll/status",
Code Obfuscation score 10.0

Found 6 obfuscation pattern(s)

  • try: signature = base64.b64decode(signature_b64) return self.verify(data, signatur
  • try: pub_bytes = base64.b64decode(public_key_b64) pub_key = Ed25519PublicKey.from_
  • ytes) signature = base64.b64decode(response_b64) pub_key.verify(signature, challeng
  • _str[8:] pub_bytes = base64.b64decode(pub_key_str) pub_key = Ed25519PublicKey.from_public_
  • text()) priv_bytes = base64.b64decode(data["private_key"]) private_key = Ed25519PrivateKey
  • import base64 decoded = base64.b64decode(ident.public_key_b64) assert len(decoded) == 32 def te
Shell / Subprocess Execution score 4.0

Found 2 shell execution pattern(s)

  • -o <output> result = subprocess.run( [TBZ_BIN, "pack", str(tmpdir_path), "-o", str(o
  • e> --to <target> result = subprocess.run( [TCD_BIN, "send", str(envelope_path), "--to", targe
Credential Harvesting

No credential harvesting patterns detected

Typosquatting

No typosquatting candidates detected

Registered Email Domain

Email domain looks legitimate: humotica.com>

Suspicious Page Links

All external links appear legitimate

Git Repository History score 2.5

Git history flags: Repository has zero stars and zero forks

  • Repository has zero stars and zero forks
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 ainternet
Create a fully-functional mini-app called 'AI Connect' that facilitates peer-to-peer communication between AI agents using the 'ainternet' package. This app will serve as a basic communication tool where AI agents can exchange messages, share files, and even conduct simple polls among themselves. Here's a detailed plan of how to implement this mini-app:

1. **Setup**: Begin by installing the 'ainternet' package in your Python environment. Ensure you have the latest version available.

2. **Core Features**:
   - **DNS Resolution**: Implement a feature that allows AI agents to register and resolve '.aint' domain names. This will help in identifying and connecting to other agents.
   - **Email Communication**: Use the I-Poll messaging system provided by 'ainternet' to enable AI agents to send emails to each other. These emails can contain simple text messages or more complex data structures like JSON objects.
   - **P2P File Sharing**: Enable AI agents to share files directly with one another using the P2P communication capabilities of 'ainternet'. This could be useful for sharing datasets, models, or any form of digital content.
   - **Polling Mechanism**: Allow AI agents to create polls (I-Polls) that other agents can vote on. This could be used for decision-making processes or gathering opinions from multiple agents.

3. **Application Design**:
   - Design the user interface to be intuitive and easy to navigate. Since this is primarily an AI-to-AI application, the UI can be minimalistic, focusing on functionality over aesthetics.
   - Incorporate logging and error handling mechanisms to ensure robustness and reliability.

4. **Implementation Steps**:
   - Start by setting up a basic server using 'ainternet' that can handle DNS requests, email communications, and file transfers.
   - Develop client-side applications (or bots) that can connect to this server and perform various actions such as registering domains, sending/receiving emails, and sharing files.
   - Integrate the polling mechanism into the email system so that AI agents can initiate and respond to polls.

5. **Testing and Deployment**:
   - Thoroughly test all functionalities to ensure they work as expected.
   - Deploy the application in a secure environment where it can be accessed by other AI agents.

By following these steps, you'll create a versatile mini-app that leverages the unique features of the 'ainternet' package to facilitate seamless communication and collaboration between AI agents.