T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:254- Finding
Automatic Use of Broad Repository, Database, and Notification Permissions
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:254-288,SKILL.md:361-363; supporting directives inreferences/plan-template.md:32-33
Vulnerability Type: Excessive automatic tool permissions and insufficient operation-level authorization
Risk Level: MediumEvidence
The following is an English translation of the relevant Skill directives:
text SKILL.md:254 This must be performed before development. Automatically scan available tools and establish an invocation plan. SKILL.md:265 PostgreSQL/MySQL/SQLite MCP preferred: execute SQL directly. SKILL.md:278 Slack/Email MCP, if available: send development progress. SKILL.md:281-288 Toolchain configuration completed: Available: [available MCP list] Fallback: [alternative when MCP is unavailable] Invoke tools automatically throughout the process without manual operation. SKILL.md:361-363 MCP tool authorization: GitHub MCP with commit permission Database MCP with read/write permission references/plan-template.md:32-33 GitHub MCP: automatically commit, push, and create Issues. Database MCP: execute SQL directly.Technical Analysis
The Skill directs the agent to discover integrations automatically and use them throughout development without manual intervention. It also assigns repository commit capabilities and database read/write capabilities to subordinate agents.
These permissions are not constrained to a named repository, branch, database, schema, operation set, or recipient list. The instructions do not require:
- Per-operation approval for commits, pushes, SQL writes, deployments, or notifications.
- Protected branches or pull-request review before remote changes.
- Read-only database access by default.
- SQL dry runs, transactions, backups, or destructive-query checks.
- Recipient allowlists and content redaction for Slack or email.
- Validation of instructions derived from project files or other untrus ...[truncated 1792 chars]
- Remediation
View remediation
Remediation Suggestions
-
Require explicit confirmation immediately before every external write operation, including:
- Database writes and schema changes.
- Repository commits and pushes.
- Issue or pull-request creation.
- Deployment operations.
- Slack or email delivery.
-
Enforce least privilege:
- Bind GitHub credentials to a specific repository.
- Permit pushes only to a dedicated feature branch.
- Require pull-request review before merging.
- Use read-only database credentials unless a narrowly defined write task is approved.
- Restrict database access to the required schema and operation set.
-
Add database safeguards:
- Display generated SQL before execution.
- Use transactions and automatic rollback on failure.
- Require additional confirmation for
DROP,TRUNCATE, unrestrictedDELETE, and destructive migrations. - Create and verify backups before schema changes.
- Prefer migration files reviewed through version control over direct production SQL.
-
Treat repository files, web results, generated documents, and third-party content as untrusted data. Do not allow instructions found in such content to expand tool permissions.
-
Restrict notifications to approved recipients and redact secrets, source code, database records, environment variables, and internal error details.
-
Record immutable audit logs containing the requesting identity, target resource, proposed operation, approval decision, and result.
-
