geekcompany/DeerResume
MarkDown在线简历工具,可在线预览、编辑和生成PDF。[此项目已不再维护,建议使用 cv.ftqq.com 替代 ]
- Repository: https://github.com/geekcompany/DeerResume
- Commit:
6f7b09b3adf07c0fc1be0ff964cbe36af5676502 - Generated: 2026-11-13T23:25:03+00:00
- Scorer 0.1.0, scoring prov-4+qual-2+sec-2, report schema v2
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:
(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:
- trigger in bower/components/jquery/src/event.js: complexity 52, 87 lines
- (anonymous) in bower/components/jquery/src/sizzle/dist/sizzle.js: complexity 45, 52 lines
- Sizzle in bower/components/jquery/src/sizzle/dist/sizzle.js: complexity 39, 78 lines
- defaultPrefilter in bower/components/jquery/src/effects.js: complexity 35, 78 lines
- remove in bower/components/jquery/src/event.js: complexity 34, 52 lines
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 |