Run date: 2026-09-02 (third run) Overall portfolio: 51% (↓ from 54% — athena added as 7th project, drags overall average) Auditor: DoD agent (scheduled, one-shot)
roomy-mobile: excluded — owner-paused (2026-05-22), skip entirely. auditPic: owner-paused prod — scored on code/CI state only, no prod-outage flag. athena: first audit this run — added to workspace DoD as of 2026-09-01.
| Project | Score | Δ prev | Open dod-violation | |---------|-------|--------|-------------------| | mahmoud-consultancy | 65% | ↔ 65% | 17 open | | valideerleeftijd | 58% | ↔ 58% | 27 open | | europeLogin | 53% | ↔ 53% | 26 open | | developer-portal | 52% | ↔ 52% | 20 open | | claimio | 48% | ↔ 48% | 31 open | | auditPic | 47% | ↔ 47% | 33 open (owner-paused) | | athena | 35% | NEW | 8 open (filed this run #46–#53) |
Repo: mahmoudholding/interimplaza | Namespace: recruitment (LIVE prod)
ci-backend.yml, ci-frontend.yml, zap-scan.yml, backup-verify.yml, deploy-backend.yml, deploy-frontend.yml, pr-validation.yml, rotate-secrets.yml, claude.yml, nightly.yml, secret-scan.ymleffort=Max, threshold=Low, fails buildmvn verifyfailBuildOnCVSS=7 in nightly.yml--audit-level=high in CI.feature files; Testcontainers (not H2)docs/interimplaza/setup.md and docs/interimplaza/api.md presentSystem.out.println, printStackTrace, or @Disabled/@Ignoresrc/: 0 files (issue #1663 was a false positive counting node_modules/ and dist/ — commented on issue 2026-09-02)AnthropicCvExtractionClient.java (453L), JobRepository.java (443L) in main; MercellScraperServiceTest.java (527L), JobMapperTest.java (407L), AiFieldExtractionPersistenceTest.java (401L) in test.jacoco.minimum.coverage=0.89 confirmed in backend/pom.xml.AnthropicCvExtractionClient, AnthropicTemplateClient, ClamdClient — zero @Timed on these classes.@Validated; AdminFeatureFlagController, AdminGemeenteBackfillController, and 2 others confirmed missing.backend/src/main/java/ — verify linkage.Additional open: #1604 no Snyk/Aikido, #1605 4 services missing @CircuitBreaker/@Retry, #1619 prod alerting absent, #1653 MercellScraperServiceTest 527L, #1761 JobMapperTest 407L, #1803 AiFieldExtractionPersistenceTest 401L.
Repo: mahmoudholding/valideerleeftijd | Namespace: valideerleeftijd (pre-launch; no app deploy)
zap-scan.yml, backup-verify.yml, security-gitleaks.yml, security-trivy.ymlfailBuildOnCVSS gatingdocs/setup.md, docs/api.md present@Validated (commented on #296 2026-09-02)fail_action: false confirmed at line 67 of zap-scan.yml — high findings are reported and ignored.@Validated; 4 others fixed.ChangeDetectionStrategy.OnPush across all frontend src/ TS files.backend/pom.xml.Additional open: #255 no alerting, #256 Sonar line 90% not 95%, #260 yiviToken logged, #264 prod sealed secret missing, #267 Testcontainers ITs never run, #268 Angular marketing not Astro, #271 ZAP scans SPA not API, #272 6 controls silently waived, #274 TLS cert stuck, #289 backup-verify never completed, #291 0 @Timed, #292 PlatformTokenController raw Map not DTO, #294 4 test files >400L, #295 TS any without justification, #302 no Snyk/Aikido, #304 IdinService no @Retry.
Repo: mahmoudholding/europeLogin | Namespace: europe-login (pre-launch)
zap-scan.yml, ci-flutter.yml, backup-verify.ymlbackend/pom.xmlmvn verify (jacoco.minimum.coverage=0.90, jacoco.line.minimum.coverage=0.95)docs/setup.md, docs/api.md present; gitleaks present--audit-level=moderate instead of required --audit-level=high (#228 OPEN): confirmed in .github/workflows/ci-frontend.yml — DoD requires --audit-level=high..maestro/ absent from repo root — confirmed.backend/src/main/.Additional open: #234 no post-deploy happy-flow, #235 test files >400L, #238 backup-verify never verified, #244 Dep-Check gates nothing, #245 branch protection gaps, #246 JDK 21 pin vs Java 25 build, #247 alerting dormant, #248 ZAP fail-open -I, #249 CRLF_INJECTION_LOGS blanket-suppressed, #250 nightly targets main not develop, #251 ZAP skipped on develop push, #252 maven-enforcer/spotless absent, #263 Karma 90% not 95%, #266 AuthController missing @Validated, #268 no Snyk/Aikido, #274 maven-enforcer/spotless absent, #276 Flutter coverage no gate.
Repo: mahmoudholding/developer-portal | Static HTML portal (no backend)
ci-frontend.yml, deploy-frontend.yml, zap-scan.yml, pr-validation.yml, nightly.yml, claude.ymlpr-validation.yml (Conventional Commit check)workflow_call triggers (runs via nightly)npm ci --no-audit --no-fund confirmed in ci-frontend.yml — audit gate permanently silenced.add_header inheritance drops all headers on asset responses.docs/ contains only runbooks/ and workspace/ subdirs.Additional open: #57 docs nested setup.md/api.md missing, #76 deploy smoke insufficient, #79 WCAG heading order, #80 skip-to-content missing, #83 ADR link 404, #84 branch protection residuals, #85 retire fleet-health-alert, #88 nightly scans main not develop, #91 fleet cron timing wrong, #93 fleet alert died 40h, #100 error-spike rule misses 35%, #103 FORCE_JAVASCRIPT_ACTIONS_TO_NODE24, #89 ZAP historically dead.
Repo: mahmoudholding/claimio | Namespace: claimio (pre-launch; prod ns empty by design)
maestro-ci.yml, backup-verify.yml, zap-scan.yml, ci-flutter.yml, security-gitleaks.ymlbackend/pom.xml (threshold Low)nightly.ymlsecurity-gitleaks.ymljacoco-maven-plugin present in pom but no check execution goal — mvn verify never enforces coverage floor.docs/ root; docs/ contains only subdirs (claimio/, clamio/, compliance/, runbooks/), none with setup.md/api.md.-I flag confirmed in zap-scan.yml — suppresses all findings.schedule trigger; quarterly rotation never automated.Additional open: #337 MVP first prod deploy, #345 no ADR decisions/, #346 Flutter coverage 85% not 90%, #352 no live verification post-deploy, #353 codemagic 4/5 stages missing, #354 frontend files >400L, #356 OWASP ZAP gate dead, #357 backup-verify never verified, #359 Java 21 vs Java 25, #362 branch protection gaps, #364 frontend unit suites never run in CI, #365 maven-enforcer/spotless absent, #366 response_time_ms never reaches ES, #369 vacuous test, #372 Flutter screen test gap, #375 no CORS in smoke, #387 docs/clamio/api.md missing, #388 console.log in a11y/serve.js, #391 JaCoCo INSTRUCTION not BRANCH, #392 Maestro flows in wrong path, #396 3 test files >400L, #398 no Snyk/Aikido, #402 docs/claimio/api.md missing, #403 docs/claimio/decisions/ missing, #409 Flutter coverage 85%, Flutter coverage: flutter test runs but no MIN_COVERAGE enforcement in codemagic.yaml.
Repo: mahmoudholding/auditPic | Namespace: audit-pic (owner-paused; prod empty by design)
ci-backend.yml, ci-flutter.yml, ci-frontend.yml, deploy-backend.yml, deploy-webapp.yml, maestro-ci.yml, rotate-secrets.yml, backup-verify.yml, secret-scan.yml, pr-validation.ymlaudit-pic-backend/pom.xml (effort=Max)audit-pic-backend/pom.xml (BRANCH only — LINE gate missing per #374/#454).feature files; Testcontainers in integration testsdocs/api.md and docs/setup.md presentMIN_COVERAGE=55 confirmed — DoD requires ≥90%.security-zap.yml has schedule: trigger but no per-PR or workflow_run trigger — ZAP never protects live code on PRs.audit-pic-backend/pom.xml confirms <threshold>Medium</threshold> — DoD requires Low.Additional open: #330 Next.js frontend (DoD requires Angular/Astro), #357 Flutter uses Provider not Riverpod, #404 prod alerting dormant, #410 debugPrint in prod Dart, #413 multiple files >400/300L, #415 Cucumber stub tautological, #423 raw email+link logged, #424 deploy smoke negative-path only, #426 branch protection gaps, #427 7/8 Cucumber features never executed, #428 stale default branch, #429 readiness probe trivial, #431 a11y+npm-audit gates miss main, #432 Dep-Check conditional on pom.xml change, #435 Maestro continue-on-error, #436 webapp vitest specs never run, #437 staging /actuator/health 503, #438 maven-enforcer/spotless absent, #441 analysis_options missing flutter_lints, #442 5 unlinked TODOs, #444 console.log in a11y, #449 15 external calls no @CircuitBreaker/@Retry, #450 0 @Timed, #451 no Snyk/Aikido, #453 ci-flutter.yml no coverage gate.
Repo: mahmoudholding/athena | Namespace: athena (pre-launch; athena-staging has staging deploy)
ci-backend.yml, ci-frontend.yml, deploy-backend.yml, deploy-frontend.yml, pr-validation.yml, secret-scan.yml (gitleaks)backend/pom.xml with failBuildOnCVSS=7 ✓--audit-level=high in ci-frontend.yml ✓System.out.println or printStackTrace in main ✓backend/pom.xml — zero static security analysis on Java code.mvn verify enforces no coverage floor.zap-scan.yml workflow — DAST never runs against athena staging.docs/ has architecture/roadmap/scope/srs/vision but no setup or API reference.Additional filed: #51 zero @Timed + zero @CircuitBreaker/@Retry, #52 Dependency-Check non-blocking (continue-on-error: true, expires 2026-09-09), #53 backup-verify/nightly/rotate-secrets/claude.yml all absent.
| Project | Prev score | Current | Note | |---------|-----------|---------|------| | mahmoud-consultancy | 65% | 65% | Stable; #1663 console.log was false positive (node_modules counted); other violations unchanged | | valideerleeftijd | 58% | 58% | Stable; @Validated partial fix (4/8 controllers done), 4 still missing | | europeLogin | 53% | 53% | Stable; npm audit moderate confirmed, 0 @CB/@Retry/@Timed confirmed | | developer-portal | 52% | 52% | Stable; npm audit disabled confirmed | | claimio | 48% | 48% | Stable; JaCoCo check absent + Flutter coverage ungate confirmed | | auditPic | 47% | 47% | Stable; owner-paused, no active remediation | | athena | — | 35% | NEW — 8 dod-violation issues filed (#46–#53) |
Overall portfolio: 51% (↓ from 54% — athena added as 7th project)
Worst single gap this run: athena has no SpotBugs, no JaCoCo, no ZAP, and zero @PreAuthorize on ANY endpoint — a new production-track AI financial-audit tool with structural security gate gaps across the board. Dependency-Check is also temporarily non-blocking (expires 2026-09-09 per in-code comment). Manager should prioritize resolving #46, #47, #48, #49 on athena before first staging promotion.
Reacties