{"id":1956,"date":"2026-02-11T18:03:46","date_gmt":"2026-02-11T17:03:46","guid":{"rendered":"https:\/\/regulated-devsecops.com\/uncategorized\/riesgo-de-terceros-en-pipelines-ci-cd-bajo-dora-articulo-28\/"},"modified":"2026-07-07T10:59:42","modified_gmt":"2026-07-07T09:59:42","slug":"third-party-risk-in-ci-cd-pipelines-under-dora-article-28","status":"publish","type":"post","link":"https:\/\/regulated-devsecops.com\/es\/regulatory-frameworks-es\/third-party-risk-in-ci-cd-pipelines-under-dora-article-28\/","title":{"rendered":"Riesgo de terceros en pipelines CI\/CD bajo el Art\u00edculo 28 de DORA"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">El Art\u00edculo 28 de DORA exige a las entidades financieras gestionar los riesgos introducidos por los <strong>proveedores terceros de servicios ICT<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En la entrega de software moderna, los pipelines CI\/CD se encuentran entre los <strong>sistemas m\u00e1s dependientes de terceros<\/strong> de la organizaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las plataformas Git, los runners de CI, los plugins y los registros de artefactos no son meras decisiones de herramientas: son <strong>servicios externos integrados<\/strong> que influyen directamente en la integridad, la disponibilidad y la resiliencia operativa del software.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este art\u00edculo se centra espec\u00edficamente en el <strong>riesgo de terceros dentro de los pipelines CI\/CD<\/strong>, explicando d\u00f3nde surgen estos riesgos, c\u00f3mo se aplica el Art\u00edculo 28 de DORA y qu\u00e9 controles esperan ver aplicados los auditores.<\/p>\n\n\n\n<!-- GeneratePress Inline SVG \u2013 Regulated DevSecOps -->\n<figure class=\"gp-rds-diagram\">\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n     viewBox=\"0 0 1200 520\"\n     role=\"img\"\n     aria-labelledby=\"title desc\"\n     data-theme=\"light\">\n  <title id=\"title\">DORA Art\u00edculo 28 \u2014 Herramientas \u2192 Controles \u2192 Evidencia<\/title>\n  <desc id=\"desc\">\n    Diagrama que asigna el tooling DevSecOps empresarial a controles CI\/CD aplicables y a la evidencia de auditor\u00eda resultante,\n    con requisitos transversales de gobernanza de terceros del Art\u00edculo 28 de DORA.\n  <\/desc>\n\n  <style>\n    :root{\n      --bg:transparent;\n      --text:#0f172a;\n      --muted:#475569;\n      --stroke:#cbd5e1;\n      --card:#ffffff;\n\n      --accent:#2563eb;\n      --accentSoft:#dbeafe;\n\n      --sec:#7c3aed;\n      --secSoft:#ede9fe;\n\n      --ev:#059669;\n      --evSoft:#d1fae5;\n\n      --warn:#b45309;\n      --warnSoft:#ffedd5;\n    }\n\n    svg[data-theme=\"dark\"]{\n      --text:#e5e7eb;\n      --muted:#9ca3af;\n      --stroke:#374151;\n      --card:#0b1220;\n\n      --accent:#60a5fa;\n      --accentSoft:#0b2a55;\n\n      --sec:#a78bfa;\n      --secSoft:#2a144d;\n\n      --ev:#34d399;\n      --evSoft:#063a2c;\n\n      --warn:#f59e0b;\n      --warnSoft:#3b2a07;\n    }\n\n    .txt{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;}\n    .title{font-weight:800;font-size:22px;fill:var(--text);}\n    .sub{font-weight:500;font-size:14px;fill:var(--muted);}\n\n    .label{font-weight:900;font-size:12px;fill:var(--text);letter-spacing:.06em;}\n    .h{font-weight:800;font-size:14px;fill:var(--text);}\n    .small{font-weight:600;font-size:12px;fill:var(--muted);}\n\n    .card{fill:var(--card);stroke:var(--stroke);stroke-width:1.5;rx:14;}\n    .panel{fill:transparent;stroke:var(--stroke);stroke-width:1.5;rx:14;stroke-dasharray:6 6;}\n\n    .chip{fill:transparent;stroke:var(--stroke);stroke-width:1.5;rx:7;}\n    .chipText{font-weight:800;font-size:12px;fill:var(--text);}\n\n    .tools .chip{stroke:var(--accent);fill:var(--accentSoft);}\n    .controls .chip{stroke:var(--sec);fill:var(--secSoft);}\n    .evidence .chip{stroke:var(--ev);fill:var(--evSoft);}\n    .warn .chip{stroke:var(--warn);fill:var(--warnSoft);}\n\n    .flow{fill:none;stroke:var(--stroke);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}\n    .arrow{marker-end:url(#arrow);}\n    .link{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:7 7;opacity:.85;}\n\n    .band{fill:transparent;stroke:var(--stroke);stroke-width:1.5;rx:14;stroke-dasharray:6 6;}\n    .bandTitle{font-weight:900;font-size:12px;fill:var(--muted);letter-spacing:.06em;}\n  <\/style>\n\n  <defs>\n    <marker id=\"arrow\" viewBox=\"0 0 10 10\" refX=\"9.2\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto\">\n      <path d=\"M0 0 L10 5 L0 10 Z\" fill=\"var(--stroke)\"\/>\n    <\/marker>\n  <\/defs>\n\n  <!-- Header -->\n  <text class=\"txt title\" x=\"40\" y=\"48\">Herramientas \u2192 Controles \u2192 Evidencia<\/text>\n  <text class=\"txt sub\" x=\"40\" y=\"74\">Visi\u00f3n del Art\u00edculo 28 de DORA: gobernanza de terceros ICT aplicada mediante controles CI\/CD y evidencia demostrable.<\/text>\n\n  <!-- Cross-cutting controls band -->\n  <g transform=\"translate(40,92)\">\n    <rect class=\"band\" x=\"0\" y=\"0\" width=\"1120\" height=\"62\"\/>\n    <text class=\"txt bandTitle\" x=\"18\" y=\"36\">TRANSVERSAL (ART\u00cdCULO 28)<\/text>\n\n    <g class=\"warn\" transform=\"translate(320,16)\">\n      <rect class=\"chip\" x=\"0\" y=\"0\" width=\"170\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"85\" y=\"20\" text-anchor=\"middle\">Gobernanza de proveedores<\/text>\n    <\/g>\n\n    <g class=\"warn\" transform=\"translate(500,16)\">\n      <rect class=\"chip\" x=\"0\" y=\"0\" width=\"150\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"75\" y=\"20\" text-anchor=\"middle\">Cl\u00e1usulas contractuales<\/text>\n    <\/g>\n\n    <g class=\"warn\" transform=\"translate(660,16)\">\n      <rect class=\"chip\" x=\"0\" y=\"0\" width=\"120\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"60\" y=\"20\" text-anchor=\"middle\">Monitorizaci\u00f3n<\/text>\n    <\/g>\n\n    <g class=\"warn\" transform=\"translate(790,16)\">\n      <rect class=\"chip\" x=\"0\" y=\"0\" width=\"110\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"55\" y=\"20\" text-anchor=\"middle\">Plan de salida<\/text>\n    <\/g>\n\n    <g class=\"warn\" transform=\"translate(910,16)\">\n      <rect class=\"chip\" x=\"0\" y=\"0\" width=\"190\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"95\" y=\"20\" text-anchor=\"middle\">Retenci\u00f3n de evidencia<\/text>\n    <\/g>\n  <\/g>\n\n  <!-- Main panels -->\n  <g transform=\"translate(40,160)\">\n    <rect class=\"panel\" x=\"0\" y=\"0\" width=\"1120\" height=\"300\"\/>\n    <text class=\"txt label\" x=\"18\" y=\"28\">CAPA DE MAPEO<\/text>\n  <\/g>\n\n  <!-- Column titles -->\n  <text class=\"txt h\" x=\"120\" y=\"210\">Herramientas<\/text>\n  <text class=\"txt small\" x=\"120\" y=\"232\">Plataformas y servicios<\/text>\n\n  <text class=\"txt h\" x=\"520\" y=\"210\">Controles<\/text>\n  <text class=\"txt small\" x=\"520\" y=\"232\">Requisitos aplicados<\/text>\n\n  <text class=\"txt h\" x=\"900\" y=\"210\">Evidencia<\/text>\n  <text class=\"txt small\" x=\"900\" y=\"232\">Lo que verifican los auditores<\/text>\n\n  <!-- Tools cards -->\n  <g transform=\"translate(80,250)\" class=\"tools\">\n    <rect class=\"card\" width=\"300\" height=\"190\"\/>\n    <text class=\"txt label\" x=\"18\" y=\"28\">HERRAMIENTAS<\/text>\n\n    <g transform=\"translate(18,48)\">\n      <rect class=\"chip\" width=\"264\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"132\" y=\"20\" text-anchor=\"middle\">Git \/ Hosting de c\u00f3digo fuente<\/text>\n    <\/g>\n    <g transform=\"translate(18,84)\">\n      <rect class=\"chip\" width=\"264\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"132\" y=\"20\" text-anchor=\"middle\">Orquestador CI\/CD + runners<\/text>\n    <\/g>\n    <g transform=\"translate(18,120)\">\n      <rect class=\"chip\" width=\"264\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"132\" y=\"20\" text-anchor=\"middle\">Registros + dependencias<\/text>\n    <\/g>\n    <g transform=\"translate(18,156)\">\n      <rect class=\"chip\" width=\"264\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"132\" y=\"20\" text-anchor=\"middle\">Runtime cloud + observabilidad<\/text>\n    <\/g>\n  <\/g>\n\n  <!-- Controls cards -->\n  <g transform=\"translate(450,250)\" class=\"controls\">\n    <rect class=\"card\" width=\"320\" height=\"190\"\/>\n    <text class=\"txt label\" x=\"18\" y=\"28\">CONTROLES<\/text>\n\n    <g transform=\"translate(18,48)\">\n      <rect class=\"chip\" width=\"284\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"142\" y=\"20\" text-anchor=\"middle\">Control de acceso + MFA + SoD<\/text>\n    <\/g>\n    <g transform=\"translate(18,84)\">\n      <rect class=\"chip\" width=\"284\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"142\" y=\"20\" text-anchor=\"middle\">Aprobaciones + gates de pol\u00edtica<\/text>\n    <\/g>\n    <g transform=\"translate(18,120)\">\n      <rect class=\"chip\" width=\"284\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"142\" y=\"20\" text-anchor=\"middle\">Integridad: SBOM + firma + procedencia<\/text>\n    <\/g>\n    <g transform=\"translate(18,156)\">\n      <rect class=\"chip\" width=\"284\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"142\" y=\"20\" text-anchor=\"middle\">Monitorizaci\u00f3n + flujos de incidentes<\/text>\n    <\/g>\n  <\/g>\n\n  <!-- Evidence cards -->\n  <g transform=\"translate(820,250)\" class=\"evidence\">\n    <rect class=\"card\" width=\"300\" height=\"190\"\/>\n    <text class=\"txt label\" x=\"18\" y=\"28\">EVIDENCIA<\/text>\n\n    <g transform=\"translate(18,48)\">\n      <rect class=\"chip\" width=\"264\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"132\" y=\"20\" text-anchor=\"middle\">Logs de auditor\u00eda + revisiones de acceso<\/text>\n    <\/g>\n    <g transform=\"translate(18,84)\">\n      <rect class=\"chip\" width=\"264\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"132\" y=\"20\" text-anchor=\"middle\">Aprobaciones y trazabilidad de cambios<\/text>\n    <\/g>\n    <g transform=\"translate(18,120)\">\n      <rect class=\"chip\" width=\"264\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"132\" y=\"20\" text-anchor=\"middle\">SBOM + atestaciones + firmas<\/text>\n    <\/g>\n    <g transform=\"translate(18,156)\">\n      <rect class=\"chip\" width=\"264\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"132\" y=\"20\" text-anchor=\"middle\">Datos de monitorizaci\u00f3n + registros de incidentes<\/text>\n    <\/g>\n  <\/g>\n\n  <!-- Main flow arrows -->\n  <path class=\"flow arrow\" d=\"M 380 360 L 450 360\"\/>\n  <path class=\"flow arrow\" d=\"M 770 360 L 820 360\"\/>\n\n  <!-- Dotted alignment links (tool -> control -> evidence rows) -->\n  <!-- Row 1 -->\n  <path class=\"link\" d=\"M 360 313 L 470 313\"\/>\n  <path class=\"link\" d=\"M 750 313 L 840 313\"\/>\n  <!-- Row 2 -->\n  <path class=\"link\" d=\"M 360 349 L 470 349\"\/>\n  <path class=\"link\" d=\"M 750 349 L 840 349\"\/>\n  <!-- Row 3 -->\n  <path class=\"link\" d=\"M 360 385 L 470 385\"\/>\n  <path class=\"link\" d=\"M 750 385 L 840 385\"\/>\n  <!-- Row 4 -->\n  <path class=\"link\" d=\"M 360 421 L 470 421\"\/>\n  <path class=\"link\" d=\"M 750 421 L 840 421\"\/>\n\n  <!-- Footer note -->\n  <text class=\"txt small\" x=\"60\" y=\"500\">\n    Consejo: bajo el Art\u00edculo 28 de DORA, las herramientas solo son aceptables si aplican controles y producen de forma continua evidencia auditable.\n  <\/text>\n<\/svg>\n\n  <figcaption class=\"gp-rds-caption\">\n    Diagrama que asigna el tooling DevSecOps empresarial a controles CI\/CD aplicables y a la evidencia de auditor\u00eda resultante,\n    con requisitos transversales de gobernanza de terceros del Art\u00edculo 28 de DORA.\n<\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Por qu\u00e9 los pipelines CI\/CD son un punto de concentraci\u00f3n de riesgo de terceros<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Los pipelines CI\/CD agregan m\u00faltiples dependencias externas en un \u00fanico flujo de ejecuci\u00f3n:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>el c\u00f3digo fuente se aloja externamente,<\/li>\n\n\n\n<li>las compilaciones suelen ejecutarse en infraestructura compartida o gestionada,<\/li>\n\n\n\n<li>el c\u00f3digo de terceros se descarga autom\u00e1ticamente,<\/li>\n\n\n\n<li>los artefactos se almacenan y distribuyen mediante servicios externos.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Desde la perspectiva de DORA, los pipelines CI\/CD representan:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>dependencias ICT de alto impacto<\/strong>,<\/li>\n\n\n\n<li>con <strong>acceso privilegiado<\/strong>,<\/li>\n\n\n\n<li>que operan a <strong>velocidad de m\u00e1quina<\/strong>,<\/li>\n\n\n\n<li>y capaces de propagar fallos o compromisos directamente a producci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">En consecuencia, las plataformas CI\/CD deben tratarse como <strong>servicios ICT de terceros dentro del alcance<\/strong> del Art\u00edculo 28.<\/p>\n\n\n\n<!-- GeneratePress Inline SVG \u2013 Regulated DevSecOps -->\n<figure class=\"gp-rds-diagram\">\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n     viewBox=\"0 0 1200 560\"\n     role=\"img\"\n     aria-labelledby=\"title desc\"\n     data-theme=\"light\">\n  <title id=\"title_2\">Se\u00f1ales de alerta en CI\/CD \u2014 DORA Art\u00edculo 28 (riesgo de terceros)<\/title>\n  <desc id=\"desc_2\">\n    Diagrama de CI\/CD empresarial que destaca las se\u00f1ales de alerta habituales de riesgo de terceros del Art\u00edculo 28 de DORA:\n    ausencia de plan de salida, runners compartidos, falta de visibilidad de subencargados, ausencia de derechos de auditor\u00eda\n    y ausencia de retenci\u00f3n de evidencia.\n  <\/desc>\n\n  <style>\n    :root{\n      --bg:transparent;\n      --text:#0f172a;\n      --muted:#475569;\n      --stroke:#cbd5e1;\n      --card:#ffffff;\n\n      --accent:#2563eb;\n      --accentSoft:#dbeafe;\n\n      --warn:#b91c1c;\n      --warnSoft:#fee2e2;\n\n      --ok:#059669;\n      --okSoft:#d1fae5;\n\n      --band:#0ea5e9;\n      --bandSoft:#e0f2fe;\n    }\n    svg[data-theme=\"dark\"]{\n      --text:#e5e7eb;\n      --muted:#9ca3af;\n      --stroke:#374151;\n      --card:#0b1220;\n\n      --accent:#60a5fa;\n      --accentSoft:#0b2a55;\n\n      --warn:#f87171;\n      --warnSoft:#3a0b10;\n\n      --ok:#34d399;\n      --okSoft:#063a2c;\n\n      --band:#38bdf8;\n      --bandSoft:#083047;\n    }\n\n    .txt{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;}\n    .title{font-weight:900;font-size:22px;fill:var(--text);}\n    .sub{font-weight:600;font-size:14px;fill:var(--muted);}\n\n    .label{font-weight:900;font-size:12px;fill:var(--text);letter-spacing:.06em;}\n    .h{font-weight:900;font-size:14px;fill:var(--text);}\n    .small{font-weight:700;font-size:12px;fill:var(--muted);}\n\n    .card{fill:var(--card);stroke:var(--stroke);stroke-width:1.5;rx:14;}\n    .chip{fill:transparent;stroke:var(--stroke);stroke-width:1.5;rx:7;}\n    .chipText{font-weight:900;font-size:12px;fill:var(--text);}\n\n    .flow{fill:none;stroke:var(--stroke);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}\n    .arrow{marker-end:url(#arrow);}\n\n    .band{fill:transparent;stroke:var(--stroke);stroke-width:1.5;rx:14;stroke-dasharray:6 6;}\n    .bandTitle{font-weight:900;font-size:12px;fill:var(--muted);letter-spacing:.06em;}\n    .bandChip{fill:var(--bandSoft);stroke:var(--band);stroke-width:1.5;rx:7;}\n    .bandText{font-weight:900;font-size:12px;fill:var(--text);}\n\n    .rf .chip{stroke:var(--warn);fill:var(--warnSoft);}\n    .rftext{font-weight:900;font-size:12px;fill:var(--text);}\n\n    .ok .chip{stroke:var(--ok);fill:var(--okSoft);}\n  <\/style>\n\n  <defs>\n    <marker id=\"arrow\" viewBox=\"0 0 10 10\" refX=\"9.2\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto\">\n      <path d=\"M0 0 L10 5 L0 10 Z\" fill=\"var(--stroke)\"\/>\n    <\/marker>\n  <\/defs>\n\n  <!-- Header -->\n  <text class=\"txt title\" x=\"40\" y=\"48\">Se\u00f1ales de alerta en CI\/CD \u2014 DORA Art\u00edculo 28<\/text>\n  <text class=\"txt sub\" x=\"40\" y=\"74\">Fallos de riesgo de terceros que los auditores se\u00f1alan con frecuencia en Git, SaaS CI\/CD, runners, registros y runtime cloud.<\/text>\n\n  <!-- Cross-cutting band -->\n  <g transform=\"translate(40,92)\">\n    <rect class=\"band\" x=\"0\" y=\"0\" width=\"1120\" height=\"62\"\/>\n    <text class=\"txt bandTitle\" x=\"18\" y=\"36\">TRANSVERSAL (ART\u00cdCULO 28)<\/text>\n\n    <g transform=\"translate(330,16)\">\n      <rect class=\"bandChip\" x=\"0\" y=\"0\" width=\"180\" height=\"30\"\/>\n      <text class=\"txt bandText\" x=\"90\" y=\"20\" text-anchor=\"middle\">Gobernanza de proveedores<\/text>\n    <\/g>\n    <g transform=\"translate(520,16)\">\n      <rect class=\"bandChip\" x=\"0\" y=\"0\" width=\"160\" height=\"30\"\/>\n      <text class=\"txt bandText\" x=\"80\" y=\"20\" text-anchor=\"middle\">Derechos de auditor\u00eda<\/text>\n    <\/g>\n    <g transform=\"translate(690,16)\">\n      <rect class=\"bandChip\" x=\"0\" y=\"0\" width=\"150\" height=\"30\"\/>\n      <text class=\"txt bandText\" x=\"75\" y=\"20\" text-anchor=\"middle\">Estrategia de salida<\/text>\n    <\/g>\n    <g transform=\"translate(850,16)\">\n      <rect class=\"bandChip\" x=\"0\" y=\"0\" width=\"220\" height=\"30\"\/>\n      <text class=\"txt bandText\" x=\"110\" y=\"20\" text-anchor=\"middle\">Retenci\u00f3n de evidencia<\/text>\n    <\/g>\n  <\/g>\n\n  <!-- Pipeline row cards -->\n  <g transform=\"translate(40,175)\">\n    <!-- Git -->\n    <g transform=\"translate(0,0)\">\n      <rect class=\"card\" width=\"200\" height=\"130\"\/>\n      <text class=\"txt h\" x=\"18\" y=\"32\">Hosting Git<\/text>\n      <text class=\"txt small\" x=\"18\" y=\"54\">GitHub \/ GitLab SaaS<\/text>\n      <g class=\"rf\" transform=\"translate(18,74)\">\n        <rect class=\"chip\" width=\"164\" height=\"30\"\/>\n        <text class=\"txt rftext\" x=\"82\" y=\"20\" text-anchor=\"middle\">Sin derechos de auditor\u00eda<\/text>\n      <\/g>\n    <\/g>\n\n    <!-- CI\/CD SaaS -->\n    <g transform=\"translate(220,0)\">\n      <rect class=\"card\" width=\"200\" height=\"130\"\/>\n      <text class=\"txt h\" x=\"18\" y=\"32\">SaaS CI\/CD<\/text>\n      <text class=\"txt small\" x=\"18\" y=\"54\">Orquestador<\/text>\n      <g class=\"rf\" transform=\"translate(18,74)\">\n        <rect class=\"chip\" width=\"164\" height=\"30\"\/>\n        <text class=\"txt rftext\" x=\"82\" y=\"20\" text-anchor=\"middle\">Sin plan de salida<\/text>\n      <\/g>\n    <\/g>\n\n    <!-- Runners -->\n    <g transform=\"translate(440,0)\">\n      <rect class=\"card\" width=\"200\" height=\"130\"\/>\n      <text class=\"txt h\" x=\"18\" y=\"32\">Runners de CI<\/text>\n      <text class=\"txt small\" x=\"18\" y=\"54\">Ejecuci\u00f3n en cloud<\/text>\n      <g class=\"rf\" transform=\"translate(18,74)\">\n        <rect class=\"chip\" width=\"164\" height=\"30\"\/>\n        <text class=\"txt rftext\" x=\"82\" y=\"20\" text-anchor=\"middle\">Runners compartidos<\/text>\n      <\/g>\n    <\/g>\n\n    <!-- Registries -->\n    <g transform=\"translate(660,0)\">\n      <rect class=\"card\" width=\"200\" height=\"130\"\/>\n      <text class=\"txt h\" x=\"18\" y=\"32\">Registros<\/text>\n      <text class=\"txt small\" x=\"18\" y=\"54\">Artefactos + im\u00e1genes<\/text>\n      <g class=\"rf\" transform=\"translate(18,74)\">\n        <rect class=\"chip\" width=\"164\" height=\"30\"\/>\n        <text class=\"txt rftext\" x=\"82\" y=\"20\" text-anchor=\"middle\">Sin retenci\u00f3n<\/text>\n      <\/g>\n    <\/g>\n\n    <!-- Cloud runtime -->\n    <g transform=\"translate(880,0)\">\n      <rect class=\"card\" width=\"220\" height=\"130\"\/>\n      <text class=\"txt h\" x=\"18\" y=\"32\">Runtime cloud<\/text>\n      <text class=\"txt small\" x=\"18\" y=\"54\">Servicios de producci\u00f3n<\/text>\n      <g class=\"rf\" transform=\"translate(18,74)\">\n        <rect class=\"chip\" width=\"184\" height=\"30\"\/>\n        <text class=\"txt rftext\" x=\"92\" y=\"20\" text-anchor=\"middle\">Sin visibilidad de subencargados<\/text>\n      <\/g>\n    <\/g>\n  <\/g>\n\n  <!-- Flow arrows between pipeline stages -->\n  <path class=\"flow arrow\" d=\"M 240 240 L 260 240\"\/>\n  <path class=\"flow arrow\" d=\"M 460 240 L 480 240\"\/>\n  <path class=\"flow arrow\" d=\"M 680 240 L 700 240\"\/>\n  <path class=\"flow arrow\" d=\"M 900 240 L 920 240\"\/>\n\n  <!-- Lower remediation hints -->\n  <g transform=\"translate(40,340)\">\n    <rect class=\"card\" width=\"1100\" height=\"170\"\/>\n    <text class=\"txt label\" x=\"18\" y=\"28\">SUGERENCIAS DE REMEDIACI\u00d3N PARA INGENIER\u00cdA<\/text>\n\n    <g class=\"ok\" transform=\"translate(18,52)\">\n      <rect class=\"chip\" width=\"260\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"130\" y=\"20\" text-anchor=\"middle\">Estrategia de salida probada (CI\/CD)<\/text>\n    <\/g>\n    <g class=\"ok\" transform=\"translate(290,52)\">\n      <rect class=\"chip\" width=\"250\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"125\" y=\"20\" text-anchor=\"middle\">Runners dedicados \/ aislados<\/text>\n    <\/g>\n    <g class=\"ok\" transform=\"translate(550,52)\">\n      <rect class=\"chip\" width=\"270\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"135\" y=\"20\" text-anchor=\"middle\">Mapa de proveedores + subencargados<\/text>\n    <\/g>\n    <g class=\"ok\" transform=\"translate(830,52)\">\n      <rect class=\"chip\" width=\"260\" height=\"30\"\/>\n      <text class=\"txt chipText\" x=\"130\" y=\"20\" text-anchor=\"middle\">Logs centralizados + retenci\u00f3n<\/text>\n    <\/g>\n\n    <text class=\"txt small\" x=\"18\" y=\"110\">\n      Regla del auditor: si los controles no pueden producir evidencia acotada en el tiempo bajo demanda, se consideran inefectivos seg\u00fan el Art\u00edculo 28.\n    <\/text>\n    <text class=\"txt small\" x=\"18\" y=\"136\">\n      \u00c1reas de enfoque: alcance de la plataforma CI\/CD, auditabilidad contractual, aislamiento de runners, gobernanza de subencargados y retenci\u00f3n de evidencia.\n    <\/text>\n  <\/g>\n<\/svg>\n  <figcaption class=\"gp-rds-caption\">\n    Diagrama de CI\/CD empresarial que destaca las se\u00f1ales de alerta habituales de riesgo de terceros del Art\u00edculo 28 de DORA:\n    ausencia de plan de salida, runners compartidos, falta de visibilidad de subencargados, ausencia de derechos de auditor\u00eda\n    y ausencia de retenci\u00f3n de evidencia.\n<\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>GitHub \/ GitLab SaaS como proveedores terceros de ICT<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Exposici\u00f3n al riesgo<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Las plataformas SaaS de GitHub y GitLab controlan:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>el acceso al c\u00f3digo fuente,<\/li>\n\n\n\n<li>los flujos de aprobaci\u00f3n de cambios,<\/li>\n\n\n\n<li>la aplicaci\u00f3n de identidad y permisos.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Un compromiso o una configuraci\u00f3n incorrecta pueden provocar:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>cambios de c\u00f3digo no autorizados,<\/li>\n\n\n\n<li>aprobaciones eludidas,<\/li>\n\n\n\n<li>p\u00e9rdida de trazabilidad.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Expectativas del Art\u00edculo 28<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los auditores esperan:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>las plataformas de hosting Git incluidas en el <strong>inventario de terceros<\/strong>,<\/li>\n\n\n\n<li>una clasificaci\u00f3n de riesgo clara (a menudo <em>cr\u00edtica<\/em>),<\/li>\n\n\n\n<li>la aplicaci\u00f3n de la segregaci\u00f3n de funciones,<\/li>\n\n\n\n<li>evidencia de control de acceso y aprobaciones.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Los logs de acceso, las aprobaciones de pull requests y la configuraci\u00f3n de protecci\u00f3n de ramas se tratan como <strong>evidencia de auditor\u00eda<\/strong>, no como detalles operativos.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Runners de CI basados en cloud<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Exposici\u00f3n al riesgo<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los runners de CI gestionados o alojados en cloud:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ejecutan c\u00f3digo no confiable,<\/li>\n\n\n\n<li>acceden a secretos y credenciales,<\/li>\n\n\n\n<li>interact\u00faan con sistemas internos y externos.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">A menudo se ejecutan en <strong>infraestructura compartida<\/strong>, lo que aumenta la exposici\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Expectativas del Art\u00edculo 28<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bajo el Art\u00edculo 28, las organizaciones deben demostrar:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>aislamiento entre runners,<\/li>\n\n\n\n<li>acceso controlado a los secretos,<\/li>\n\n\n\n<li>monitorizaci\u00f3n de los entornos de ejecuci\u00f3n,<\/li>\n\n\n\n<li>capacidad de restringir o revocar el acceso de los runners.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Los auditores preguntan con frecuencia:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u00ab\u00bfQui\u00e9n controla el entorno de ejecuci\u00f3n donde se compila tu c\u00f3digo?\u00bb<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Acciones y plugins de marketplace<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Exposici\u00f3n al riesgo<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los marketplaces de CI\/CD introducen <strong>c\u00f3digo de terceros sin verificar<\/strong> directamente en los pipelines.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los riesgos incluyen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ataques a la cadena de suministro,<\/li>\n\n\n\n<li>actualizaciones maliciosas,<\/li>\n\n\n\n<li>falta de control de versiones,<\/li>\n\n\n\n<li>titularidad poco clara.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Expectativas del Art\u00edculo 28<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los auditores esperan:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>gobernanza sobre qu\u00e9 plugins est\u00e1n permitidos,<\/li>\n\n\n\n<li>evaluaci\u00f3n de riesgo para las acciones cr\u00edticas,<\/li>\n\n\n\n<li>fijaci\u00f3n de versiones y procesos de revisi\u00f3n,<\/li>\n\n\n\n<li>monitorizaci\u00f3n de los cambios a lo largo del tiempo.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">El uso sin restricciones del marketplace suele se\u00f1alarse como una <strong>debilidad importante del Art\u00edculo 28<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Registros de artefactos<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Exposici\u00f3n al riesgo<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los registros de artefactos almacenan y distribuyen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>salidas de compilaci\u00f3n,<\/li>\n\n\n\n<li>im\u00e1genes de contenedor,<\/li>\n\n\n\n<li>bibliotecas internas.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Si se ven comprometidos, pueden:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>propagar artefactos maliciosos,<\/li>\n\n\n\n<li>romper la integridad del despliegue,<\/li>\n\n\n\n<li>afectar a m\u00faltiples sistemas de forma simult\u00e1nea.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Expectativas del Art\u00edculo 28<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los auditores esperan controles que cubran:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>restricciones de acceso,<\/li>\n\n\n\n<li>pol\u00edticas de inmutabilidad,<\/li>\n\n\n\n<li>firma y verificaci\u00f3n de artefactos,<\/li>\n\n\n\n<li>retenci\u00f3n de metadatos de artefactos.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Los registros de artefactos se tratan como <strong>componentes centrales de la cadena de suministro<\/strong>, no como almacenamiento pasivo.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Proxies de dependencias y repositorios externos<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Exposici\u00f3n al riesgo<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los proxies de dependencias y los repositorios externos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>descargan c\u00f3digo desde fuera de la organizaci\u00f3n,<\/li>\n\n\n\n<li>introducen dependencias indirectas de terceros,<\/li>\n\n\n\n<li>pueden cambiar su contenido sin previo aviso.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Esto genera una <strong>exposici\u00f3n oculta a terceros<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Expectativas del Art\u00edculo 28<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los auditores esperan:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>visibilidad sobre las fuentes de dependencias,<\/li>\n\n\n\n<li>controles para restringir o cachear dependencias externas,<\/li>\n\n\n\n<li>trazabilidad que vincule las dependencias con las compilaciones,<\/li>\n\n\n\n<li>monitorizaci\u00f3n de los cambios en las dependencias.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Los SBOM y los logs de dependencias se revisan a menudo como <strong>evidencia del Art\u00edculo 28<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Controles CI\/CD fundamentales que se esperan bajo el Art\u00edculo 28<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En todos los servicios de terceros relacionados con CI\/CD, los auditores esperan ver:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>su inclusi\u00f3n expl\u00edcita en los inventarios de terceros,<\/li>\n\n\n\n<li>clasificaci\u00f3n y gobernanza basadas en el riesgo,<\/li>\n\n\n\n<li>aislamiento de acceso y m\u00ednimo privilegio,<\/li>\n\n\n\n<li>pol\u00edticas aplicables (aprobaciones, gates),<\/li>\n\n\n\n<li>monitorizaci\u00f3n continua,<\/li>\n\n\n\n<li>generaci\u00f3n automatizada de evidencia.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Los pipelines CI\/CD deben aplicar estos controles <strong>por dise\u00f1o<\/strong>, no mediante procedimientos manuales.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Evidencia que los auditores solicitan habitualmente<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para el riesgo de terceros en CI\/CD, los auditores solicitan con frecuencia:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>logs de acceso de las plataformas Git,<\/li>\n\n\n\n<li>logs de ejecuci\u00f3n de CI y metadatos de runners,<\/li>\n\n\n\n<li>registros de aprobaci\u00f3n y resultados de los gates de pol\u00edtica,<\/li>\n\n\n\n<li>datos de firma y procedencia de artefactos,<\/li>\n\n\n\n<li>alertas de monitorizaci\u00f3n que involucren servicios CI\/CD.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Estos artefactos se utilizan para validar que los <strong>controles est\u00e1n operando<\/strong>, no solo definidos.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Relaci\u00f3n con otros controles del Art\u00edculo 28 de DORA<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Los pipelines CI\/CD suelen actuar como la <strong>capa de aplicaci\u00f3n<\/strong> de:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>requisitos contractuales,<\/li>\n\n\n\n<li>pol\u00edticas de seguridad,<\/li>\n\n\n\n<li>restricciones de la estrategia de salida.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Conectan los dominios legal, de seguridad y de ingenier\u00eda, lo que los hace centrales para el cumplimiento del Art\u00edculo 28.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusi\u00f3n clave<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bajo el Art\u00edculo 28 de DORA, los pipelines CI\/CD no son herramientas de automatizaci\u00f3n neutrales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Son <strong>puntos de integraci\u00f3n de terceros ICT de alto riesgo<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las organizaciones que:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>gobiernan expl\u00edcitamente los servicios de terceros de CI\/CD,<\/li>\n\n\n\n<li>aplican controles dentro de los pipelines,<\/li>\n\n\n\n<li>y generan evidencia continua<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">est\u00e1n significativamente mejor posicionadas para superar las auditor\u00edas del Art\u00edculo 28 y gestionar el riesgo operativo real.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Contenido relacionado<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><a href=\"https:\/\/regulated-devsecops.com\/compliance\/dora-article-28-architecture-third-party-risk-controls-across-ci-cd-pipelines\/\" data-type=\"post\" data-id=\"364\">DORA Article 28 Architecture: Third-Party Risk Controls Across CI\/CD Pipelines<\/a><\/strong><\/li>\n\n\n\n<li><strong><a href=\"https:\/\/regulated-devsecops.com\/compliance\/dora-article-28-evidence-pack-what-to-show-auditors\/\" data-type=\"post\" data-id=\"347\">DORA Article 28 Evidence Pack \u2014 What to Show Auditors<\/a><\/strong><\/li>\n\n\n\n<li><strong><a href=\"https:\/\/regulated-devsecops.com\/ci-cd-security\/ci-cd-security-checklist-for-enterprises\/\" data-type=\"post\" data-id=\"32\">CI\/CD Security Checklist for Enterprises<\/a><\/strong><\/li>\n\n\n\n<li><strong><a href=\"https:\/\/regulated-devsecops.com\/compliance\/ci-cd-audit-red-flags-what-immediately-raises-auditor-concerns\/\" data-type=\"post\" data-id=\"264\">CI\/CD Audit Red Flags<\/a><\/strong><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n    <section class=\"rds-author-box rds-author-box--audit\"\r\n             dir=\"ltr\" lang=\"es\"\r\n             style=\"border:1px solid rgba(100,116,139,.35);border-radius:14px;padding:16px 18px;margin:26px 0 18px;background:rgba(148,163,184,.08);\">\r\n      <strong style=\"margin:0 0 8px; font-size:14px; font-weight:700; letter-spacing:.02em;\">Contexto \u201caudit-ready\u201d<\/strong>\r\n      <p style=\"margin:0; font-size:14px; line-height:1.55;\">Contenido pensado para entornos regulados: controles antes que herramientas, enforcement en CI\/CD y evidencia por dise\u00f1o para auditor\u00edas.<\/p>\r\n      <p style=\"margin:0; font-size:14px; line-height:1.55;\">Enfoque en trazabilidad, aprobaciones, gobernanza de excepciones y retenci\u00f3n de evidencia de extremo a extremo.<\/p>\r\n      <p style=\"margin:0; font-size:14px; line-height:1.55;\">\r\n        <a href=\"https:\/\/regulated-devsecops.com\/es\/es\/about\/\">Ver la metodolog\u00eda en la p\u00e1gina About.<\/a>\r\n      <\/p>\r\n    <\/section>\r\n    \n","protected":false},"excerpt":{"rendered":"<p>El Art\u00edculo 28 de DORA exige gestionar los riesgos de los proveedores terceros de ICT. Los pipelines CI\/CD son puntos de concentraci\u00f3n de riesgo de terceros de alto impacto: las plataformas Git, los runners, los plugins y los registros deben gobernarse y monitorizarse como servicios ICT dentro del alcance.<\/p>\n","protected":false},"author":1,"featured_media":2952,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[135,132],"tags":[],"post_folder":[],"class_list":["post-1956","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-regulatory-frameworks-es","category-ci-cd-governance-es"],"_links":{"self":[{"href":"https:\/\/regulated-devsecops.com\/es\/wp-json\/wp\/v2\/posts\/1956","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/regulated-devsecops.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/regulated-devsecops.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/regulated-devsecops.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/regulated-devsecops.com\/es\/wp-json\/wp\/v2\/comments?post=1956"}],"version-history":[{"count":0,"href":"https:\/\/regulated-devsecops.com\/es\/wp-json\/wp\/v2\/posts\/1956\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/regulated-devsecops.com\/es\/wp-json\/wp\/v2\/media\/2952"}],"wp:attachment":[{"href":"https:\/\/regulated-devsecops.com\/es\/wp-json\/wp\/v2\/media?parent=1956"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/regulated-devsecops.com\/es\/wp-json\/wp\/v2\/categories?post=1956"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/regulated-devsecops.com\/es\/wp-json\/wp\/v2\/tags?post=1956"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/regulated-devsecops.com\/es\/wp-json\/wp\/v2\/post_folder?post=1956"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}