The repository could not be structurally verified. Basic structural requirements were not met.
[](https://altermenta.com/c/NV-6e1d35)
<a href="https://altermenta.com/c/NV-6e1d35"><img src="https://altermenta.com/badge/6e1d35a3951a873a.svg" alt="Nucleus Verified"/></a>
https://altermenta.com/badge/6e1d35a3951a873a.svg
Structural detection only. Not a formal compliance assessment. View all frameworks →
... and 19 more findings
Failed gates: build. No structural verification could be confirmed. Structural integrity: no critical gaps detected.
authenticate examples/auth/index.js:60restrict examples/auth/index.js:75format examples/content-negotiation/index.js:33error examples/error/index.js:20list examples/online/index.js:40loadUser examples/route-middleware/index.js:25andRestrictToSelf examples/route-middleware/index.js:36andRestrictTo examples/route-middleware/index.js:50initializeRedis examples/search/index.js:29GithubView examples/view-constructor/github-view.js:23ferrets examples/view-locals/index.js:17count examples/view-locals/index.js:48users examples/view-locals/index.js:56count2 examples/view-locals/index.js:86users2 examples/view-locals/index.js:94index.jsexamples/auth/index.jsexamples/content-negotiation/index.jsexamples/cookie-sessions/index.jsexamples/cookies/index.jsexamples/downloads/index.jsexamples/ejs/index.jsexamples/error/index.jsexamples/error-pages/index.jsexamples/hello-world/index.js40 application routes across 50 controller(s)
| Method | Path | File |
|---|---|---|
| GET | /user/:id | History.md:3240 |
| GET | / | Readme.md:39 |
| GET | /restricted | examples/auth/index.js:88 |
| GET | /logout | examples/auth/index.js:92 |
| GET | /login | examples/auth/index.js:100 |
| POST | /login | examples/auth/index.js:104 |
| GET | /users | examples/content-negotiation/index.js:40 |
| GET | /forget | examples/cookies/index.js:34 |
| POST | / | examples/cookies/index.js:39 |
| GET | /files/*file | examples/downloads/index.js:26 |
| GET | env | examples/error/index.js:10 |
| GET | /next | examples/error/index.js:34 |
| GET | /404 | examples/error-pages/index.js:34 |
| GET | /403 | examples/error-pages/index.js:41 |
| GET | /500 | examples/error-pages/index.js:48 |
| GET | /fail | examples/markdown/index.js:36 |
| GET | /user/:user | examples/params/index.js:55 |
| GET | /users/:from-:to | examples/params/index.js:63 |
| GET | /user/:id/edit | examples/route-middleware/index.js:78 |
| DELETE | /user/:id | examples/route-middleware/index.js:82 |
| Method | Path | File |
|---|---|---|
| GET | /user/:id/view | examples/route-separation/index.js:43 |
| PUT | /user/:id/edit | examples/route-separation/index.js:45 |
| GET | /posts | examples/route-separation/index.js:49 |
| GET | /search/{:query} | examples/search/index.js:52 |
| GET | /client.js | examples/search/index.js:69 |
| GET | /Readme.md | examples/view-constructor/index.js:39 |
| GET | /middleware | examples/view-locals/index.js:64 |
| GET | /middleware-locals | examples/view-locals/index.js:102 |
| GET | /api/users | examples/web-service/index.js:75 |
| GET | /api/repos | examples/web-service/index.js:80 |
| GET | /api/user/:name/repos | examples/web-service/index.js:85 |
| GET | query parser fn | lib/request.js:231 |
| GET | trust proxy fn | lib/request.js:301 |
| GET | subdomain offset | lib/request.js:388 |
| GET | etag fn | lib/response.js:161 |
| GET | json escape | lib/response.js:235 |
| GET | json replacer | lib/response.js:236 |
| GET | json spaces | lib/response.js:237 |
| GET | jsonp callback name | lib/response.js:267 |
| GET | /user/:uid/photos/:file | lib/response.js:355 |
Test-referenced routes: 44 (excluded from primary surface)
No data models detected
examples/auth/index.js:84 app.get('/', function(req, res){examples/auth/index.js:88 app.get('/restricted', restrict, function(req, res){examples/auth/index.js:92 app.get('/logout', function(req, res){examples/auth/index.js:100 app.get('/login', function(req, res){examples/auth/index.js:104 app.post('/login', function (req, res, next) {test/Route.js:9 describe('Route', function(){test/Route.js:10 it('should work without handlers', function(done) {test/Route.js:16 it('should not stack overflow with a large sync stack', function (done) {test/Route.js:47 describe('.all', function(){test/Route.js:48 it('should add handler', function(done){examples/auth/index.js:61 if (!module.parent) console.log('authenticating %s:%s', name, pass);examples/auth/index.js:133 console.log('Express started on port 3000');examples/content-negotiation/index.js:45 console.log('Express started on port 3000');examples/cookie-sessions/index.js:24 console.log('Express started on port 3000');examples/cookies/index.js:52 console.log('Express started on port 3000');examples/cookies/index.js:13 if (process.env.NODE_ENV !== 'test') app.use(logger(':method :url'))examples/error-pages/index.js:11 var silent = process.env.NODE_ENV === 'test'examples/route-map/index.js:10 var verbose = process.env.NODE_ENV !== 'test'lib/application.js:91 var env = process.env.NODE_ENV || 'development';test/app.js:76 this.env = process.env.NODE_ENVexamples/search/index.js:56 .catch((err) => {44 dependencies from npm
No claims to verify
No claims analyzed
No structural analysis available
Add assertions (assert, assertEqual, expect, etc.) to each test function to validate expected behavior.
Assertion-less tests inflate the test count without verifying functionality
Fix syntax errors in source files. Run a linter or compiler to identify issues.
Gate 'build' failure reduces trust score by 15 points
Generate a lockfile (pip freeze > requirements.txt, npm install, cargo build) for deterministic builds.
Lockfiles ensure deterministic builds and prevent supply chain attacks via version drift
SF-3AB94AAdd request validation to mutating endpoints.
Structural integrity check 'input_without_validation' flagged this issue
SF-AC641FAdd request validation to mutating endpoints.
Structural integrity check 'input_without_validation' flagged this issue
SF-C32EC9Add request validation to mutating endpoints.
Structural integrity check 'input_without_validation' flagged this issue
SF-BB1C34Wrap database writes in transaction blocks with error handling.
Structural integrity check 'writes_without_error_handling' flagged this issue
SF-6053DFWrap database writes in transaction blocks with error handling.
Structural integrity check 'writes_without_error_handling' flagged this issue
SF-90C3A4Wrap database writes in transaction blocks with error handling.
Structural integrity check 'writes_without_error_handling' flagged this issue
SF-9F0A1BWrap database writes in transaction blocks with error handling.
Structural integrity check 'writes_without_error_handling' flagged this issue
SF-E11774Wrap database writes in transaction blocks with error handling.
Structural integrity check 'writes_without_error_handling' flagged this issue
SF-63F4AFVerify that declared dependencies and config values are actually used.
Structural integrity check 'dependency_without_usage' flagged this issue
SF-4B259AVerify that declared dependencies and config values are actually used.
Structural integrity check 'dependency_without_usage' flagged this issue
SF-87B2CDVerify that declared dependencies and config values are actually used.
Structural integrity check 'dependency_without_usage' flagged this issue
SF-D74C37Verify that declared dependencies and config values are actually used.
Structural integrity check 'dependency_without_usage' flagged this issue
SF-3AB94A [input_without_validation]Add request validation to mutating endpoints.
Files: examples/auth/index.js
SF-AC641F [input_without_validation]Add request validation to mutating endpoints.
Files: examples/cookies/index.js
SF-C32EC9 [input_without_validation]Add request validation to mutating endpoints.
Files: examples/route-separation/index.js
SF-BB1C34 [writes_without_error_handling]Wrap database writes in transaction blocks with error handling.
Files: lib/application.js
SF-6053DF [writes_without_error_handling]Wrap database writes in transaction blocks with error handling.
Files: lib/application.js
SF-90C3A4 [writes_without_error_handling]Wrap database writes in transaction blocks with error handling.
Files: lib/application.js
SF-9F0A1B [writes_without_error_handling]Wrap database writes in transaction blocks with error handling.
Files: lib/application.js
SF-E11774 [writes_without_error_handling]Wrap database writes in transaction blocks with error handling.
Files: lib/application.js
SF-63F4AF [dependency_without_usage]Verify that declared dependencies and config values are actually used.
Files: examples/cookies/index.js
SF-4B259A [dependency_without_usage]Verify that declared dependencies and config values are actually used.
Files: examples/error-pages/index.js
| Severity | Location | Description | CWE |
|---|---|---|---|
| INFO | examples/auth/index.js:61 | Sensitive data in console.log — may leak to production logs | CWE-532 |
| INFO | examples/auth/index.js:70 | String comparison on secret — use crypto.timingSafeEqual() | CWE-208 |
| INFO | examples/auth/index.js:100 | Auth route without visible rate limiter — apply rate limiting middleware | CWE-307 |
| INFO | examples/auth/index.js:104 | Auth route without visible rate limiter — apply rate limiting middleware | CWE-307 |
| INFO | examples/cookies/index.js:43 | Cookie set without secure/httpOnly flags | CWE-614 |
| MEDIUM | lib/response.js:733 | Cookie set without secure/httpOnly flags | CWE-614 |
| HIGH | lib/response.js:744 | Secret in .env file — use placeholder and set in deployment | CWE-798 |
| INFO | test/req.signedCookies.js:16 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.append.js:89 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:13 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:28 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:41 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:42 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:43 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:59 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:74 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:89 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:105 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:119 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:135 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:148 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:163 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:178 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:193 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:207 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:221 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:235 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:252 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:269 | Cookie set without secure/httpOnly flags | CWE-614 |
| INFO | test/res.cookie.js:285 | Cookie set without secure/httpOnly flags | CWE-614 |
examples/ejs/views/header.html:1 — Missing ARIA landmark roles (WCAG-1.3.1)examples/search/public/index.html:17 — Form input without aria-label or associated label (WCAG-1.3.1)examples/search/public/index.html:1 — Missing ARIA landmark roles (WCAG-1.3.1)Supersedes proof 464c09a2556c7d26 (was UNVERIFIED)
158 files analyzed · Languages: JavaScript
464c09a2556c6e1d35a3951a2 verification runs tracked
Log in to report a false positive finding.