CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/trivy-config

Runs Trivy's misconfiguration scanner (`trivy config`) against IaC directories to detect security issues across Terraform, CloudFormation, Kubernetes manifests, Helm charts, Dockerfiles, and Azure ARM templates - installs Trivy, scans with severity gating via `--exit-code`, suppresses findings via `.trivyignore` / `.trivyignore.yaml` or inline annotations, extends built-in checks with custom Rego policies, and emits SARIF for GitHub Code Scanning. Trivy is the tfsec successor - the forward path from tfsec per Aqua Security's own migration guidance - and the legacy tfsec workflow (install, custom YAML rules, ignore annotations, migration steps) is kept in references/tfsec-legacy.md. Use when adopting a consolidated IaC scanner for new projects, migrating away from tfsec (or still operating a Terraform-only tfsec stack), or scanning mixed IaC stacks with a single tool.

74

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Medium

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

Security

1 medium severity finding. This skill can be installed but you should review these findings before use.

Medium

W013: Attempt to modify system services in skill instructions.

What this means

The skill prompts the agent to compromise the security or integrity of the user’s machine by modifying system-level services or configurations, such as obtaining elevated privileges, altering startup scripts, or changing system-wide settings.

Why it was flagged

The install instructions (Step 1) include sudo commands that add system keyrings and apt sources and install RPMs, which modify system files and require elevated privileges.

Report incorrect finding

Low

Low-risk findings.

2 low severity findings. Worth noting, but not necessarily harmful.

Low

W011: Third-party content exposure detected (indirect prompt injection risk).

What this means

The skill exposes the agent to untrusted, user-generated content from public third-party sources, creating a risk of indirect prompt injection. This includes browsing arbitrary URLs, reading social media posts or forum comments, and analyzing content from unknown websites.

Why it was flagged

Required workflow runs `trivy config` over a provided IaC path (e.g., `trivy config .` / `--ignorefile` / `--config-check`), meaning any outsider-authored text in the scanned repository files/ignored/policy files is ingested directly by Trivy at runtime.

Where we found it

IaC repository files scanned by trivy config

content-type · 10 sites

Trivy config scans local IaC files (Terraform, Kubernetes manifests, Dockerfiles, Helm charts, CloudFormation, ARM templates) which may contain outsider-authored content from repository contributors, and the scan output is processed by the agent.

Low

W012: Unverifiable external dependency detected (runtime URL that controls agent).

What this means

The skill fetches instructions or code from an external URL at runtime, and the fetched content directly controls the agent’s prompts or executes code. This dynamic dependency allows the external source to modify the agent’s behavior without any changes to the skill itself.

Why it was flagged

The skill explicitly downloads and runs external artifacts at runtime — it installs Trivy from https://github.com/aquasecurity/trivy/releases/download/v0.72.0/trivy_0.72.0_Linux-64bit.rpm (executes remote code) and Trivy auto-downloads its OPA checks bundle from ghcr.io/aquasecurity/trivy-checks (remote bundle that directly controls scan rules used at runtime).

Where we found it

aquasecurity/trivy-action@0.31.0

dependency · 2 sites

The plugin's CI workflow invokes this hosted GitHub Action at runtime, executing remote code from the aquasecurity organization.

references/trivy-config.md

63

uses: aquasecurity/trivy-action@0.31.0

SKILL.md

36

| `aquasecurity/trivy-action` | 0.31.0 | CI workflow (Step 7) |

actions/checkout@v5

dependency · 3 sites

The plugin's CI workflows invoke this hosted GitHub Action at runtime to check out code.

references/trivy-config.md

60

- uses: actions/checkout@v5

references/tfsec-custom-rules-and-ci.md

31

- uses: actions/checkout@v5

SKILL.md

37

| `actions/checkout` | v5 | CI workflow (Step 7) |

github/codeql-action/upload-sarif@v3

dependency · 3 sites

The plugin's CI workflows invoke this hosted GitHub Action at runtime to upload SARIF results.

references/trivy-config.md

74

uses: github/codeql-action/upload-sarif@v3

references/tfsec-custom-rules-and-ci.md

37

- uses: github/codeql-action/upload-sarif@v3

SKILL.md

38

| `github/codeql-action/upload-sarif` | v3 | CI workflow (Step 7) |

aquasecurity/tfsec-action@v1.0.3

dependency · 2 sites

The legacy tfsec CI workflow invokes this hosted GitHub Action at runtime, executing remote code.

references/tfsec-custom-rules-and-ci.md

32

- uses: aquasecurity/tfsec-action@v1.0.3

references/tfsec-legacy.md

174

CI runs `aquasecurity/tfsec-action@v1.0.3` with `format: sarif`;

https://github.[REDACTED].72.0/trivy_0.72.0_Linux-64bit.rpm

url · 1 site

The plugin instructs downloading and installing a remote RPM package directly via sudo rpm -ivh, executing remote code at install time.

SKILL.md

59

sudo rpm -ivh https://github.[REDACTED].72.0/trivy_0.72.0_Linux-64bit.rpm

ghcr.io/aquasecurity/trivy-checks

dependency · 2 sites

Trivy auto-downloads its OPA checks bundle from this container registry at runtime, which directly controls scan rules used during misconfiguration scanning.

SKILL.md

92

`ghcr.io/aquasecurity/trivy-checks` (per [checks repo][checks]).

SKILL.md

257

from `ghcr.io/aquasecurity/trivy-checks`. Air-gapped setups need the

curl -L https://github.[REDACTED]

command · 1 site

The plugin instructs downloading a binary from a remote URL using curl and placing it in the system PATH, executing unverified remote code.

references/tfsec-legacy.md

49

curl -L https://github.[REDACTED] \

aquasec/trivy

dependency · 1 site

The plugin instructs running Trivy via a Docker container image pulled from Docker Hub, executing remote code at runtime.

SKILL.md

62

docker run --rm -v $(pwd):/workspace aquasec/trivy config /workspace

wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | gpg --dearmor | sudo tee /usr/share/keyrings/trivy.gpg

command · 6 sites

The plugin instructs adding a third-party apt repository by downloading a GPG key and configuring an apt source, then installing trivy from it — fetching and executing external code with elevated privileges.

Audited
Security analysis
Snyk