RepoTrust

TfTHacker/timeline-for-bases

Timeline view for Bases in Obsidain

https://github.com/TfTHacker/timeline-for-bases · commit f72f35d78711 · 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) 1 possible 65% 100%
Code quality 64 weak 90% 100%
Security 66 weak 85% 100%

AI provenance

Weak signals consistent with AI-assisted development. 1 commit(s) carry explicit AI attribution, too few to characterize the codebase.

AI tool Attributed commits Lines added
Claude Code 1 64

Current source lines last changed by AI-attributed commits: 34 of 4,315.

Too few lines in one group to compare finding densities.

Month Lines added Attributed to AI
2026-03 6,330 1%
2026-04 1,472 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 weak: test-to-source ratio 0.10, no CI test run detected; 14% of function code in complex or long functions; 3% duplicated lines. Weakest area: testing.

Area Score
Complexity (lizard) 66
Duplication 84
Code smells (Opengrep) 56
Tests and CI 41
Documentation 85
Type safety 100
Process (Scorecard review/maintenance) n/a

Most complex functions:

Security

Security posture is weak: 15 known vulnerabilities in 5 dependencies; 4 high-severity workflow issues. Weakest area: posture.

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

Top findings

Severity Finding Location
high osv/GHSA-3jxr-9vmj-r5cp: [email protected] (npm) is affected by GHSA-3jxr-9vmj-r5cp package-lock.json
high osv/GHSA-6j4f-fj2g-mc7p: [email protected] (npm) is affected by GHSA-6j4f-fj2g-mc7p package-lock.json
high osv/GHSA-mh99-v99m-4gvg: [email protected] (npm) is affected by GHSA-mh99-v99m-4gvg package-lock.json
high osv/GHSA-qhr7-859c-m2p7: [email protected] (npm) is affected by GHSA-qhr7-859c-m2p7 package-lock.json
high osv/GHSA-rgw5-rvv9-x895: [email protected] (npm) is affected by GHSA-rgw5-rvv9-x895 package-lock.json
high osv/GHSA-rf6f-7fwh-wjgh: [email protected] (npm) is affected by GHSA-rf6f-7fwh-wjgh package-lock.json
high osv/GHSA-2883-xcg3-v3hh: [email protected] (npm) is affected by GHSA-2883-xcg3-v3hh package-lock.json
high osv/GHSA-52cp-r559-cp3m: [email protected] (npm) is affected by GHSA-52cp-r559-cp3m package-lock.json
high osv/GHSA-5p4m-2wfm-xmqj: [email protected] (npm) is affected by GHSA-5p4m-2wfm-xmqj package-lock.json
high osv/GHSA-c2c7-rcm5-vvqj: [email protected] (npm) is affected by GHSA-c2c7-rcm5-vvqj package-lock.json
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/release.yml:20
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/release.yml:23
high zizmor/unpinned-uses: unpinned action reference [confidence high] .github/workflows/release.yml:51
high zizmor/cache-poisoning: runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low] .github/workflows/release.yml:23
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument dirPath 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] scripts/push-to-nexus.mjs:13
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] scripts/push-to-nexus.mjs:17
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] scripts/push-to-nexus.mjs:18
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument filename 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] scripts/push-to-nexus.mjs:20
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument filename 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] scripts/push-to-nexus.mjs:24
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument filename 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] scripts/push-to-nexus.mjs:24
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument watchPath 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] scripts/watch.mjs:58
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument watchPath 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] scripts/watch.mjs:59
medium opengrep/javascript.lang.security.audit.detect-non-literal-regexp: RegExp() called with a indent function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user-controll [confidence low] src/timeline-base-yaml.ts:35
medium opengrep/javascript.lang.security.audit.detect-non-literal-regexp: RegExp() called with a indent function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user-controll [confidence low] src/timeline-base-yaml.ts:60
medium opengrep/javascript.lang.security.audit.detect-non-literal-regexp: RegExp() called with a key function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user-controlled [confidence low] src/timeline-view.ts:611

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
TypeScript 4,463
JavaScript 233
Shell 31

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/TfTHacker/timeline-for-bases/ai.svg)](https://repotrust.synapticcyber.com/r/github.com/TfTHacker/timeline-for-bases/)
[![RepoTrust quality](https://repotrust.synapticcyber.com/badge/github.com/TfTHacker/timeline-for-bases/quality.svg)](https://repotrust.synapticcyber.com/r/github.com/TfTHacker/timeline-for-bases/)
[![RepoTrust security](https://repotrust.synapticcyber.com/badge/github.com/TfTHacker/timeline-for-bases/security.svg)](https://repotrust.synapticcyber.com/r/github.com/TfTHacker/timeline-for-bases/)