Security Scanning & Reports

Validation Rules Engine applies layered security controls before packages are published and while the developer platform is maintained. The goal is to identify known dependency vulnerabilities, source-code security issues, exposed secrets, and (optionally) runtime web issues—not to claim the software is free of all vulnerabilities.

Public packages covered

PackageRole
@validation-rules-engine/coreFramework-neutral engine
@validation-rules-engine/angularAngular adapter
@validation-rules-engine/reactReact adapter

All three share a synchronized version and are published together with npm provenance after release gates succeed.

Security layers

LayerToolingWhere it runs
SASTGitHub CodeQL, SemgrepCodeQL in CI (.github/workflows/codeql.yml); Semgrep locally and in CI
SCAnpm audit, OWASP Dependency-CheckLocal security profiles, CI, release gate
SecretsGitleaksLocal and CI
Supply chainCycloneDX SBOMLocal, CI, release
DASTOWASP ZAP (optional)Explicit workflow / npm run security:zap against a running site
Processrelease:security / release:verifyBefore pack or publish

Code generated or assisted by AI is treated as ordinary application code and must pass the same controls.

How packages stay compliant

Before npm publish (local or tagged GitHub release):

  1. Release security gate — npm audit (moderate+), Gitleaks, Semgrep, Dependency-Check when available, SBOM.
  2. Quality gates — version sync, lint, unit tests, coverage reports, single-host build, hosting navigation checks.
  3. Package inspection — verifies publishable artifacts do not include secrets, private docs, or unexpected paths.
  4. Provenance — CI publish uses npm trusted publishing / OIDC provenance.

Thresholds and profiles live in tools/security/config/security-policy.json. Disclosure process: SECURITY.md.

Hosted Security report

The portal Reports → Security page (/security/) shows the latest published security summary alongside Tests & Coverage and Automation Testing.

npm run security:full
npm run security:portal-data   # also run automatically by evidence:publish
npm run evidence:publish

Evidence is stored under hosted/evidence/security/ (scanner outputs plus portal-data/latest.json). The live page reads /api/security/latest and links artifacts under /security/artifacts/.

CodeQL results remain in the GitHub Security / code scanning UI; the hosted page documents CodeQL as a CI control and surfaces local/CI scanner artifacts that are published as evidence.

Commands

npm run security:quick       # developer scan
npm run security:full        # broader scan + SBOM
npm run security:ci          # CI profile
npm run release:security     # strictest pre-publish gate
npm run security:portal-data # rebuild portal summary JSON

See npm Scripts Guide, Release & Versioning, and tools/security/README.md for installation (Gitleaks, Semgrep, Docker / NVD API key) and false-positive handling.

Continue in the live platform

Open PortalLaunch documentation and every showcase from one place →Open Vanilla JS ShowcaseCore policies without framework adapters →Open Angular ShowcaseAngular forms and state integrations →Open React ShowcaseReact hooks and state integrations →