Back to skill

Security audit

PMS Task

Security checks for vulnerabilities and agentic risk

Overview

The skill has a clear task-tracking purpose, but it writes to GitHub and Google Sheets through unsafe shell command templates and fixed identities, so users should review it before installing.

Install only if this workflow is meant for the named PMS repository and the two listed Google Sheets, and if creating issues as roshanasingh4 while recording Tara Singh Kharwad and tarasinghrajput7261@gmail.com in Sheets is correct. Before use, add a final confirmation step and implement the GitHub and Sheets writes with safe argument handling and JSON serialization rather than direct shell templates.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:36
Finding

Shell Command Injection Through Unescaped Task and Spreadsheet Data

Content
View full analysis
" \ --body "$(cat < ## Steps to Reproduce 1. 2. 3. ## Expected Outcome ## Actual Outcome EOF )" \ --label "bug," \ --assignee roshanasingh4 ``` #### Feature issue creation (`SKILL.md:60-74`) ```bash gh issue create --repo roshanasingh4/apni-pathshala-pms \ --title "" \ --body "$(cat <<EOF ## Feature Request <description> ## Expected Behavior <expected outcome> ## Use Case Why is this feature needed? EOF )" \ --label "enhancement,<priority>" \ --assignee roshanasingh4 ``` #### Task Tracker updates (`SKILL.md:117-128`) ```bash gog sheets append 1O07SzGzQa2FwpkBE7h2SUDWZlxsUpz8DxCpyxKjRi8U "Production!A:K" \ --values-json '[["PMS-TSK-XXX","<title>","Tara Singh Kharwad","DD/MM/YYYY","New","Issue","Low","tarasinghrajput7261@gmail.com","<github_url>","",""]]' \ --insert INSERT_ROWS ``` ```bash gog sheets append 1O07SzGzQa2FwpkBE7h2SUDWZlxsUpz8DxCpyxKjRi8U "Production!A:K" \ --values-json '[["PMS-TSK-XXX","<title>","Tara Singh Kharwad","DD/MM/YYYY","New","Feature","Low","tarasinghrajput7261@gmail.com","<github_url>","",""]]' \ --insert INSERT_ROWS ``` #### Daily Update Sheet modification (`SKILL.md:153-156`) ```bash # Append to existing content in Column B gog sheets update 1GgRgfVBrF-ReGPRmntT6Cm2BjiLzJ3JiBaC4lMfrMQs "Sheet1!B<row>" \ --values- ...[truncated 3745 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (5)

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The manifest explicitly claims the workflow assigns created tasks to roshanasingh4. However, the sheet-update instructions later hard-code the "Assigned To" field as tarasinghrajput7261@gmail.com, which is a different assignee identity and creates a direct contradiction in the documented intent of who the task is assigned to.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill performs external side effects by creating GitHub issues and modifying Google Sheets, but it does not require an explicit confirmation or warning immediately before execution. In an agent setting, this increases the risk of unintended writes, social-engineering-triggered actions, or accidental project data modification from ambiguous user input.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill hard-codes both the reporter name and assignee email as fixed identities, causing all created records to be attributed to specific individuals regardless of the actual requester or intended owner. This creates an integrity and accountability problem, and in this skill’s context it can also misroute work, expose personal data, and enable unauthorized actions to be performed under someone else’s identity in GitHub/Sheets workflows.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The Task ID format is documented as PMS-TSKXXX in the column mapping, but both append examples later use PMS-TSK-XXX. This is an intent/documentation contradiction that could cause inconsistent identifiers across implementations.

Content

No source excerpt is available for this finding.

Excessive Permissions

Low
Category
Privilege Escalation
Confidence
80% confidence
Finding

Skill requests more permissions than appear necessary for its stated functionality. Review if elevated access is justified.

Content

Scanner excerpt · references/pms-overview.md (reported line 52)May include surrounding context.

md
- FORM_CONFIG
- SYSTEM_SETTINGS

**Permissions:**
- VIEW, CREATE, EDIT, DELETE
- APPROVE, REJECT, EXPORT, ASSIGN
- MANAGE_USERS, MANAGE_SETTINGS

Static analysis

No suspicious patterns detected.