allstak

v0.2.1 suspicious
7.0
High Risk

Official Python SDK for AllStak — error tracking, structured logs, HTTP + DB monitoring, distributed tracing, and cron monitoring with first-class FastAPI, Django and Flask support

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package exhibits significant network and shell execution risks, indicating potential unauthorized activities. While it does not show strong indicators of credential theft or malicious intent, the combination of these factors raises suspicion about its true purpose.

  • High network risk due to unsecured data transmission
  • Elevated shell risk from executing external commands
Per-check LLM notes
  • Network: The network call patterns include sending unsecured data which may contain secrets, suggesting potential data exfiltration risks.
  • Shell: Executing shell commands like git can indicate the package might be performing actions beyond its intended scope, possibly including unauthorized operations.
  • Obfuscation: The use of obfuscation techniques like name mangling (using underscores and __import__) is common but may indicate an attempt to hide code behavior.
  • Credentials: No clear signs of credential harvesting were detected in the provided snippet.
  • Metadata: The package shows signs of potential low activity and lacks maintainer information, raising concerns but not conclusive evidence of malice.

📦 Package Quality Overall: Medium (7.0/10)

✦ High Test Suite 9.0

Test suite present — 21 test file(s) found

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

Some documentation present

  • Documentation URL: "Documentation" -> https://allstak.sa/docs/sdks/python
  • Detailed PyPI description (4557 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
  • 238 type-annotated function signatures detected in source
✦ High Multiple Contributors 8.0

Active multi-contributor project

  • 4 unique contributor(s) across 38 commits in AllStak/allstak-python
  • Small but multi-author team (3–4 contributors)

🔬 Heuristic Checks

Outbound Network Calls score 9.0

Found 6 network call pattern(s)

  • en=secret").prepare() requests.Session().send(req) # Underlying transport called exactly o
  • example.com/x").prepare() requests.Session().send(req) assert installed_requests.called assert
  • est/v1/errors").prepare() requests.Session().send(req) assert installed_requests.called assert
  • XISTING"} ).prepare() requests.Session().send(req) # set-if-missing: user's traceparent is pre
  • ) with httpx.Client(timeout=self._timeout) as client: resp =
  • fic client:: client = httpx.AsyncClient(event_hooks=allstak_httpx_hooks()) Both paths skip requests
Code Obfuscation score 2.0

Found 1 obfuscation pattern(s)

  • self._breadcrumb_lock = __import__("threading").Lock() def set_user(self, user: UserContext) -> None:
Shell / Subprocess Execution score 2.0

Found 1 shell execution pattern(s)

  • nner. """ completed = subprocess.run( ["git", *args], capture_output=True,
Credential Harvesting

No credential harvesting patterns detected

Typosquatting

No typosquatting candidates detected

Registered Email Domain

Email domain looks legitimate: allstak.sa>

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 allstak
Create a mini-application that integrates the 'allstak' package to demonstrate its capabilities in error tracking, structured logging, HTTP and database monitoring, distributed tracing, and cron job monitoring. This application will be built using FastAPI as the web framework. Here are the steps and features to include:

1. **Setup Environment**: Start by setting up a virtual environment and installing the necessary packages including FastAPI, Uvicorn, and 'allstak'.
2. **Application Structure**: Define the structure of your FastAPI application. Include at least two endpoints - one for user registration and another for fetching user data.
3. **Error Tracking**: Implement a scenario where the application throws an intentional error under certain conditions. Use 'allstak' to track these errors and ensure they are reported back to you.
4. **Structured Logging**: Enhance your application to log important events in a structured manner. Use 'allstak' to ensure these logs are not only captured but also easily searchable and filterable.
5. **HTTP Monitoring**: Add a feature that monitors HTTP requests made from your application. Utilize 'allstak' to capture details like request/response times, status codes, and any errors encountered during these transactions.
6. **Database Monitoring**: Integrate a simple database (like SQLite) into your application. Monitor all database operations using 'allstak' to track queries, execution times, and any issues that arise.
7. **Distributed Tracing**: If your application interacts with external services, implement distributed tracing using 'allstak' to understand the flow of requests across different services.
8. **Cron Job Monitoring**: Set up a periodic task (using cron jobs) within your application that performs a specific action (e.g., cleaning up old user data). Ensure this task is monitored using 'allstak' to alert you if it fails.
9. **Documentation and Testing**: Provide comprehensive documentation on how each feature works and how 'allstak' is utilized. Additionally, write tests to ensure your application functions correctly and that 'allstak' is integrated properly.

This project aims to showcase the versatility and ease of use of the 'allstak' package while building a practical, albeit simplified, application.