Back to skill

Security audit

Checkly CLI Skills

Security checks across malware telemetry and agentic risk

Overview

This is a Checkly CLI reference skill that documents expected monitoring, testing, deployment, and account-management workflows, with sensitive actions mostly disclosed and gated by user review guidance.

Install only if you intend to let the agent help operate Checkly. Review any deploy, destroy, import commit/cancel, check delete, or member update/delete command before execution, and keep Checkly/API secrets in environment or CI secret stores rather than committed files or shared logs.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (12)

Vague Triggers

Medium
Confidence
76% confidence
Finding
The trigger description is very broad and can cause the skill to activate for generic terms like 'checkly' or 'monitoring as code' outside a clearly bounded intent. Over-broad routing increases the chance that an agent invokes this skill in unintended contexts, exposing sensitive environment-backed capabilities or causing the model to follow irrelevant operational guidance.

Vague Triggers

Medium
Confidence
93% confidence
Finding
The trigger description includes broad terms like "configuration" and "project setup," which can cause the skill to activate outside its intended Checkly-specific scope. In an agent system, ambiguous routing increases the chance that unrelated user requests are handled by this skill, creating misrouting, prompt-scope confusion, and a larger attack surface for unsafe tool or instruction selection.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The documentation demonstrates use of an API key via environment variables, including a non-null assertion on `process.env.API_KEY!`, without any warning about secret handling, validation, or avoiding hardcoding/log leakage. In a security-sensitive monitoring/configuration skill, this can normalize unsafe credential practices and lead users to expose secrets in source control, CI logs, or misconfigured deployments.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The documentation explicitly says verbose mode shows 'Environment variables used' but does not warn that secrets from API keys, tokens, or .env files may be exposed in terminal logs, CI output, or shared artifacts. In a testing/CI context, verbose logs are often retained or uploaded, so this can lead to accidental credential disclosure even though the feature itself is not inherently malicious.

External Transmission

Medium
Category
Data Exfiltration
Content
setupScript: {
    content: `
      // Setup: Generate auth token
      const response = await fetch('https://api.example.com/auth/token', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({
Confidence
80% confidence
Finding
fetch('https://api.example.com/auth/token', { method: 'POST'

External Transmission

Medium
Category
Data Exfiltration
Content
new ApiCheck('authenticated-api-check', {
  name: 'Authenticated API',
  request: {
    url: 'https://api.example.com/user/profile',
    method: 'GET',
    headers: [
      { key: 'Authorization', value: 'Bearer {{API_TOKEN}}' },  // Your custom token
Confidence
76% confidence
Finding
https://api.example.com/

External Transmission

Medium
Category
Data Exfiltration
Content
setupScript: {
    content: `
      // Setup: Generate auth token
      const response = await fetch('https://api.example.com/auth/token', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({
Confidence
80% confidence
Finding
https://api.example.com/

External Transmission

Medium
Category
Data Exfiltration
Content
`,
  },
  request: {
    url: 'https://api.example.com/protected',
    method: 'GET',
    headers: [
      { key: 'Authorization', value: 'Bearer {{AUTH_TOKEN}}' },
Confidence
72% confidence
Finding
https://api.example.com/

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
# Deploy with confirmation prompt
npx checkly deploy

# Force deploy (skip prompt)
npx checkly deploy --force

# Keep removed code resources in Checkly instead of deleting run history
Confidence
89% confidence
Finding
skip prompt

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
| Flag | Description |
|------|-------------|
| `--force, -f` | Skip confirmation prompt |
| `--preserve-resources` | Detach resources removed from code, keeping them and their run history in Checkly for UI management instead of deleting them |
| `--verbose, -v` | Show created/updated resource names and IDs during deploy output |
| `--cancel-in-progress-deployment` | If a deployment for this project is already in progress, cancel it instead of waiting for it to finish |
Confidence
87% confidence
Finding
Skip confirmation

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
| Flag | Description |
|------|-------------|
| `--force, -f` | Skip confirmation prompt |
| `--config=<path>` | Path to checkly.config.ts/js |
| `--preserve-resources` | Remove the project link but keep project resources as normal account-level resources |
| `--cancel-in-progress-deployment` | If a deploy or destroy operation is already in progress, cancel it instead of waiting before retrying |
Confidence
90% confidence
Finding
Skip confirmation

Unsafe Defaults

Medium
Category
Tool Misuse
Content
| `CHECKLY_API_KEY` | Yes | API key (starts with `cu_`) |
| `CHECKLY_ACCOUNT_ID` | Yes | Numeric account ID |
| `CHECKLY_API_URL` | No | Override API URL (default: `https://api.checklyhq.com`) |
| `CHECKLY_SKIP_AUTH` | No | Skip authentication (for debugging flags) |

## Security best practices
Confidence
95% confidence
Finding
SKIP_AUTH

VirusTotal

65/65 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.