Shadowaudit: una CLI per detectar APIs ocultes a Express.js

Shadowaudit analitza el teu codi Express.js per detectar rutes no documentades i sense autenticació. Bloqueja el merge abans que arribin a producció. Assegura

miércoles, 29 de julio de 2026 • 5 min de lectura • Equip Q2BSTUDIO

Escanea tu código en busca de rutas no autenticadas

En el desenvolupament de programari modern, la velocitat i l’agilitat són prioritats. Els equips llancen canvis constantment, però aquesta mateixa dinàmica pot obrir portes invisibles a vulnerabilitats. Un dels problemes més silenciosos i perillosos és l’aparició de shadow APIs o API ocultes: endpoints que els desenvolupadors creen per a proves o depuració i que, per oblit o pressió, acaben en producció sense documentació ni autenticació. Aquests punts cecs escapen als escàners de xarxa tradicionals i poden convertir-se en la porta d’entrada per a atacs. Aquí és on entra Shadowaudit, una eina de línia d’ordres dissenyada específicament per detectar aquestes rutes no documentades en projectes Express.js mitjançant anàlisi estàtic del codi.

L’enfocament de Shadowaudit és simple però efectiu: examina la teva base de codi, extreu totes les definicions de rutes reals (per exemple, app.get(), router.post()) i les compara amb la teva especificació OpenAPI 3.x o Swagger 2.0. Si troba una ruta que no està documentada o que manca de middleware d’autenticació, la marca com a crítica o alta segons la configuració. Això permet fallar el pipeline de CI/CD abans que un pull request es fusioni, evitant que aquestes rutes oblidades arribin a producció. L’eina utilitza Babel per a l’anàlisi AST, cosa que li permet entendre fins i tot patrons complexos com l’encadenament de rutes (router.route().get().post()), i un detector d’autenticació que examina una finestra de 15 línies al voltant de cada ruta per identificar middlewares com authenticate(), requireAuth o jwt.verify.

Des d’una perspectiva tècnica, Shadowaudit es converteix en un aliat indispensable per a equips de ciberseguretat que busquen reforçar la postura defensiva de les seves aplicacions. La integració és directa: es pot instal·lar globalment amb npm, executar amb npx sense instal·lació, o afegir com a acció de GitHub. A més, suporta múltiples formats de sortida: taula acolorida per a lectura humana, JSON per a dashboards de CI, i SARIF 2.1.0 per a integració amb GitHub Code Scanning. La configuració es realitza mitjançant un fitxer YAML (.shadowaudit.yml) o mitjançant flags en la línia d’ordres, permetent definir llindars de severitat (critical, high, info) i patrons d’autenticació personalitzats.

En un entorn on les arquitectures cloud com AWS o Azure són comunes, les shadow APIs representen un risc major perquè els balancejadors de càrrega i els tallafocs perimetrals no poden detectar rutes que no coneixen. Si un endpoint de depuració exposa dades sensibles o permet operacions sense autenticar, un atacant podria explotar-lo fàcilment. Shadowaudit actua com un guardià en la fase de desenvolupament, complementant altres eines d’anàlisi dinàmic com escàners de vulnerabilitats o proves de penetració. Per això, a Q2BSTUDIO, quan abordem projectes de aplicacions a mida, recomanem integrar aquest tipus d’eines des del principi, especialment quan s’utilitzen frameworks com Express.js per crear APIs REST.

Més enllà de la detecció, Shadowaudit fomenta bones pràctiques de documentació i autenticació. En obligar que cada ruta estigui reflectida al spec OpenAPI, es reforça la cultura d’API First i es facilita el manteniment. A més, en exigir que totes les rutes tinguin autenticació (a menys que siguin explícitament públiques), es redueix la superfície d’atac. Això és particularment rellevant en projectes que incorporen intel·ligència artificial o agents IA, on els endpoints poden estar exposats a sistemes externs o a usuaris no controlats. A Q2BSTUDIO hem vist com l’automatització de processos amb Power BI i altres eines de BI es beneficia d’APIs segures i documentades, ja que les integracions amb dashboards requereixen dades fiables i protegides.

L’impacte en el cicle de vida del desenvolupament és notable. Amb Shadowaudit, els equips poden adoptar un enfocament de 'seguretat per disseny'. Cada pull request que introdueix una nova ruta ha de passar pel filtre de l’eina. Si la ruta no està al spec, el pipeline falla, i el desenvolupador rep un missatge clar indicant la severitat i la ubicació exacta al codi. Això evita discussions sobre 'això només és temporal' i converteix la seguretat en un requisit no negociable. Els exit codes diferenciats (0 sense troballes, 1 amb troballes crítiques) permeten integrar l’eina en workflows complexos, per exemple combinant-la amb anàlisi de codi estàtic addicional o amb proves d’integració.

Per a empreses que migren al núvol o que desenvolupen plataformes amb múltiples microserveis, la capacitat d’escanejar de forma estàtica cada repositori individual és invaluable. No cal executar l’aplicació ni tenir accés a bases de dades; n’hi ha prou amb el codi font i el spec OpenAPI. Això permet realitzar auditories de seguretat primerenques, fins i tot abans de la primera revisió de codi. A Q2BSTUDIO, per als nostres clients que utilitzen cloud AWS/Azure, sovint configurem pipelines que executen Shadowaudit juntament amb altres eines de ciberseguretat com escàners de dependències o linters de seguretat, garantint una cobertura completa.

En resum, Shadowaudit és una resposta pràctica i eficaç a un problema que assetja molts projectes Express.js. La seva simplicitat d’ús, la integració amb CI/CD i la capacitat de detectar tant rutes no documentades com la manca d’autenticació el converteixen en una peça clau per a qualsevol equip que vulgui evitar sorpreses desagradables en producció. Si treballes amb APIs REST a Node.js, ja sigui en un projecte petit o en una arquitectura empresarial, incloure Shadowaudit al teu flux de treball és un pas intel·ligent cap a una entrega de programari més segura i professional. I si necessites suport per implementar aquestes pràctiques o desenvolupar solucions a mida, a Q2BSTUDIO estem preparats per acompanyar-te.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.