AI Analysis
Final verdict: SUSPICIOUS
The package exhibits medium risk due to subprocess execution capabilities and suspicious metadata, which could indicate potential misuse or supply-chain attack vectors.
- High shell risk due to subprocess execution
- Suspicious metadata including non-HTTPS link and lack of maintainer information
Per-check LLM notes
- Network: The network calls appear to be limited to localhost and may be intended for local communication within the application.
- Shell: Subprocess execution can pose significant risks if not properly controlled, suggesting potential misuse for unauthorized command execution.
- Obfuscation: The use of base64 encoding and decryption suggests some level of obfuscation, but it could be legitimate for handling encrypted data.
- Credentials: No clear patterns indicative of credential harvesting were detected.
- Metadata: Suspicious non-HTTPS link and lack of maintainer information suggest potential risk.
Heuristic Checks
Outbound Network Calls
score 3.0
Found 2 network call pattern(s)
b.request with urllib.request.urlopen( # noqa: S310 - localhost only f"ht: http_client = httpx.AsyncClient() assert http_client is not None # narrowing for
Code Obfuscation
score 6.0
Found 3 obfuscation pattern(s)
try: ciphertext = base64.b64decode(body.encrypted_payload) plaintext = decrypt_sealed_dpi=72) first_image = base64.b64decode(bundle["pages"][0]["image_base64"]) assert first_imaa = resp.json() raw = base64.b64decode(data["public_key_base64"]) # X25519 public key is 32
Shell / Subprocess Execution
score 10.0
Found 5 shell execution pattern(s)
n(str(c) for c in cmd)}") subprocess.check_call(cmd, cwd=str(cwd or PROJECT_ROOT)) def _read_pyproject_verstdin verbatim. subprocess.run(["clip"], input=pin, encoding="utf-16-le", check=True, timeotem == "Darwin": subprocess.run(["pbcopy"], input=pin, text=True, check=True, timeout=5)try: subprocess.run(argv, input=pin, text=True, check=True, timeout=5)try: completed = subprocess.run( [ "powershell",
Credential Harvesting
No credential harvesting patterns detected
Typosquatting
No typosquatting candidates detected
Registered Email Domain
Email domain looks legitimate: aems.app>
Suspicious Page Links
score 2.0
Found 1 suspicious link(s) on the package page
Non-HTTPS external link: http://127.0.0.1:61234
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 shortAuthor "" 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 aems-agent
Create a mini-application called 'ExamPDFManager' using the Python package 'aems-agent'. This application will serve as a bridge between your local file system and a remote repository of exam PDFs, allowing users to manage these files locally while maintaining synchronization with the remote source. The application should have the following functionalities: 1. **Login/Authentication**: Users should be able to log in using their credentials provided by the institution managing the remote repository. 2. **File Synchronization**: Upon logging in, the application should synchronize all available exam PDFs from the remote repository to the user's local machine. 3. **Local File Management**: Users should be able to perform CRUD operations (Create, Read, Update, Delete) on the synchronized exam PDFs locally. 4. **Version Control**: Each time a user modifies a PDF locally, the application should track changes and allow the user to revert to previous versions if needed. 5. **Sync Changes Back**: Users should have the option to sync any local changes back to the remote repository. 6. **Search Functionality**: Implement a search feature that allows users to find specific exams based on keywords or tags. 7. **Notifications**: The application should notify users when new exams are added to the remote repository. 8. **Security Measures**: Ensure that all data transferred between the local machine and the remote repository is encrypted. The 'aems-agent' package will be used primarily for accessing the remote repository of exam PDFs and facilitating the synchronization process. It will handle the communication between the local file system and the remote server, ensuring that only authorized users can access and modify the exam PDFs. Your task is to design and implement the 'ExamPDFManager' application, leveraging the capabilities of 'aems-agent' to provide a seamless and secure experience for managing exam PDFs.