Auditoría AUD-2026-0821-MN
Hallazgos, remediación verificada y evidencia criptográfica · marketnow.site · auditoría original 2026-08-19
14/14 hallazgos FIXED y re-verificados 2026-09-25 Sustituida por AUD-2026-0925 Re-auditoría programada: 2026-12-25Esta página existe para cerrar el hallazgo F-14 de la auditoría original («la auditoría no está públicamente cerrada»): aquí está cada hallazgo con su commit de fix, su verificador reproducible y el PDF de la auditoría con su SHA-256. La auditoría externa de agosto documentó 14 hallazgos que quedaron «cerrados» en su momento de forma cosmética; el 25 de septiembre de 2026 se ejecutó un plan de remediación de 5 fases con gates, se re-verificó cada hallazgo contra la superficie viva del sitio, y AUD-2026-0925 reemplazó el estado anterior con evidencia fresca.
1. Los 14 hallazgos y su remedio
| ID | Sev. | Hallazgo | Estado | Fix | Verificador (re-verificado 2026-09-25) |
|---|---|---|---|---|---|
| F-01 | crítico | Cloaking: contenido oculto servido solo a Googlebot | fixed | 0b764d92 | grep 'seo-only|Googlebot|hidden from humans' → 0 en la landing viva |
| F-02 | crítico | El modelo de precio se contradice con su fuente canónica | fixed | cd6736c9 | pricing.json / policies.json / agent.json consistentes entre sí |
| F-03 | alto | «8,288 verified safe» no cuadra con pass rate del 53.3% | fixed | cd6736c9 | copy ahora dice «index-certified» + cifra real de L2 (885 clean de 2,839) |
| F-04 | alto | Plantilla rota {count} y texto duplicado «pipeline pipeline» | fixed | cd6736c9 | grep '{count}' y 'pipeline pipeline' → 0 en superficies públicas |
| F-05 | alto | «9,248 free skills» pero el catálogo real difiere | fixed | feaabaf2 | /api/stats.json computa free=68,387 en vivo desde el bundle |
| F-06 | medio | skills.json pesa ~24 MB (llegó a 94 MB) | fixed | 7598df77 | dump eliminado; manifiesto de deprecación 761 B; gate anti-regresión en prebuild/CI |
| F-07 | alto | Landing vende free, agent.json dice que buyers nunca pagan | fixed | cd6736c9 | mensaje unificado: instalación free, monetización vía comisiones/ATC |
| F-08 | alto | Enlace «Browse all 9,248 free skills» roto | fixed | cd6736c9 | enlace apunta al catálogo paginado real |
| F-09 | alto | Comentario «redeploy trigger: new GitHub token» en HTML | fixed | cd6736c9 | grep → 0 |
| F-10 | medio | Paquetes npm verificables | fixed | cd6736c9 | marketnow-mcp 1.14.1 = endpoint = stats (npm registry verificado) |
| F-11 | medio | Wallet hardcodeada en agent.json | fixed | cd6736c9 | wallet declarada como campo de configuración documentado |
| F-12 | medio | Cifras duplicadas en 5+ sitios | fixed | feaabaf2 | homepage renderiza desde /api/stats.json (cero números pegados) |
| F-13 | medio | Versión Sentinel inconsistente (L1.5 vs L2.5) | fixed | cd6736c9 | todo refiere a Sentinel v3.0 con esta página como spec pública |
| F-14 | medio | Auditoría F1-F8 no públicamente cerrada | fixed | feaabaf2 | esta página + audit-status.json + PDF con SHA-256 (ver §2) |
2. PDF de la auditoría + integridad
| SHA-256 | 8d7c0597432200068cc5b41b64246b609e12829f401b01c50339ff0f2481912b |
| Cómo verificar | curl -s https://www.marketnow.site/AUDIT_REPORT.pdf | sha256sum |
| Nota | PDF de la auditoría original (evidencia base de los 14 hallazgos). AUD-2026-0925 añade evidencia fresca inline y en el repositorio. |
Durante 5 semanas el «PDF 200» que reportaba el verificador era en realidad el HTML del catch-all SPA (falso positivo). El binario real se publicó en la Fase 2 de la remediación (2026-09-25) junto con su hash.
3. Cadena de auditorías
- 2026-08-19AUD-2026-0821-MN — auditoría externa original: 14 hallazgos (2 críticos, 7 altos, 5 medios). PDF arriba.
- 2026-09-25Remediación 5 fases — Gates A→E con evidencia verificable; producción alineada a git (24755aed→651bbaa2); OpenSSF Scorecard 1.7→6.8.
- 2026-09-25AUD-2026-0925 — re-auditoría formal: documento público · audit-status.json. Sustituye a AUD-2026-0821-MN.
- 2026-09-252ª auditoría externa (revisor distinto) — P0 homepage-vs-API cerrado (render dinámico desde /api/stats.json); este ciclo añade la evidencia pública por capa, el benchmark y esta página.
- 2026-12-25Próxima re-auditoría — programada (cron mensual --live + trimestral formal).
4. Vigilancia continua
El estado de auditoría ya no depende de que alguien recuerde actualizar un JSON: el workflow
audit-gate corre en cada push y mensualmente en modo --live contra
producción (17 checks: estado de hallazgos, SHA del PDF, versiones endpoint/npm, catálogo,
sincronía stats/agent.json, ausencia de dumps, MCP vivo). Si algo diverge, el build falla.
El scorecard público vive en api.securityscorecards.dev.
5. Pentest independiente — estado honesto
- Controles compensatorios automatizados, vivos y verificables: CodeQL SAST (security-extended, mensual + push), OSV con 0 vulnerabilidades en 688 dependencias exactas (2026-09-25), headers de seguridad (HSTS, X-Frame-Options DENY, nosniff, CSP-adjacent permissions-policy), sandbox de auditoría sin red, y el ledger de cuarentena auditable.
- Alcance propuesto del pentest externo (borrador para contratar): (1) superficie API pública y rewrites de Vercel; (2) endpoints de submit/quarantine y su manejo de input; (3) flujo ATC/revocación (Ed25519, CRL/OCSP); (4) inyección de prompt en el pipeline L1.9; (5) escape del sandbox de auditoría; (6) superficie MCP (initialize/tools) del servidor marketnow-mcp.
- Criterio de cierre: reporte del pentester con hallazgos replicables → plan de remediación con gates → publicación del reporte (con hash) en esta misma cadena de auditorías.
6. Evidencia del pipeline de seguridad
- Sentinel v3.0 — pipeline interactivo (12 etapas, cada una con su evidencia)
- Matriz de evidencia por capa (L1→L9, reclamo → URL verificable)
- Benchmark Sentinel (P 0.75 · R 1.00 · F1 0.857, reproducible)
- /api/security (versión machine-readable)