← Back to scan
File as GitHub Issue repo: vinayluffy-12/payrollproject

Push this scan report to vinayluffy-12/payrollproject

Click the green button below to open GitHub’s new-issue form, pre-filled with the report title, summary table, top findings, and an embedded score-card image. No authentication needed — you review on GitHub before submitting. Repobility is credited as the scanner.

Embedded score card image

This image will render at the top of the issue body. Hosted on Repobility, refreshes automatically after re-scans.

Repobility score card

Issue title

Workflow uses `secrets.AWS_SECRET_ACCESS_KEY` on a `pull_request` trigger

Curate findings to include

Pick exactly which findings appear in the issue body. By default the top 5 are included. Uncheck noise, check what matters.

Top 5 (default)
Severity Rule Title File:line
CRIT DKC007 Compose service contains a literal secret environment value docker-compose.yml:27
CRIT DKC007 Compose service contains a literal secret environment value docker-compose.yml:4
CRIT MINED116 Workflow uses `secrets.KUBE_CONFIG_PRODUCTION` on a `pull_request` trigger payrollos/.github/workflows/ci-cd.yml:119
CRIT MINED116 Workflow uses `secrets.KUBE_CONFIG_STAGING` on a `pull_request` trigger payrollos/.github/workflows/ci-cd.yml:98
CRIT MINED116 Workflow uses `secrets.AWS_SECRET_ACCESS_KEY` on a `pull_request` trigger payrollos/.github/workflows/ci-cd.yml:59
CRIT MINED116 Workflow uses `secrets.AWS_ACCESS_KEY_ID` on a `pull_request` trigger payrollos/.github/workflows/ci-cd.yml:58
HIGH SEC029 [SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT… payrollos/backend/src/routes/auth.js:221
HIGH SEC135 [SEC135] Auth/permission check missing on AI-generated endpoint: Mutating HTTP endpoint g… payrollos/backend/src/routes/leave.js:32
HIGH SEC135 [SEC135] Auth/permission check missing on AI-generated endpoint: Mutating HTTP endpoint g… payrollos/backend/src/routes/auth.js:14
HIGH SEC135 [SEC135] Auth/permission check missing on AI-generated endpoint: Mutating HTTP endpoint g… payrollos/backend/src/routes/attendance…:47
HIGH DKR014 Dockerfile copies the entire context without .dockerignore payrollos/frontend/Dockerfile:6
HIGH DKR014 Dockerfile copies the entire context without .dockerignore payrollos/fraud-service/Dockerfile:5
HIGH DKR014 Dockerfile copies the entire context without .dockerignore payrollos/backend/Dockerfile:5
HIGH MINED115 Action `azure/k8s-set-context` pinned to mutable ref `@v2` payrollos/.github/workflows/ci-cd.yml:116
HIGH MINED115 Action `actions/checkout` pinned to mutable ref `@v3` payrollos/.github/workflows/ci-cd.yml:113
HIGH MINED115 Action `azure/k8s-set-context` pinned to mutable ref `@v2` payrollos/.github/workflows/ci-cd.yml:95
HIGH MINED115 Action `actions/checkout` pinned to mutable ref `@v3` payrollos/.github/workflows/ci-cd.yml:92
HIGH MINED115 Action `aws-actions/amazon-ecr-login` pinned to mutable ref `@v1` payrollos/.github/workflows/ci-cd.yml:64
HIGH MINED115 Action `aws-actions/configure-aws-credentials` pinned to mutable ref `@v1` payrollos/.github/workflows/ci-cd.yml:56
HIGH MINED115 Action `actions/checkout` pinned to mutable ref `@v3` payrollos/.github/workflows/ci-cd.yml:53
HIGH MINED115 Action `actions/setup-python` pinned to mutable ref `@v4` payrollos/.github/workflows/ci-cd.yml:37
HIGH MINED115 Action `actions/setup-node` pinned to mutable ref `@v3` payrollos/.github/workflows/ci-cd.yml:17
HIGH MINED115 Action `actions/checkout` pinned to mutable ref `@v3` payrollos/.github/workflows/ci-cd.yml:14
HIGH MINED118 Dockerfile FROM `nginx:alpine` not pinned by digest payrollos/frontend/Dockerfile:10
HIGH MINED118 Dockerfile FROM `node:18-alpine` not pinned by digest payrollos/frontend/Dockerfile:2
HIGH MINED118 Dockerfile FROM `python:3.10-slim` not pinned by digest payrollos/fraud-service/Dockerfile:1
HIGH MINED118 Dockerfile FROM `node:18-alpine` not pinned by digest payrollos/backend/Dockerfile:1
HIGH DKC011 Database service publishes a host port docker-compose.yml:17
HIGH DKC011 Database service publishes a host port docker-compose.yml:4
HIGH MINED113 Express PUT /:id/approve has no auth payrollos/backend/src/routes/leave.js:78
HIGH MINED113 Express POST / has no auth payrollos/backend/src/routes/leave.js:32
HIGH MINED113 Express PUT /:id/resolve has no auth payrollos/backend/src/routes/fraud.js:46
HIGH MINED113 Express POST /:id/investigate has no auth payrollos/backend/src/routes/fraud.js:29
HIGH MINED113 Express POST /runs/:id/disburse has no auth payrollos/backend/src/routes/payroll.js:245
HIGH MINED113 Express POST /runs/:id/approve has no auth payrollos/backend/src/routes/payroll.js:211
HIGH MINED113 Express POST /runs/:id/calculate has no auth payrollos/backend/src/routes/payroll.js:70
HIGH MINED113 Express POST /runs has no auth payrollos/backend/src/routes/payroll.js:26
HIGH MINED113 Express POST /generate-ai has no auth payrollos/backend/src/routes/reports.js:104
HIGH MINED113 Express DELETE /:id has no auth payrollos/backend/src/routes/employees.…:225
HIGH MINED113 Express PUT /:id has no auth payrollos/backend/src/routes/employees.…:206
HIGH MINED113 Express POST / has no auth payrollos/backend/src/routes/employees.…:57
HIGH MINED113 Express POST /logout has no auth payrollos/backend/src/routes/auth.js:326
HIGH MINED113 Express POST /refresh has no auth payrollos/backend/src/routes/auth.js:309
HIGH MINED113 Express POST /2fa/verify has no auth payrollos/backend/src/routes/auth.js:240
HIGH MINED113 Express POST /2fa/setup has no auth payrollos/backend/src/routes/auth.js:206
HIGH MINED113 Express POST /forgot-password has no auth payrollos/backend/src/routes/auth.js:172
HIGH MINED113 Express POST /verify-otp has no auth payrollos/backend/src/routes/auth.js:155
HIGH MINED113 Express POST /register has no auth payrollos/backend/src/routes/auth.js:94
HIGH MINED113 Express POST /login has no auth payrollos/backend/src/routes/auth.js:14
HIGH MINED113 Express PUT /:code has no auth payrollos/backend/src/routes/currency.js:44
HIGH MINED113 Express POST /checkout has no auth payrollos/backend/src/routes/attendance…:110
HIGH MINED113 Express POST /checkin has no auth payrollos/backend/src/routes/attendance…:47
HIGH MINED113 Express POST /:id/withdraw has no auth payrollos/backend/src/routes/wallet.js:45
HIGH MINED113 Express PUT /verify/:requestId has no auth payrollos/backend/src/routes/admin.js:26
HIGH MINED112 FastAPI POST /api/v1/fraud/check-run has no auth payrollos/fraud-service/main.py:49
HIGH CORE_NO_TESTS No test files found
MED SEC139 [SEC139] AI-generated migration/route without companion test file: Route or migration tou… payrollos/fraud-service/main.py:48
MED DKR007 Docker build context has no .dockerignore .dockerignore
MED DKC015 Database service has no healthcheck docker-compose.yml:4
MED DKR001 Docker final stage has no non-root USER payrollos/frontend/Dockerfile:10
MED DKR001 Docker final stage has no non-root USER payrollos/fraud-service/Dockerfile:1
MED DKR001 Docker final stage has no non-root USER payrollos/backend/Dockerfile:1
MED JRN005 Compliance or security claim is near a placeholder link payrollos/frontend/src/App.jsx:478
MED JRN005 Compliance or security claim is near a placeholder link payrollos/frontend/src/App.jsx:477
MED JRN005 Compliance or security claim is near a placeholder link payrollos/frontend/src/App.jsx:476
MED JRN005 Compliance or security claim is near a placeholder link payrollos/frontend/src/App.jsx:475
MED JRN005 Compliance or security claim is near a placeholder link payrollos/frontend/src/App.jsx:468
MED JRN005 Compliance or security claim is near a placeholder link payrollos/frontend/src/App.jsx:467
MED JRN005 Compliance or security claim is near a placeholder link payrollos/frontend/src/App.jsx:465
MED JRN005 Compliance or security claim is near a placeholder link payrollos/frontend/src/App.jsx:392
MED CORE_NO_CI No CI/CD configuration found
LOW COMP001 [COMP001] High cognitive complexity: Function `check_payroll_run` has cognitive complexit… payrollos/fraud-service/main.py:49
LOW AIC003 Duplicated implementation block across source files payrollos/backend/api/index.js:4
LOW DKC015 Database service has no healthcheck docker-compose.yml:17
LOW DKC016 App service does not wait for database health docker-compose.yml:27
LOW DKC010 Compose service lacks no-new-privileges hardening docker-compose.yml:64
LOW DKC010 Compose service lacks no-new-privileges hardening docker-compose.yml:50
LOW DKC010 Compose service lacks no-new-privileges hardening docker-compose.yml:27
LOW DKC006 Compose service does not declare a runtime user docker-compose.yml:64
LOW DKC006 Compose service does not declare a runtime user docker-compose.yml:50
LOW DKC006 Compose service does not declare a runtime user docker-compose.yml:27
LOW CORE_NO_LICENSE No LICENSE file
INFO MINED089 [MINED089] Js Always False If: if (false) — branch never taken. Dead code / disabled feat… payrollos/frontend/src/components/TopHe…:102
INFO MINED053 [MINED053] Placeholder Default Username: [email protected] / [email protected] / admin/admin… payrollos/backend/src/routes/employees.…:70
INFO MINED047 [MINED047] Emoji In Source: Emoji ✅ ❌ 🚀 in code/comments — common AI output unless explic… payrollos/backend/src/routes/currency.js:16
INFO MINED044 [MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger … payrollos/backend/src/app.js:40
INFO MINED044 [MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger … payrollos/backend/api/index.js:12
INFO MINED044 [MINED044] Js Console Log Prod: console.log left in code. Should be replaced with logger … api/index.js:12
Reset to top 5 88 findings available (after auto-suppression of test files + won't-fix)

Issue body (markdown)

## Code-quality scan: `vinayluffy-12/payrollproject`

**Score: 55/100 (D+)**  ·  88 findings  ·  scanned 2026-05-28 06:07 UTC  ·  7,224 LOC

| Severity | Count |
|---|---|
| CRITICAL | 6 |
| HIGH | 50 |
| MEDIUM | 15 |
| LOW | 11 |

📊 [Full filterable report](https://repobility.com/scan/5e3a4bfb-9ca7-4f09-bc7e-de3da5e404e0/)  ·  ![scorecard](https://repobility.com/scan/5e3a4bfb-9ca7-4f09-bc7e-de3da5e404e0/report.png?v=1779948477-s2)

### Top findings

1. **CRITICAL** `DKC007` — Compose service contains a literal secret environment value
   `docker-compose.yml:27`
2. **CRITICAL** `DKC007` — Compose service contains a literal secret environment value
   `docker-compose.yml:4`
3. **CRITICAL** `MINED116` — Workflow uses `secrets.KUBE_CONFIG_PRODUCTION` on a `pull_request` trigger
   `payrollos/.github/workflows/ci-cd.yml:119` · ✓ Repobility
4. **CRITICAL** `MINED116` — Workflow uses `secrets.KUBE_CONFIG_STAGING` on a `pull_request` trigger
   `payrollos/.github/workflows/ci-cd.yml:98` · ✓ Repobility
5. **CRITICAL** `MINED116` — Workflow uses `secrets.AWS_SECRET_ACCESS_KEY` on a `pull_request` trigger
   `payrollos/.github/workflows/ci-cd.yml:59` · ✓ Repobility

---

_Filed automatically. Close this issue if not useful — we won't refile. Full report: https://repobility.com/scan/5e3a4bfb-9ca7-4f09-bc7e-de3da5e404e0/_
Premium account
This scan was submitted by a Enterprise-tier account. Premium accounts have full outreach control â Repobility doesn't pre-fill the 'file as GitHub issue' button for paid users. You can still file the issue manually using the markdown body above (Copy markdown), or contact us if you'd like batch-filing enabled for your account.
Megaproject â high spam risk
Could not determine 'vinayluffy-12/payrollproject' star count (GitHub API rate-limited or unreachable). When in doubt about repo size, prefer opening a focused PR or a discussion rather than an issue.

The button opens GitHubâs new-issue page in a new tab. You will see the title + body pre-filled â review, edit if you want, then click GitHubâs "Submit new issue" button. Repobility never posts anything on your behalf.

For real security findings on big repos: use the project's SECURITY.md or private advisory flow instead of a public issue.