AI Analysis
Final verdict: SUSPICIOUS
The package exhibits significant network and shell risks, suggesting potential unauthorized external communication and execution of subprocesses. While there are no definitive signs of credential theft, the combination of these factors raises concerns about possible malicious intent.
- High network risk
- High shell risk
Per-check LLM notes
- Network: The presence of network connection attempts and HTTP requests suggests potential unauthorized external communication.
- Shell: Subprocess calls to execute scripts or commands might indicate the package is designed to run additional processes, which could be used for malicious purposes.
- Obfuscation: The code shows signs of obfuscation through base64 encoding, which could be used for legitimate purposes such as data encryption but may also indicate attempts to hide malicious activities.
- Credentials: No clear patterns indicating credential harvesting have been detected.
- Metadata: The package shows low maintainer activity and poor metadata quality, raising suspicion but not conclusive evidence of malice.
Heuristic Checks
Outbound Network Calls
score 7.5
Found 5 network call pattern(s)
try: with socket.create_connection((host, port), timeout=0.5): return Truetry: with socket.create_connection((host, port), timeout=0.5): return etry: with socket.create_connection((host, port), timeout=0.3): return Truetry: with urllib.request.urlopen(f"http://{host}:{port}/healthz", timeout=0.5) as r:ken=...)`` and drive it via ``httpx.AsyncClient(transport=ASGITransport(app))``. """ from __future__ import
Code Obfuscation
score 8.0
Found 4 obfuscation pattern(s)
ionCount"]), salt=base64.b64decode(sub["salt"]), stored_key=base64.b64decode(sub["slt"]), stored_key=base64.b64decode(sub["storedKey"]), server_key=base64.b64decode(sey"]), server_key=base64.b64decode(sub["serverKey"]), mechanism=mechanism,try: client_proof = base64.b64decode(client_proof_b64, validate=False) except Exception as ex
Shell / Subprocess Execution
score 10.0
Found 6 shell execution pattern(s)
ss on ``port``.""" return subprocess.Popen( [ sys.executable, "-m", "secantus",cess.Popen[bytes]: return subprocess.Popen( [ sys.executable, "-m", "bench.load_wriort = _free_port() proc = subprocess.Popen( [ sys.executable, "-m", "secantus",dir / "mongod.log" proc = subprocess.Popen( [ "mongod", "--bind_ip", "1cess.Popen[bytes]: return subprocess.Popen( [ sys.executable, "-m", "secantus",end("--drop") p = subprocess.Popen( argv, stdin=subprocess.DEVN
Credential Harvesting
No credential harvesting patterns detected
Typosquatting
No typosquatting candidates detected
Registered Email Domain
Email domain looks legitimate: joedrumgoole.com>
Suspicious Page Links
All external links appear legitimate
Git Repository History
No GitHub repository linked
No GitHub repository link found
Maintainer History
score 6.0
3 maintainer concern(s) found
Author name is missing or very shortAuthor "" appears to have only 1 package on PyPI (new or inactive account)Package has no PyPI classifiers (low effort / metadata quality)
Known CVE Vulnerabilities
No known vulnerabilities found in OSV database.
AI App Starter Prompt
Use this prompt to build a project with SecantusDB
Create a mini-library management system using the Python package 'SecantusDB'. This application will allow users to manage a collection of books, including adding new books, updating book details, searching for books by title or author, and deleting books from the library catalog. Additionally, implement features to track borrowed books and manage user accounts. Utilize 'SecantusDB' as the backend database to store all information related to books and users. Ensure that your application can perform CRUD operations efficiently, leveraging the MongoDB compatibility of 'SecantusDB'. Include error handling and validation checks to ensure data integrity. Finally, provide a simple command-line interface for interacting with the library management system.