Back to skill

Security audit

Spreadsheet Automation

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent spreadsheet automation guide; its risky examples are visible and purpose-related, but users should test destructive or public-posting automations carefully.

Install only if you want a tutorial-style skill for Google Sheets automation. Before using its Apps Script snippets, test on a duplicate spreadsheet, keep backups, replace placeholder API keys with scoped credentials, and add confirmation or validation around code that clears sheets, deletes rows, sends email, or posts publicly.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (4)

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The API import example calls sheet.clear() before rewriting data, which will wipe all existing content in the destination sheet without warning. If the API fails, returns partial data, or the wrong sheet is targeted, users can lose formulas, notes, formatting, or historical records.

External Transmission

Medium
Category
Data Exfiltration
Content
```javascript
function fetchAPIData() {
  var url = "https://api.example.com/data";
  var options = {
    "method": "GET",
    "headers": {
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The archive example deletes rows from the source sheet after copying them to an archive, but it does not include an explicit warning about irreversible data loss, rollback, or validation safeguards. In an automation context, a date parsing mistake, wrong sheet selection, or logic error could silently remove live records at scale.

External Transmission

Medium
Category
Data Exfiltration
Content
function postToAPI(platform, text) {
  // Example: Twitter API call
  var url = "https://api.twitter.com/2/tweets";
  var payload = JSON.stringify({"text": text});
  var options = {
    "method": "POST",
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Static analysis

No suspicious patterns detected.