RepoTrust

centminmod/my-claude-code-setup

Shared starter template configuration and CLAUDE.md memory bank system for Claude Code

https://github.com/centminmod/my-claude-code-setup · commit c0e75920b455 · scored 2026-11-14 · scoring prov-4+qual-2+sec-2

RepoTrust ai badge RepoTrust quality badge RepoTrust security badge

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

Scores

Pillar Score Signal Confidence Coverage
AI provenance (estimated AI-generated share) 0 possible 65% 100%
Code quality 44 poor 90% 100%
Security 78 adequate 85% 100%

AI provenance

Weak signals consistent with AI-assisted development.

Month Lines added Attributed to AI
2026-03 1,974 0%
2026-04 30,511 0%
2026-05 26,746 0%
2026-06 6,208 0%
2026-07 704 0%
2026-09 833 0%
2026-10 96 0%
2026-11 61 0%

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 poor: test-to-source ratio 0.00, no CI test run detected; 58% of function code in complex or long functions; 4% duplicated lines. Weakest area: testing.

Area Score
Complexity (lizard) 17
Duplication 78
Code smells (Opengrep) 74
Tests and CI 10
Documentation 85
Type safety 40
Process (Scorecard review/maintenance) n/a

Most complex functions:

Security

Security posture is adequate: 10 high-severity SAST findings. Weakest area: posture.

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

Top findings

Severity Finding Location
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] .claude/hooks/unified_notifier.py:48
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] .claude/hooks/unified_notifier.py:65
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] .claude/skills/ai-image-creator/scripts/composite-banners.py:161
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] .claude/skills/ai-image-creator/scripts/composite-banners.py:213
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'CompletedProcess' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] .claude/skills/ai-image-creator/scripts/composite-banners.py:219
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] .claude/skills/ai-image-creator/scripts/composite-banners.py:236
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] .claude/skills/ai-image-creator/scripts/composite-banners.py:251
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] .claude/skills/ai-image-creator/scripts/generate-image.py:1621
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] .claude/skills/ai-image-creator/scripts/generate-image.py:1706
high opengrep/python.lang.security.audit.dangerous-subprocess-use-audit: Detected subprocess function 'run' without a static string. If this data can be controlled by a malicious actor, it may be an instance of command injection. Audit the use of this call to ensure it is not controllable by an external resource. You may consider using 'shlex.escape()'. [confidence low] .claude/skills/ai-image-creator/scripts/generate-image.py:1841
medium opengrep/python.lang.security.audit.dynamic-urllib-use-detected: Detected a dynamic value being used with urllib. urllib supports 'file://' schemes, so a dynamic value controlled by a malicious actor may allow them to read arbitrary files. Audit uses of urllib calls to ensure user data cannot control the URLs, or consider using the 'requests' library instead. [confidence low] .claude/skills/ai-image-creator/scripts/generate-image.py:1235
medium opengrep/python.lang.security.insecure-hash-algorithm-sha1: Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium] .claude/skills/session-metrics/scripts/_data.py:360
medium opengrep/python.lang.security.deserialization.avoid-pickle: Avoid using pickle, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low] .claude/skills/session-metrics/scripts/_data.py:394
medium opengrep/python.lang.security.deserialization.avoid-pickle: Avoid using pickle, which is known to lead to code execution vulnerabilities. When unpickling, the serialized data could be manipulated to run arbitrary code. Instead, consider serializing the relevant data as JSON or a similar text-based serialization format. [confidence low] .claude/skills/session-metrics/scripts/_data.py:413
medium opengrep/python.lang.security.insecure-hash-algorithm-sha1: Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium] .claude/skills/session-metrics/scripts/_data.py:427
medium opengrep/python.lang.security.insecure-hash-algorithm-sha1: Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium] .claude/skills/session-metrics/scripts/_turn_parser.py:517
medium opengrep/python.lang.security.insecure-hash-algorithm-sha1: Detected SHA1 hash algorithm which is considered insecure. SHA1 is not collision resistant and is therefore not suitable as a cryptographic signature. Use SHA256 or SHA3 instead. [confidence medium] .claude/skills/session-metrics/scripts/session_metrics_compare.py:157
medium opengrep/python.lang.security.audit.exec-detected: Detected the use of exec(). exec() can be dangerous if used to evaluate dynamic content. If this content can be input from outside the program, this may be a code injection vulnerability. Ensure evaluated content is not definable by external sources. [confidence low] .claude/skills/session-metrics/scripts/session_metrics_compare.py:1543
low opengrep/python.lang.security.use-defusedcsv: Detected the generation of a CSV file using the built-in csv module. If user data is used to generate the data in this file, it is possible that an attacker could inject a formula when the CSV is imported into a spreadsheet application that runs an attacker script, which could steal data from the [confidence low] .claude/skills/session-metrics/scripts/_dispatch.py:1298
low opengrep/python.lang.security.use-defusedcsv: Detected the generation of a CSV file using the built-in csv module. If user data is used to generate the data in this file, it is possible that an attacker could inject a formula when the CSV is imported into a spreadsheet application that runs an attacker script, which could steal data from the [confidence low] .claude/skills/session-metrics/scripts/_md_render.py:301
low opengrep/python.lang.security.use-defusedcsv: Detected the generation of a CSV file using the built-in csv module. If user data is used to generate the data in this file, it is possible that an attacker could inject a formula when the CSV is imported into a spreadsheet application that runs an attacker script, which could steal data from the [confidence low] .claude/skills/session-metrics/scripts/session_metrics_compare.py:2095
low opengrep/python.lang.security.use-defusedcsv: Detected the generation of a CSV file using the built-in csv module. If user data is used to generate the data in this file, it is possible that an attacker could inject a formula when the CSV is imported into a spreadsheet application that runs an attacker script, which could steal data from the [confidence low] .claude/skills/session-metrics/scripts/session_metrics_compare.py:2373

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
Python 31,504
Shell 108

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/centminmod/my-claude-code-setup/ai.svg)](https://repotrust.synapticcyber.com/r/github.com/centminmod/my-claude-code-setup/)
[![RepoTrust quality](https://repotrust.synapticcyber.com/badge/github.com/centminmod/my-claude-code-setup/quality.svg)](https://repotrust.synapticcyber.com/r/github.com/centminmod/my-claude-code-setup/)
[![RepoTrust security](https://repotrust.synapticcyber.com/badge/github.com/centminmod/my-claude-code-setup/security.svg)](https://repotrust.synapticcyber.com/r/github.com/centminmod/my-claude-code-setup/)