AI Analysis
Final verdict: SUSPICIOUS
The package exhibits several behaviors that raise concern, including potential obfuscation techniques and shell command execution, although there's no concrete evidence of malicious activity.
- obfuscation risk
- shell risk
Per-check LLM notes
- Network: The network call pattern suggests the package might be using a mock transport for testing purposes, which is not inherently risky but should be verified.
- Shell: Executing shell commands to check if 'opa' is installed could be benign if related to package functionality, but it raises concerns about potential command execution vulnerabilities.
- Obfuscation: The use of import statements with obfuscation suggests an attempt to hide the actual functionality, but it does not necessarily indicate malicious intent.
- Credentials: No clear patterns indicative of credential harvesting were detected.
- Metadata: The package is newly released and maintained by a single author with limited history, raising some suspicion but not conclusive evidence of malice.
Heuristic Checks
Outbound Network Calls
score 3.0
Found 2 network call pattern(s)
key", http_client=httpx.AsyncClient(transport=httpx.MockTransport(handler)), ) defkey", http_client=httpx.AsyncClient(transport=httpx.MockTransport(handler)), ) asyn
Code Obfuscation
score 10.0
Found 6 obfuscation pattern(s)
-> None: self.lock = __import__("asyncio").Lock() self.pending_tool_calls: dict[str, str] = {}= {} self.last_used = __import__("time").monotonic() class _LiteLLMSessionCache: def __init__(() self._cache_lock = __import__("asyncio").Lock() def drop(self, sid: str) -> None: self.self.entry.last_used = __import__("time").monotonic() self.entry.lock.release()(self) -> None: now = __import__("time").monotonic() if self.ttl_seconds: for kelue return "ephemeral:" + __import__("uuid").uuid4().hex def _message_role(message: Any) -> str | None
Shell / Subprocess Execution
score 2.0
Found 1 shell execution pattern(s)
cess try: return subprocess.run(["opa", "version"], capture_output=True).returncode == 0
Credential Harvesting
No credential harvesting patterns detected
Typosquatting
No typosquatting candidates detected
Registered Email Domain
No author email provided
Suspicious Page Links
All external links appear legitimate
Git Repository History
No GitHub repository linked
No GitHub repository link found
Maintainer History
score 4.0
2 maintainer concern(s) found
Only one version has ever been released — brand new packageAuthor "Agent Control Specification contributors" 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 agent-control-specification
Create a Python-based mini-application that simulates a simple task management system using the 'agent-control-specification' package. This application will allow users to manage tasks through a command-line interface (CLI). Each task will have a unique identifier, description, due date, priority level, and status (e.g., pending, in progress, completed). Users should be able to add new tasks, update existing ones, mark tasks as completed, delete tasks, and view all tasks in different views based on their statuses. The 'agent-control-specification' package will be utilized to define and manage the lifecycle of these tasks as agents. For example, when a user adds a new task, the application will create a new agent according to the specifications defined by the package. Similarly, updating a task's status will involve updating the corresponding agent's state without maintaining any persistent storage for the agents themselves. This setup emphasizes the stateless nature of the 'agent-control-specification' package. Suggested Features: - Command-line interface for interacting with the task management system. - Ability to add new tasks with customizable attributes such as description, due date, priority, and initial status. - Option to update task details including changing the status from pending to in progress or completed. - Functionality to delete tasks. - View all tasks in different views: pending, in progress, completed. - Implement error handling for invalid inputs and operations. - Use the 'agent-control-specification' package to instantiate, manipulate, and manage the lifecycle of each task as an agent.