ahsi

v0.1.4 suspicious
5.0
Medium Risk

One logger, every destination — send ML training events to Discord, Slack, Telegram, W&B, MLflow, Comet, Neptune, TensorBoard, Aim, and Console simultaneously

🤖 AI Analysis

Final verdict: SUSPICIOUS

The package exhibits a notable network risk due to its external API calls, raising concerns about potential data exfiltration. However, other risks such as shell execution, obfuscation, and credential harvesting are minimal.

  • High network risk
  • Single package maintainer
Per-check LLM notes
  • Network: Detected network calls to external APIs suggest potential data exfiltration or unauthorized communication.
  • Shell: No shell execution patterns detected.
  • Obfuscation: No obfuscation patterns detected, indicating low risk.
  • Credentials: No credential harvesting patterns detected, indicating low risk.
  • Metadata: The maintainer has only one package, which may indicate a new or less active account.

📦 Package Quality Overall: Low (4.8/10)

◈ Medium Test Suite 6.0

Partial test coverage signals detected

  • Test runner config found: pyproject.toml
◈ Medium Documentation 7.0

Some documentation present

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

  • 56 type-annotated function signatures detected in source
○ Low Multiple Contributors 2.0

Single-author or unverifiable project

  • 1 unique contributor(s) across 12 commits in byeolki/ashi
  • Single author with few commits — possibly a personal or throwaway project

🔬 Heuristic Checks

Outbound Network Calls score 9.0

Found 6 network call pattern(s)

  • eout: int) -> str: resp = requests.post( "https://api.openai.com/v1/chat/completions",
  • try: resp = requests.post(self._url, json=payload, timeout=self._timeout)
  • as f: resp = requests.post( self._url, data={"p
  • try: resp = requests.post( self._url, json={"attachmen
  • try: resp = requests.post( f"{self._base}/sendMessage",
  • as f: resp = requests.post( f"{self._base}/sendDocument",
Code Obfuscation

No obfuscation patterns detected

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: gmail.com

Suspicious Page Links

All external links appear legitimate

Git Repository History

Repository byeolki/ashi appears legitimate

Maintainer History score 2.0

1 maintainer concern(s) found

  • Author "byeolki" 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 ahsi
Create a mini-application called 'MultiLog' that leverages the 'ahsi' package to streamline logging of machine learning training events across multiple platforms. This application should allow users to configure which logging destinations they want to use and customize the format of the log messages. MultiLog should support real-time logging during training, ensuring that all specified platforms receive the same event information simultaneously. Additionally, the application should provide a simple command-line interface for setting up and managing the logging process. Here’s a detailed breakdown of the steps and features:

1. **Setup Environment**: Install the required packages including 'ahsi'.
2. **Configuration Management**: Develop a configuration file where users can specify which platforms they wish to use for logging (e.g., Discord, Slack, etc.) and customize the message format.
3. **Logging Functionality**: Implement the core functionality using 'ahsi' to send training events to the selected platforms in real-time.
4. **Command-Line Interface**: Create a CLI tool that allows users to start, stop, and manage the logging process easily.
5. **Custom Events**: Allow users to define custom events such as training start, end, epoch completion, etc., and map these events to specific actions or messages on the logging platforms.
6. **Testing & Validation**: Ensure that the application works correctly by testing it with different configurations and logging destinations.
7. **Documentation**: Provide comprehensive documentation detailing how to install, configure, and use MultiLog effectively.