๐Ÿ›ก๏ธ SafeAgentSkills

ipeaky

ยท v3.2.0

High Risk

Secure API key management for OpenClaw. Store, list, test, and delete API keys without exposing them in chat history. Keys are stored directly in openclaw.json via gateway config.patch โ€” fully native integration. Use when a user needs to provide, manage, or test API keys (e.g., OpenAI, ElevenLabs, Anthropic, Brave, or any service). Triggers on phrases like "add API key", "store my key", "manage keys", "test my key", "set up API key", or when a skill requires an API key that isn't configured.

H:4 D:4 A:4 C:1

โš ๏ธ Hazard Flags

EXEC FS_READ_WORKSPACE FS_READ_USER FS_WRITE_WORKSPACE FS_WRITE_USER FS_DELETE NET_EGRESS_ANY CREDS_ENV CREDS_FILES CREDS_KEYCHAIN ACT_PURCHASE PI_WEB

๐Ÿ“‹ Capabilities

Execution

  • โœ… Shell execution
  • โŒ Code execution
  • โŒ Install dependencies
  • โŒ Persistence
  • Privilege: user

Filesystem

  • โœ… Read workspace
  • โœ… Write workspace
  • โœ… Read home
  • โœ… Write home
  • โŒ Read system
  • โœ… Delete

Network

  • Egress: any
  • โŒ Ingress

Credentials

  • โœ… Environment vars
  • โœ… Credential files
  • โŒ Browser data
  • โœ… Keychain

Actions

โŒ send messagesโŒ post publicโœ… purchaseโŒ transfer moneyโŒ deployโŒ delete external

๐Ÿ”’ Containment

Level: maximum

Required:
  • APPROVE_PURCHASE: Financial actions possible
  • SANDBOX_CONTAINER: Code execution capability
Recommended:
  • LOG_ACTIONS: Audit trail for all actions

โšก Risks

Keychain/credential store access in: paid_tier/stripe-setup.sh high

Mitigation: Block keychain access or use isolated environment.

Unauthorized tool use: MCP_SYS_CRITICAL_ACCESS, TOOL_ABUSE_SYSTEM_MODIFICATION, MCP_SYS_FILE_DESTRUCTION critical

Mitigation: Avoid accessing system directories unless absolutely necessary.

Command injection risk: TIRITH_INSECURE_TLS, COMMAND_INJECTION_USER_INPUT high
Social engineering indicators: SOCIAL_ENG_VAGUE_DESCRIPTION, SOCIAL_ENG_ANTHROPIC_IMPERSONATION low

Mitigation: Provide clear, detailed description of skill functionality

Want a deeper analysis?

This report was generated by static analysis. Get an LLM-powered deep review with behavioral reasoning and attack surface mapping.

๐Ÿง  Deep Analysis โ€” $5.00

๐Ÿšจ Incident Response

Kill switch: Stop the agent process

Containment: Review logs for unexpected actions

Recovery: Depends on skill capabilities

๐Ÿ“„ Raw SSDS JSON click to expand
{
  "meta": {
    "document_id": "ssds:auto:ipeaky:3.2.0",
    "ssds_version": "0.2.0",
    "scanner_version": "0.4.0+fe6fd9123d50",
    "created_at": "2026-03-05T12:41:56.317Z",
    "created_by": {
      "agent": "safeagentskills-cli/generate-ssds"
    },
    "language": "en",
    "notes": "Auto-generated SSDS. Manual review recommended."
  },
  "skill": {
    "name": "ipeaky",
    "version": "3.2.0",
    "format": "agent_skill",
    "description": "Secure API key management for OpenClaw. Store, list, test, and delete API keys without exposing them in chat history. Keys are stored directly in openclaw.json via gateway config.patch โ€” fully native integration. Use when a user needs to provide, manage, or test API keys (e.g., OpenAI, ElevenLabs, Anthropic, Brave, or any service). Triggers on phrases like \"add API key\", \"store my key\", \"manage keys\", \"test my key\", \"set up API key\", or when a skill requires an API key that isn't configured.",
    "publisher": "unknown",
    "source": {
      "channel": "local"
    },
    "artifact": {
      "sha256": "86cbb7283ba662b01fb522d5e7bc727a8b495d2ac24f313127a8da8d4eedd9ae",
      "hash_method": "files_sorted"
    }
  },
  "capabilities": {
    "execution": {
      "can_exec_shell": true,
      "can_exec_code": false,
      "privilege_level": "user",
      "can_install_deps": false,
      "can_persist": false
    },
    "filesystem": {
      "reads_workspace": true,
      "reads_user_home": true,
      "reads_system": false,
      "writes_workspace": true,
      "writes_user_home": true,
      "writes_system": false,
      "can_delete": true
    },
    "network": {
      "egress": "any",
      "ingress": false
    },
    "credentials": {
      "reads_env_vars": true,
      "reads_credential_files": true,
      "reads_browser_data": false,
      "reads_keychain": true
    },
    "services": [],
    "actions": {
      "can_send_messages": false,
      "can_post_public": false,
      "can_purchase": true,
      "can_transfer_money": false,
      "can_deploy": false,
      "can_delete_external": false
    },
    "prompt_injection_surfaces": [
      "web"
    ],
    "content_types": [
      "general"
    ]
  },
  "hazards": {
    "hdac": {
      "H": 4,
      "D": 4,
      "A": 4,
      "C": 1
    },
    "flags": [
      "EXEC",
      "FS_READ_WORKSPACE",
      "FS_READ_USER",
      "FS_WRITE_WORKSPACE",
      "FS_WRITE_USER",
      "FS_DELETE",
      "NET_EGRESS_ANY",
      "CREDS_ENV",
      "CREDS_FILES",
      "CREDS_KEYCHAIN",
      "ACT_PURCHASE",
      "PI_WEB"
    ],
    "custom_flags": [
      {
        "code": "CRED_KEYCHAIN",
        "name": "Keychain Access",
        "description": "Accesses system keychain in: paid_tier/stripe-setup.sh"
      },
      {
        "code": "FILE_DELETE",
        "name": "File Deletion",
        "description": "Can delete files in: tests/run_tests.sh"
      },
      {
        "code": "TOOL_ABUSE",
        "name": "Unauthorized Tool Use",
        "description": "MCP_SYS_CRITICAL_ACCESS, TOOL_ABUSE_SYSTEM_MODIFICATION, MCP_SYS_FILE_DESTRUCTION: Access to critical system directories"
      },
      {
        "code": "SOCIAL_ENGINEERING",
        "name": "Social Engineering Risk",
        "description": "SOCIAL_ENG_VAGUE_DESCRIPTION, SOCIAL_ENG_ANTHROPIC_IMPERSONATION: Skill description is too vague or missing"
      },
      {
        "code": "COMMAND_INJECTION",
        "name": "Command Injection Risk",
        "description": "TIRITH_INSECURE_TLS, COMMAND_INJECTION_USER_INPUT: Disabled TLS verification allows man-in-the-middle attacks"
      },
      {
        "code": "PROMPT_INJECTION",
        "name": "Prompt Injection Risk",
        "description": "MCP_COERCIVE_HIDDEN_PARAMS: Attempts to access hidden parameters or extract model internals"
      }
    ],
    "confidence": {
      "level": "medium",
      "basis": [
        "static_analysis"
      ],
      "notes": "Detected 6 security patterns (24 vendored rule hits). Review recommended."
    },
    "rationale": {
      "H": "H4: Critical: Privilege escalation or malware detected",
      "D": "D4: Critical: Credential theft or data exfiltration",
      "A": "A4: External actions (deploy/message/post)",
      "C": "C1: General content"
    }
  },
  "containment": {
    "level": "maximum",
    "required": [
      {
        "control": "APPROVE_PURCHASE",
        "reason": "Financial actions possible"
      },
      {
        "control": "SANDBOX_CONTAINER",
        "reason": "Code execution capability"
      }
    ],
    "recommended": [
      {
        "control": "LOG_ACTIONS",
        "reason": "Audit trail for all actions"
      }
    ],
    "uncontained_risk": "Risk level depends on manual review of actual capabilities."
  },
  "risks": {
    "risks": [
      {
        "risk": "Keychain/credential store access in: paid_tier/stripe-setup.sh",
        "severity": "high",
        "mitigation": "Block keychain access or use isolated environment."
      },
      {
        "risk": "Unauthorized tool use: MCP_SYS_CRITICAL_ACCESS, TOOL_ABUSE_SYSTEM_MODIFICATION, MCP_SYS_FILE_DESTRUCTION",
        "severity": "critical",
        "mitigation": "Avoid accessing system directories unless absolutely necessary."
      },
      {
        "risk": "Command injection risk: TIRITH_INSECURE_TLS, COMMAND_INJECTION_USER_INPUT",
        "severity": "high"
      },
      {
        "risk": "Social engineering indicators: SOCIAL_ENG_VAGUE_DESCRIPTION, SOCIAL_ENG_ANTHROPIC_IMPERSONATION",
        "severity": "low",
        "mitigation": "Provide clear, detailed description of skill functionality"
      }
    ],
    "limitations": [
      "Static analysis only - runtime behavior not verified"
    ]
  },
  "incident_response": {
    "kill_switch": [
      "Stop the agent process"
    ],
    "containment": [
      "Review logs for unexpected actions"
    ],
    "recovery": [
      "Depends on skill capabilities"
    ]
  },
  "evidence": [
    {
      "evidence_id": "EV:file-1",
      "type": "file_excerpt",
      "title": "paid_tier/stripe-checkout.sh",
      "file_path": "paid_tier/stripe-checkout.sh"
    },
    {
      "evidence_id": "EV:file-2",
      "type": "file_excerpt",
      "title": "paid_tier/stripe-setup.sh",
      "file_path": "paid_tier/stripe-setup.sh"
    },
    {
      "evidence_id": "EV:file-3",
      "type": "file_excerpt",
      "title": "README.md",
      "file_path": "README.md"
    },
    {
      "evidence_id": "EV:file-4",
      "type": "file_excerpt",
      "title": "scripts/detect_test_config.sh",
      "file_path": "scripts/detect_test_config.sh"
    },
    {
      "evidence_id": "EV:file-5",
      "type": "file_excerpt",
      "title": "scripts/monitor.sh",
      "file_path": "scripts/monitor.sh"
    },
    {
      "evidence_id": "EV:file-6",
      "type": "file_excerpt",
      "title": "scripts/register_key_path.sh",
      "file_path": "scripts/register_key_path.sh"
    },
    {
      "evidence_id": "EV:file-7",
      "type": "file_excerpt",
      "title": "scripts/secure_input_mac.sh",
      "file_path": "scripts/secure_input_mac.sh"
    },
    {
      "evidence_id": "EV:file-8",
      "type": "file_excerpt",
      "title": "scripts/store_key_v3.sh",
      "file_path": "scripts/store_key_v3.sh"
    },
    {
      "evidence_id": "EV:file-9",
      "type": "file_excerpt",
      "title": "scripts/store_key_v4.sh",
      "file_path": "scripts/store_key_v4.sh"
    },
    {
      "evidence_id": "EV:file-10",
      "type": "file_excerpt",
      "title": "scripts/test_key_v5.sh",
      "file_path": "scripts/test_key_v5.sh"
    },
    {
      "evidence_id": "EV:cisco-1",
      "type": "file_excerpt",
      "title": "MCP_SYS_CRITICAL_ACCESS [HIGH] paid_tier/stripe-checkout.sh:1: #!/usr/bin/env bash",
      "file_path": "paid_tier/stripe-checkout.sh"
    },
    {
      "evidence_id": "EV:cisco-2",
      "type": "file_excerpt",
      "title": "MCP_SYS_CRITICAL_ACCESS [HIGH] paid_tier/stripe-setup.sh:1: #!/usr/bin/env bash",
      "file_path": "paid_tier/stripe-setup.sh"
    },
    {
      "evidence_id": "EV:cisco-3",
      "type": "file_excerpt",
      "title": "MCP_COERCIVE_HIDDEN_PARAMS [HIGH] README.md:14: \"Store my OpenAI key\" โ†’ secure popup (hidden input) โ†’ config.patch โ†’ openclaw.js",
      "file_path": "README.md"
    },
    {
      "evidence_id": "EV:cisco-4",
      "type": "file_excerpt",
      "title": "MCP_SYS_CRITICAL_ACCESS [HIGH] scripts/detect_test_config.sh:1: #!/usr/bin/env bash",
      "file_path": "scripts/detect_test_config.sh"
    },
    {
      "evidence_id": "EV:cisco-5",
      "type": "file_excerpt",
      "title": "MCP_SYS_CRITICAL_ACCESS [HIGH] scripts/monitor.sh:1: #!/usr/bin/env bash",
      "file_path": "scripts/monitor.sh"
    },
    {
      "evidence_id": "EV:cisco-6",
      "type": "file_excerpt",
      "title": "MCP_SYS_CRITICAL_ACCESS [HIGH] scripts/register_key_path.sh:1: #!/usr/bin/env bash",
      "file_path": "scripts/register_key_path.sh"
    },
    {
      "evidence_id": "EV:cisco-7",
      "type": "file_excerpt",
      "title": "MCP_SYS_CRITICAL_ACCESS [HIGH] scripts/secure_input_mac.sh:1: #!/usr/bin/env bash",
      "file_path": "scripts/secure_input_mac.sh"
    },
    {
      "evidence_id": "EV:cisco-8",
      "type": "file_excerpt",
      "title": "TOOL_ABUSE_SYSTEM_MODIFICATION [CRITICAL] scripts/store_key_v3.sh:42: chmod 600 \"$TEMP_KEY_FILE\"",
      "file_path": "scripts/store_key_v3.sh"
    },
    {
      "evidence_id": "EV:cisco-9",
      "type": "file_excerpt",
      "title": "MCP_SYS_FILE_DESTRUCTION [CRITICAL] scripts/store_key_v3.sh:104: dd if=/dev/urandom of=\"$TEMP_KEY_FILE\" bs=1024 count=1 2>/dev/null || true",
      "file_path": "scripts/store_key_v3.sh"
    },
    {
      "evidence_id": "EV:cisco-10",
      "type": "file_excerpt",
      "title": "MCP_SYS_CRITICAL_ACCESS [HIGH] scripts/store_key_v3.sh:1: #!/usr/bin/env bash",
      "file_path": "scripts/store_key_v3.sh"
    }
  ]
}