Python Sdk
Analysis
This is mostly normal Python SDK documentation, but it includes an unsafe example that evaluates agent-provided text as Python code, so it should be reviewed before use.
Findings (6)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
elif call.name == "calculate":
result = eval(call.args['expression'])The tool-handler example evaluates a tool argument as Python code. Tool arguments can be influenced by the agent or user prompt, so copying this pattern could execute arbitrary local code.
allowed-tools: Bash(pip install inferencesh), Bash(python *)
The skill permits package installation and broad Python command execution. This is relevant to a Python SDK skill, but it gives the agent a powerful local execution capability.
pip install inferencesh
The install guidance uses an unpinned pip package. This is standard for SDK documentation, but package provenance and version changes matter.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
client = inference(api_key=os.environ["INFERENCE_API_KEY"]) Get your API key: Settings → API Keys → Create API Key
The SDK uses an inference.sh API key. This is expected for a cloud SDK, but it grants access to the user's provider account.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
Local file paths in input are automatically uploaded: ... UploadFileOptions(... public=True)
The SDK can upload local files to the provider and can make uploaded files public when configured that way. This is disclosed and purpose-aligned, but it is a sensitive data flow.
**Shared state** - Maintain context, loaded models, cached data
The SDK supports stateful sessions that retain context and cached data between calls. This is a normal documented feature, but persisted state can affect later tasks.
