Taxpoynt Docs
Compliance
Security Validation Report (Report 2)
Source file: SECURITY_VALIDATION_REPORT_2026-02-21.md
Executive Summary
This is the post-fix validation report for the current SQL injection hardening cycle.
- Report ID:
SEC-REPORT-002 - Status: Post-Fix Validation
- Date: February 21, 2026
- Repository:
platform-clean - Branch:
main - Commit:
ed9a4d2
Validated outcome:
- E2E bootstrapping blocker is resolved for security test execution.
- Real HTTP-level SQLi probes were executed against authenticated SI/AP routes.
- Controlled pentest-style exploit attempts did not produce data exfiltration or auth bypass.
- Static/SAST checks passed in current code state.
- SCA is now executable (not blocked), but dependency vulnerabilities remain open.
Coverage Against Requested Workflow
- Static code review: Completed.
- SAST (automated source scanning): Completed.
- DAST/manual API probing in test environment: Completed.
- Live pentest-style exploit validation: Completed.
Scope
Assessed components:
- API backend under
apps/api. - SI/AP invoice retrieval and AP ingest endpoints at HTTP layer.
- Auth entrypoint behavior under SQLi-like payloads.
- Local dependency vulnerability posture (workspace lockfile audit).
Out of scope:
- External internet-facing staged/production pentest.
- Infrastructure/cloud controls beyond local runtime.
Methodology and Evidence
- Prepared local Postgres-backed test environment and confirmed DB reachability.
- Attempted
prisma migrate deployon fresh DB:- Failed at migration
20260123_add_direct_reporting_support(relation "Buyer" does not exist).
- Failed at migration
- Applied test-only schema synchronization path:
prisma db push --force-reset --accept-data-loss.
- Verified E2E boot path:
test/health.e2e-spec.tspassed (2/2).
- Executed DAST + pentest-style probes:
test/security-dast.e2e-spec.tspassed (4/4).
- Re-ran targeted security regressions:
get-invoice.security.spec.tsingest-ap-invoice.security.spec.tscreate-environment.security.spec.ts- Result: passed (10/10).
- SAST checks:
pnpm --filter @taxpoynt/api run lintpassed.pnpm --filter @taxpoynt/api run typecheckpassed.
- SQL raw-query scan:
rg -n "\$queryRawUnsafe|\$executeRawUnsafe" apps/api/srcreturned no matches.
- SCA:
pnpm audit --prodexecuted successfully (not network-blocked).- Result: 23 vulnerabilities total (1 critical, 9 high, 10 moderate, 3 low).
Findings
F1: SQL Injection Exploitability Not Confirmed in Tested SI/AP HTTP Paths
- Severity: Informational
- Status: Closed for this validation cycle
Validated attack classes:
- SQLi-like auth payloads (login bypass attempts).
- Cross-tenant invoice retrieval attempts on SI/AP.
- SQLi-like invoice ID probes in SI/AP path params.
- SQLi-like AP ingest
invoiceNumberpayload attempts.
Observed behavior:
- Requests were rejected with
400,401, or404as expected. - No unauthorized invoice payload was returned.
- No authentication bypass was observed.
- No unauthorized invoice persistence occurred for SQLi-like AP ingest payload.
F2: E2E Security Boot Blocker Resolved
- Severity: Informational
- Status: Closed
Resolution details:
- E2E env now provides required JWT secrets in
apps/api/test/jest-e2e.env.ts. - Health E2E suite now boots and executes successfully against live Postgres.
F3: Fresh-Database Migration Chain Defect
- Severity: Medium
- Status: Open
Observed failure:
prisma migrate deployon fresh DB fails at migration20260123_add_direct_reporting_support.- Error:
P3018/ERROR: relation "Buyer" does not exist.
Risk:
- Fresh environment reproducibility is brittle.
- Test and deployment pipelines may require fallback schema sync paths.
F4: Dependency Vulnerabilities Remain Open (SCA)
- Severity: High (overall)
- Status: Open
Current audit summary:
- Total: 23 vulnerabilities.
- Severity: 1 critical, 9 high, 10 moderate, 3 low.
- Affected paths include workspace app (
next) and API dependency chains (for examplejws,qs,nodemailer,lodash,undici,js-yaml).
Overall Risk Posture (Report 2)
- SQLi risk in tested SI/AP endpoints: Low
- Residual platform risk: Medium
Residual drivers:
- Open dependency vulnerabilities from SCA.
- Fresh migration chain defect on clean DB bootstrap.
Recommended Next Actions
- Fix migration ordering/dependency issue in
20260123_add_direct_reporting_supportand re-validateprisma migrate deployon an empty DB. - Triage and patch critical/high dependency vulnerabilities first, then moderate.
- Keep
apps/api/test/security-dast.e2e-spec.tsin CI to preserve SQLi exploitability regression coverage. - Re-issue a closure report after migration and dependency remediation are complete.