RepoTrust

antonbabenko/terraform-skill

Terraform & OpenTofu Skill for AI Agents - testing, modules, CI/CD, and production patterns

https://github.com/antonbabenko/terraform-skill · commit 9c1e92d962a5 · scored 2026-11-14 · scoring prov-4+qual-2+sec-2

unreviewed-ai-risk

RepoTrust ai badge RepoTrust quality badge RepoTrust security badge

Dispute this score or request a re-score Full report JSON

Scores

Unreviewed AI code risk: a large share of this code is explicitly AI-attributed, and its tests or review process are weak while quality or security scores are low.

Pillar Score Signal Confidence Coverage
AI provenance (estimated AI-generated share) 61 explicit 85% 100%
Code quality 77 adequate 90% 100%
Security 52 weak 85% 100%

AI provenance

Explicit AI attribution on 61% of first-party code added; an estimated 61% including velocity signals.

AI tool Attributed commits Lines added
Claude Code 1 191

Current source lines last changed by AI-attributed commits: 191 of 310.

Too few lines in one group to compare finding densities.

Month Lines added Attributed to AI
2026-05 311 61%

Evidence

AI provenance describes how code was produced; it is not a quality judgment. Unless attribution is explicit, these are signals consistent with AI generation, not proof. Squash/rebase workflows, imported code, and rewritten history reduce accuracy.

Code quality

Code quality is adequate: test-to-source ratio 0.00, no CI test run detected; 0% of function code in complex or long functions; 0% duplicated lines. Weakest area: testing.

Area Score
Complexity (lizard) 100
Duplication 100
Code smells (Opengrep) 94
Tests and CI 25
Documentation 100
Type safety n/a
Process (Scorecard review/maintenance) n/a

Security

Security posture is weak: 1 high-severity SAST findings; 9 high-severity workflow issues. Weakest area: ci actions.

Area Score
Secrets (gitleaks, tree + history) 100
Static analysis (Opengrep) 23
Vulnerable dependencies (OSV) n/a
CI workflows (zizmor) 17
Posture (policy, updates, signing, lockfiles) 40
OpenSSF Scorecard n/a

Top findings

Severity Finding Location
high opengrep/javascript.lang.security.detect-child-process: Detected calls to child_process from a function argument props. This could lead to a command injection if the input is user controllable. Try to avoid calls to child_process, and if it is needed ensure user input is correctly sanitized or sandboxed. [confidence low] .github/release/pre-commit.js:125
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/automated-release.yml:42
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/automated-release.yml:65
high zizmor/dangerous-triggers: use of fundamentally insecure workflow trigger [confidence medium] .github/workflows/pr-title-lint.yml:19
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/pr-title-lint.yml:40
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/tag-release.yml:28
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/tag-release.yml:85
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/validate.yml:31
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/validate.yml:34
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/validate.yml:252
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument root has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low] .github/release/build-power.js:81
medium opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal: Detected possible user input going into a path.join or path.resolve function. This could possibly lead to a path traversal vulnerability, where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low] .github/release/build-power.js:81
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument root has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low] .github/release/build-power.js:85
medium opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal: Detected possible user input going into a path.join or path.resolve function. This could possibly lead to a path traversal vulnerability, where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low] .github/release/build-power.js:85
medium opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal: Detected possible user input going into a path.join or path.resolve function. This could possibly lead to a path traversal vulnerability, where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low] .github/release/pre-commit.js:46
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument root has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low] .github/release/pre-commit.js:47
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument root has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low] .github/release/pre-commit.js:50
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument root has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low] .github/release/pre-commit.js:67
medium opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal: Detected possible user input going into a path.join or path.resolve function. This could possibly lead to a path traversal vulnerability, where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low] .github/release/pre-commit.js:76
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument root has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low] .github/release/pre-commit.js:77
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument root has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low] .github/release/pre-commit.js:80
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument root has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low] .github/release/pre-commit.js:87
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument root has entered the fs module. An attacker could potentially control the location of this file, to include going backwards in the directory with '../'. To address this, ensure that user-controlled variables in file paths are validated. [confidence low] .github/release/pre-commit.js:95
medium opengrep/javascript.lang.security.audit.path-traversal.path-join-resolve-traversal: Detected possible user input going into a path.join or path.resolve function. This could possibly lead to a path traversal vulnerability, where the attacker can access arbitrary files stored in the file system. Instead, be sure to sanitize or validate user input first. [confidence low] .github/release/pre-commit.js:95
medium zizmor/artipacked: credential persistence through GitHub Actions artifacts [confidence low] .github/workflows/validate.yml:30

Static signals only: the scorer never runs the project's code. Secret findings are pattern matches that were not verified, and secret values are never stored.

Repository profile

Language Lines
JavaScript 310

Embed a badge

Maintainers can show these in a README. Badges update when the repository is re-scored.

[![RepoTrust ai](https://repotrust.synapticcyber.com/badge/github.com/antonbabenko/terraform-skill/ai.svg)](https://repotrust.synapticcyber.com/r/github.com/antonbabenko/terraform-skill/)
[![RepoTrust quality](https://repotrust.synapticcyber.com/badge/github.com/antonbabenko/terraform-skill/quality.svg)](https://repotrust.synapticcyber.com/r/github.com/antonbabenko/terraform-skill/)
[![RepoTrust security](https://repotrust.synapticcyber.com/badge/github.com/antonbabenko/terraform-skill/security.svg)](https://repotrust.synapticcyber.com/r/github.com/antonbabenko/terraform-skill/)