T08 · Insecure Dependencies
- Location
SKILL.md:10- Finding
Unpinned Global Installation of a Remote Skill Package
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This looks like a real NEAR Email integration, but it should be reviewed because it documents mailbox deletion without clear confirmation guidance and uses mutable global install/dependency patterns.
Install only if you are comfortable using OutLayer/NEAR for email operations and exposing payment keys or NEAR signing authority to the code you build from these examples. Require explicit human confirmation before any delete_email action, avoid plaintext emails for private content because the docs say they are public on-chain, and prefer pinned/local installs and pinned dependencies instead of the global unpinned commands shown.
SKILL.md:10Unpinned Global Installation of a Remote Skill Package
examples.md:992Unpinned Python Dependency Installation
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
PAYMENT_KEY = "your-account.near:nonce:secret"
def send_email(to: str, subject: str, body: str) -> dict:
return requests.post(
f"{OUTLAYER_API}/call/outlayer.near/zavodil.near/near-email",
headers={"Content-Type": "application/json", "X-Payment-Key": PAYMENT_KEY},
json={"input": {"action": "send_email_plaintext", "to": to, "subject": subject, "body": body}},
The documented API includes a delete_email action but does not prominently warn that invoking it can permanently remove user data. In an agent-facing skill, omission of destructive-action warnings increases the chance that an LLM or integrator will call deletion functions without explicit user confirmation, causing unintended data loss.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
POST https://api.outlayer.fastnear.com/call/{contract}/{project}
| Contract | Project ID |
The API reference documents a destructive delete_email action with no warning about irreversible effects, no recommendation for user confirmation, and no guidance on access control or recovery. In an agent skill context, this increases the chance that an automated workflow deletes messages unintentionally or after prompt manipulation, causing data loss for the user.
The manifest describes the skill as allowing users to 'Send and read blockchain-native emails,' which implies compose and retrieval capabilities. The example agent also exposes a deleteEmail/delete_email action, adding mailbox mutation behavior not reflected in the stated skill description.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
# Send email (plaintext - simplest option)
def send_email(to: str, subject: str, body: str) -> dict:
response = requests.post(
f"{OUTLAYER_API}/call/outlayer.near/{PROJECT_ID}",
headers={"Content-Type": "application/json", "X-Payment-Key": PAYMENT_KEY},
json={"input": {"action": "send_email_plaintext", "to": to, "subject": subject, "body": body}},
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
# Send email (plaintext - simplest option)
def send_email(to: str, subject: str, body: str) -> dict:
response = requests.post(
f"{OUTLAYER_API}/call/outlayer.near/{PROJECT_ID}",
headers={"Content-Type": "application/json", "X-Payment-Key": PAYMENT_KEY},
json={"input": {"action": "send_email_plaintext", "to": to, "subject": subject, "body": body}},
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
def _call_api(self, input_data: dict) -> dict:
"""Make API call to OutLayer"""
response = requests.post(
f"{OUTLAYER_API}/call/outlayer.near/{PROJECT_ID}",
headers={
"Content-Type": "application/json",
The manifest frames this skill around sending and reading NEAR Email messages. This documented Python agent also supports deleting emails via delete_email, which is a broader mailbox-management capability than the manifest claims.
No suspicious patterns detected.