Back to skill

Security audit

gong

Security checks for vulnerabilities and agentic risk

Overview

This skill is a bounded read-only Gong API helper that handles sensitive Gong data but discloses that access and constrains it appropriately.

Install only if you intend an agent to read Gong call metadata, users, transcript excerpts, and activity statistics using Gong API credentials. Use a narrowly scoped, preferably short-lived Gong key, keep the credential file mode at 0600, and request the smallest transcript and date ranges needed.

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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (5)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 26)May include surrounding context.

md
set -euo pipefail
set +x

readonly DEFAULT_CREDS="${HOME}/.config/gong/credentials.json"
readonly CREDS="${GONG_CREDS:-$DEFAULT_CREDS}"
readonly RETRIES="${GONG_MAX_RETRIES:-3}"
RESULT_TEMPS=()

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · scripts/gong.sh (reported line 7)May include surrounding context.

sh
set -euo pipefail
set +x

readonly DEFAULT_CREDS="${HOME}/.config/gong/credentials.json"
readonly CREDS="${GONG_CREDS:-$DEFAULT_CREDS}"
readonly RETRIES="${GONG_MAX_RETRIES:-3}"
RESULT_TEMPS=()

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding

The skill invokes a packaged shell helper (scripts/gong.sh) but does not declare an explicit tool scope such as allowed tools or permissions. That weakens enforcement of least privilege and makes it easier for an agent runtime to grant broader shell access than the skill's documented read-only intent, increasing the chance of unintended command execution or data exposure.

Content

No source excerpt is available for this finding.

Unbounded Resource Access

Medium
Category
Excessive Agency
Confidence
75% confidence
Finding

Skill allows unbounded resource consumption (API calls, storage, compute). Without rate limits or quotas, a compromised or misbehaving agent can cause denial-of-service or cost overruns.

Content

Scanner excerpt · SKILL.md (reported line 70)May include surrounding context.

md
- User, call, and activity-statistics results return `pages`, `returned`, and `has_more` so partial results are visible. Activity statistics are returned under `usersAggregateActivityStats` in Gong's nested `userAggregateActivityStats` shape, accompanied by `range` provenance; the helper never silently treats the first page as the complete result.
- `gong.sh test` reads only the first users page as a connectivity probe. `first_page_user_count` is not a tenant-wide user total; use the bounded `users` command for pagination.
- The helper uses `curl --fail-with-body` and at most three transient retries by default. `GONG_MAX_RETRIES` may be set from 0–5.
- A persistent 429, authentication error, or malformed response is a failure. Do not loop indefinitely or report partial data as complete.

## Transcript minimization

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
80% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · scripts/gong.sh (reported line 230)May include surrounding context.

sh
umask 077
  RESULT_TEMP=$(mktemp) || fail "Could not create a temporary result file"
  RESULT_TEMPS+=("$RESULT_TEMP")
  if ! chmod 600 "$RESULT_TEMP"; then
    cleanup_temp_and_fail "$RESULT_TEMP" "Could not protect a temporary result file"
  fi
}

Static analysis

No suspicious patterns detected.