RepoTrust

Leaderboard github.com

geekcompany/DeerResume

MarkDown在线简历工具,可在线预览、编辑和生成PDF。[此项目已不再维护,建议使用 cv.ftqq.com 替代 ]

  • View repository ↗
  • JavaScript
  • ★ 3,455
  • commit 6f7b09b3adf0
  • scored 2026-11-13
  • scoring prov-4+qual-2+sec-2

AI provenance

0%

none-detected

Confidence
47%
Coverage
100%

Estimated share of AI-generated code. Explicit attribution is a lower bound.

Code quality

40/100

poor

Confidence
90%
Coverage
100%

Complexity, duplication, lint density, tests, CI, docs and review process.

Security

68/100

weak

Confidence
85%
Coverage
100%

Secrets, static analysis, vulnerable dependencies, CI and supply-chain posture.

Scores

Pillar Score Signal Confidence Coverage
AI provenance (estimated AI-generated share) 0 none-detected 47% 100%
Code quality 40 poor 90% 100%
Security 68 weak 85% 100%

AI provenance

No AI attribution or AI-consistent velocity signals detected.

  • Explicitly attributed share (lower bound): 0.0%

  • Unattributed share in AI-consistent velocity bursts: 0.0%

  • Estimated AI-generated share: 0.0%

  • Stylometry index: 0.34 per 1,000 lines (narrated steps 7, placeholders 0, assistant phrasing 0, emoji 0). Reported as a signal, not scored.

Month Lines added Attributed to AI
2014-09 20,398 0%
2014-10 20 0%

Evidence

  • step-by-step narration comment: // First, we save the current length (bower/compon)
  • step-by-step narration comment: // First, attempt to store a copy or reference of any (bower/compon)
  • step-by-step narration comment: // First, look for nested blocks, e.g.: (bower/compon)
  • step-by-step narration comment: // First, handle reference-style links: [link text] [id] (bower/compon)
  • step-by-step narration comment: // Next, inline-style links: link text (bower/compon)
  • step-by-step narration comment: // First, handle reference-style labeled images: ![alt text][id] (bower/compon)
  • step-by-step narration comment: // Next, handle inline images: alt text (bower/compon)

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; 18% of function code in complex or long functions; 21% duplicated lines. Weakest area: testing.

Area Score
Complexity (lizard) 59
Duplication 29
Code smells (Opengrep) 96
Tests and CI 0
Documentation 40
Type safety n/a
Process (Scorecard review/maintenance) n/a
  • Functions: 1,337; mean complexity 3.3, 90th percentile 7; 32 complex and 3 long functions
  • Duplicated lines: 20.9% of 13,713 compared
  • Tests: 0 test lines for 20,404 source lines (ratio 0.00); CI test commands: none detected; 0% of recent source commits also change tests
  • Docs missing or thin: license, contributing, changelog

Most complex functions:

Security

Security posture is weak: 8 high-severity SAST findings. Weakest area: posture.

Area Score
Secrets (gitleaks, tree + history) 100
Static analysis (Opengrep) 61
Vulnerable dependencies (OSV) n/a
CI workflows (zizmor) n/a
Posture (policy, updates, signing, lockfiles) 0
OpenSSF Scorecard n/a
  • Posture checks passed: none; missing: security policy, dependency updates, signed commits, lockfiles

Top findings

Severity Finding Location
high opengrep/javascript.browser.security.insecure-document-method: User controlled data in methods like innerHTML, outerHTML or document.write is an anti-pattern that can lead to XSS vulnerabilities [confidence low] bower/components/angular-sanitize/angular-sanitize.js:403
high opengrep/javascript.browser.security.insecure-innerhtml: User controlled data in a hiddenPre.innerHTML is an anti-pattern that can lead to XSS vulnerabilities [confidence low] bower/components/angular-sanitize/angular-sanitize.js:403
high opengrep/javascript.express.security.audit.remote-property-injection: Bracket object notation with user input is present, this might allow an attacker to access all properties of the object and even it's prototype. Use literal values for object properties. [confidence low] bower/components/jquery/src/dimensions.js:32
high opengrep/javascript.express.security.audit.remote-property-injection: Bracket object notation with user input is present, this might allow an attacker to access all properties of the object and even it's prototype. Use literal values for object properties. [confidence low] bower/components/jquery/src/dimensions.js:33
high opengrep/javascript.browser.security.insecure-document-method: User controlled data in methods like innerHTML, outerHTML or document.write is an anti-pattern that can lead to XSS vulnerabilities [confidence low] bower/components/jquery/src/manipulation.js:220
high opengrep/javascript.browser.security.insecure-innerhtml: User controlled data in a tmp.innerHTML is an anti-pattern that can lead to XSS vulnerabilities [confidence low] bower/components/jquery/src/manipulation.js:220
high opengrep/javascript.browser.security.insecure-document-method: User controlled data in methods like innerHTML, outerHTML or document.write is an anti-pattern that can lead to XSS vulnerabilities [confidence low] bower/components/jquery/src/manipulation.js:429
high opengrep/javascript.browser.security.insecure-innerhtml: User controlled data in a elem.innerHTML is an anti-pattern that can lead to XSS vulnerabilities [confidence low] bower/components/jquery/src/manipulation.js:429
medium opengrep/javascript.lang.security.audit.detect-non-literal-regexp: RegExp() called with a path 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] bower/components/angular-route/angular-route.js:207
medium opengrep/javascript.jquery.security.audit.prohibit-jquery-html: JQuery's html function is susceptible to Cross Site Scripting (XSS) attacks. If you're just passing text, consider text instead. Otherwise, use a function that escapes HTML such as edX's HtmlUtils.setHtml(). [confidence low] bower/components/angular-route/angular-route.js:905
medium opengrep/javascript.lang.security.audit.detect-non-literal-regexp: RegExp() called with a type 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] bower/components/bootstrap/grunt/bs-raw-files-generator.js:21
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument fullPath 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] bower/components/bootstrap/grunt/bs-raw-files-generator.js:25
medium opengrep/javascript.lang.security.audit.detect-non-literal-fs-filename: Detected that function argument fullPath 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] bower/components/bootstrap/grunt/bs-raw-files-generator.js:25
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector: User controlled data in a $(...) is an anti-pattern that can lead to XSS vulnerabilities [confidence low] bower/components/bootstrap/js/affix.js:19
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector: User controlled data in a $(...) is an anti-pattern that can lead to XSS vulnerabilities [confidence low] bower/components/bootstrap/js/affix.js:23
medium opengrep/javascript.lang.security.audit.unsafe-dynamic-method: Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low] bower/components/bootstrap/js/affix.js:106
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector: User controlled data in a $(...) is an anti-pattern that can lead to XSS vulnerabilities [confidence low] bower/components/bootstrap/js/alert.js:18
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector: User controlled data in a $(...) is an anti-pattern that can lead to XSS vulnerabilities [confidence low] bower/components/bootstrap/js/button.js:17
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector: User controlled data in a $(...) is an anti-pattern that can lead to XSS vulnerabilities [confidence low] bower/components/bootstrap/js/button.js:104
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector: User controlled data in a $(...) is an anti-pattern that can lead to XSS vulnerabilities [confidence low] bower/components/bootstrap/js/carousel.js:17
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector: User controlled data in a $(...) is an anti-pattern that can lead to XSS vulnerabilities [confidence low] bower/components/bootstrap/js/carousel.js:75
medium opengrep/javascript.lang.security.audit.unsafe-dynamic-method: Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low] bower/components/bootstrap/js/carousel.js:103
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector: User controlled data in a $(...) is an anti-pattern that can lead to XSS vulnerabilities [confidence low] bower/components/bootstrap/js/carousel.js:130
medium opengrep/javascript.lang.security.audit.unsafe-dynamic-method: Using non-static data to retrieve and run functions from the object is dangerous. If the data is user-controlled, it may allow executing arbitrary code. [confidence low] bower/components/bootstrap/js/carousel.js:175
medium opengrep/javascript.jquery.security.audit.jquery-insecure-selector: User controlled data in a $(...) is an anti-pattern that can lead to XSS vulnerabilities [confidence low] bower/components/bootstrap/js/carousel.js:201

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

  • Source lines: 20,404; test lines: 0
Language Lines
JavaScript 20,374
PHP 30

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