Ctrl K
ComunidadGuías…

pnpm-workspace.yaml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
packages:
  - 'packages/*'
  # ant-cli: AI workflow backend + Cloud IDE (IDEService)
  # ant-ui: Frontend UI (SPA at /app)
  # ant-site: Marketing site (SSG at /)
  - 'examples/*'
  # Worked examples — not product, in no image (every Dockerfile COPYs
  # packages/ selectively). Members so one root install covers them and CI
  # typechecks them. See examples/README.md.

allowBuilds:
  '@vscode/ripgrep': true
  sharp: true
  cpu-features: false
  esbuild: false
  msgpackr-extract: false
  protobufjs: false
  ssh2: false
  '@google/genai': false

# P3 security-hardening (2026-06-30) — accepted dev-only advisories.
# All are vite/vitest/esbuild dev-server or build-tool vulns, NOT shipped in any
# runtime image or browser bundle and NOT reachable in CI (`vite build` / `vitest
# run`, no listening dev server) — closing them requires a vite 5→6 major bump on
# ant-ui (breaking), deferred. Runtime vulns are kept at zero via overrides below;
# this list lets `pnpm audit` exit clean so a NEW runtime vuln is what surfaces.
auditConfig:
  ignoreGhsas:
    - GHSA-5xrq-8626-4rwp  # vitest: UI-server arbitrary file read (UI server never run)
    - GHSA-v2wj-q39q-566r  # vite: server.fs.deny bypass via queries (dev server)
    - GHSA-p9ff-h696-f583  # vite: arbitrary file read via dev server
    - GHSA-fx2h-pf6j-xcff  # vite: server.fs.deny bypass on Windows alt paths (dev server)
    - GHSA-4w7w-66w2-5vf9  # vite: path traversal in optimized deps .map (dev server)
    - GHSA-v6wh-96g9-6wx3  # vite>launch-editor: NTLMv2 hash disclosure (Windows dev only)
    - GHSA-67mh-4wv8-2f99  # esbuild: dev server accepts any-origin requests (dev server)

# Trivy CI fix — transitive-dependency CVE patches (pnpm 11 workspaces only honor overrides here)
overrides:
  handlebars: '^4.7.9'
  protobufjs: '^7.6.1'
  # ws: CVE-2026-48779 HIGH — memory exhaustion from many tiny frame fragments,
  # fixed 8.21.2. The `/bridge/ws` WebSocket server accepts connections before
  # JWT registration, so the frame parser is reachable unauthenticated.
  ws: '^8.21.2'
  langsmith: '^0.6.0'
  lodash: '^4.18.1'
  '@isaacs/brace-expansion': '^5.0.1'
  picomatch: '^2.3.2'
  path-to-regexp: '^8.4.0'
  'minimatch@<10.2.3': '^10.2.3'
  # Force the 5.x/9.x lines up to 10.x too. These come only via archiver@7
  # (readdir-glob→minimatch@5, archiver-utils→glob@10→minimatch@9), whose sole
  # transitive brace-expansion@2.1.2 has NO 2.x patch for CVE-2026-14257.
  # Collapsing minimatch to 10.x drops the 2.x line entirely (10.x → be@5.x).
  'minimatch@>=5.0.0 <10.0.0': '^10.2.3'
  # glob 10.x paired with minimatch 9; bump to 11.x (paired with minimatch 10)
  # so archiver-utils no longer reintroduces the minimatch@9 → be@2.x line.
  'glob@>=10.0.0 <11.0.0': '^11.0.3'
  '@grpc/grpc-js': '^1.14.4'
  # tsx<4.22 pulls esbuild ~0.25 (GHSA-gv7w-rqvm-qjhr, fixed 0.28.1); 4.22+ pulls esbuild ~0.28
  tsx: '^4.22.4'
  # P3 security-hardening (2026-06-30) — runtime transitive CVE patches.
  # follow-redirects: auth-header cross-domain leak (proxy-adjacent, top priority).
  'follow-redirects': '^1.15.12'
  # body-parser/qs: DoS via malformed urlencoded/stringify (express 5 transitive).
  'body-parser': '^2.2.1'
  'qs': '^6.15.2'
  # react-markdown/rehype-raw transitive — unsanitized class attr XSS.
  'mdast-util-to-hast': '^13.2.1'
  # mermaid transitive — IN_PLACE / shadow-root XSS chain (FE bundle).
  'dompurify': '^3.4.11'
  # express-rate-limit transitive — Address6 HTML XSS + CVE-2026-69192
  # (Address4 SSRF-adjacent parsing bypass, fixed 10.3.1).
  'ip-address': '^10.3.1'
  # uuid: buf bounds check (langgraph/bullmq/dockerode transitive; direct dep also bumped).
  'uuid': '^11.1.1'
  # brace-expansion: DoS — original zero-step (2.0.x), CVE-2026-13149
  # exponential-time expand() (fixed 2.1.2 / 5.0.7), and CVE-2026-14257
  # memory-exhaustion via unbounded result-string length (fixed 5.0.8 only —
  # no 2.x backport yet; the 2.x finding is suppressed in secops-ci-policies
  # until upstream ships one). Scope each major to its vulnerable range only,
  # leaving 1.x consumers untouched (mirrors minimatch@<X). Do NOT force 2.x
  # consumers onto 5.x: the 5.x CJS build is named-export (exports.expand)
  # and crashes minimatch@5/9's default-import at runtime.
  'brace-expansion@>=2.0.0 <2.1.2': '^2.1.2'
  # CVE-2026-69152: common-prefix/suffix arbitrary-string generation DoS,
  # fixed 5.0.9 (also 1.1.18/2.1.4/3.0.6 for those majors — none installed).
  'brace-expansion@>=5.0.0 <5.0.9': '^5.0.9'
  # js-yaml: CVE-2026-59869 DoS on malformed input (fixed 4.3.0 / 3.15.0) +
  # GHSA-5p4m-2wfm-xmqj quadratic-CPU !!omap resolution (fixed 4.3.1 / 3.15.1).
  'js-yaml@>=4.0.0 <4.3.1': '^4.3.1'
  # nanoid: CVE-2026-67213 infinite loop in customAlphabet/customRandom on
  # certain inputs (fixed 3.3.17 / 5.1.6 — only the 3.x line is installed).
  'nanoid@>=3.0.0 <3.3.17': '^3.3.17'
  # postcss: CSS-stringify XSS + GHSA-r28c-9q8g-f849 sourceMappingURL path
  # traversal (.map disclosure, fixed 8.5.18) — build-time only (tailwind/vite).
  'postcss': '^8.5.18'
  # shell-quote: quote() newline-escape bug (concurrently dev script transitive).
  'shell-quote': '^1.8.4'
  # @babel/core: sourceMappingURL arbitrary file read (@vitejs/plugin-react transitive).
  '@babel/core': '^7.29.1'
  # rollup: path-traversal arbitrary file write (build-time, via vite/vitest);
  # in-major bump (4.x), safe with vite 5's rollup ^4 peer range.
  'rollup': '^4.59.0'
  # sharp: GHSA-f88m-g3jw-g9cj HIGH (bundled libvips, fixed 0.35.0) +
  # GHSA-rgj7-g3m4-5g8c HIGH (further bundled-libvips CVEs, two rated Critical,
  # fixed 0.35.4). next (ant-site) pulls sharp ^0.34 transitively; force the
  # patched line workspace-wide. The floor must track the advisory, not just the
  # first patched release — a range a stale lockfile still satisfies is what let
  # ant-cloud keep 0.35.3 after this GHSA landed.
  'sharp': '^0.35.4'
  # next: CVE-2026-64641 / -64645 / -64649 HIGH — App Router Server Action
  # request-smuggling / SSRF chain (fixed 15.5.21). Direct dep in ant-site also
  # bumped to ^15.5.21; scope the override to the vulnerable <15.5.21 range only.
  'next@<15.5.21': '^15.5.21'
  # fast-uri: CVE-2026-75899 / -75931 / -75975 / -76172 HIGH — hostname/IPv6
  # percent-decoding and canonicalization bugs in the URI parser (fixed 3.1.6;
  # also 2.4.5 / 4.1.3 for those majors — only the 3.x line is installed here,
  # pulled in transitively via ajv). Scope to the vulnerable 3.x range only.
  'fast-uri@>=3.0.0 <3.1.6': '^3.1.6'