Back to skill

Security audit

BP Monthly Report Writer

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent BP monthly-report helper that reads scoped business-report data and writes local report artifacts, with some implementation risks users should manage.

Install only if you are authorized to access the target BP node and month. Run the helper scripts only with a trusted app key, trusted run directory, and approved output location; protect or delete generated manifests and review files because they may contain internal report excerpts and personnel/business context.

Vulnerability Patterns
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

subprocess module call

Medium
Category
Dangerous Code Execution
Content
f"data = YAML.load_file({json.dumps(str(path))}); "
        "puts JSON.generate(data)"
    )
    raw = subprocess.check_output(["ruby", "-e", ruby], text=True)
    return json.loads(raw)
Confidence
87% confidence
Finding
The script invokes an external Ruby interpreter to parse YAML, which introduces an avoidable command-execution dependency and expands the attack surface. More importantly, it uses Ruby's YAML.load_file, which is historically unsafe for untrusted YAML because it can deserialize arbitrary objects and trigger dangerous behavior depending on the runtime and available classes; if the anchor-map file is attacker-controlled, this can lead to code execution or other unsafe side effects.

Natural-Language Policy Violations

Medium
Confidence
86% confidence
Finding
The skill hard-codes a Chinese first-turn response pattern and does not offer a language choice or adaptation to the user's language. This can cause misleading or unusable output for users operating in another language, reducing clarity and increasing the chance of user error or workflow breakdown, though it is not a classic security exploit.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The script writes locally persisted manifests containing report metadata plus extracted reply text, node opinions, and progress facts, but provides no warning, consent flow, redaction, or output protection. In this skill context, the source data appears to be internal business reporting, so silent export increases the risk of unintended disclosure of sensitive operational or personnel information to local disks, shared workspaces, backups, or downstream tooling.

Static analysis

No suspicious patterns detected.