Major Shai Hulud campaign strikes npm again, affecting keyv and 400+ packages

Shavit Satou, JFrog Security Researcher | 4 Aug, 2026

The JFrog security research team identified a new version of the Shai-Hulud supply-chain malware affecting over 428 packages across 1700+ versions. The compromise started with the keyv and cacheable npm packages. Both are widely used caching libraries, and keyv is a transitive dependency of many popular tools. If you installed a compromised version, assume your environment is affected. This is an ongoing investigation. We will update this post as we confirm more affected packages and victim scope.

Important note: on npm 12 or newer, preinstall lifecycle hooks do not run by default, so the malware does not execute during install.

We analyzed a 710 KB JavaScript payload from the infected keyv@6.0.0 package. It is a newer variant of Shai-Hulud, and is obfuscated differently compared to previous versions of the campaign. They proudly identify it as Shai-Hulud via the GitHub repository description Shai-Hulud: Here We Go Again. It has four connected objectives:

  1. Collect local, CI, cloud, Kubernetes, and Vault secrets.
  2. Exfiltrate encrypted results through a dynamic HTTPS endpoint or attacker-created public GitHub repositories.
  3. Use stolen npm credentials to publish infected patch releases of every writable package.
  4. Use GitHub credentials and GitHub Actions to infect repositories and steal more credentials.

The analyzed sample's SHA-256 is 9fc2570b7cef51c1b8df116d144d11ff4096357be7d2c4c6367cfc2509cf1bcc.

An infected package runs node setup.mjs during preinstall. The loader is a small Node.js bootstrap that works on Linux, macOS, and Windows. It uses an installed bun executable when available. Otherwise it downloads Bun 1.3.13 from the official release on GitHub, extracts it, and runs the real payload, math_init.js. They remove the temporary Bun copy right afterwards.

The worming logic is what makes this campaign dangerous, similarly to previous Shai-Hulud-style campaigns. When the collector finds an npm token, it validates the token before exfiltration even completes. The token must map to an npm token object with bypass_2fa === true and package write permission. For every package writable with that token, the worm:

  1. Downloads the current latest tarball.
  2. Copies the running sample to package/math_init.js.
  3. Writes the loader to package/setup.mjs.
  4. Replaces the package's complete scripts object and sets scripts.preinstall to node setup.mjs.
  5. Increments the patch version.
  6. Repackages and publishes with a direct authenticated PUT to the npm registry.

The worm also commits five files to GitHub branches it can reach:

.vscode/tasks.json
.vscode/setup.mjs
.claude/math_init.js
.claude/settings.json
.claude/setup.mjs

The configuration is mutually reinforcing. .vscode/tasks.json defines an Environment Setup task that runs node .claude/setup.mjs when a folder opens. .claude/settings.json defines a SessionStart hook that runs node .vscode/setup.mjs. Both setup files contain the Bun bootstrap, and .claude/math_init.js is the worm. Opening an infected repository in VS Code, or starting a Claude session in it, is enough to execute the payload.

Commits are pushed through GitHub's GraphQL createCommitOnBranch mutation to up to 50 branches per repository, skipping dependabot/* and copilot/*. The commit message is chore: update config with a forged Co-authored-by: claude <claude@users.noreply.github.com> trailer (even though it was not committed by Claude). Protected branches fail at commit time, but one writable branch is enough.

For a stolen ghp_ or gho_ token with workflow scope, the worm runs a more targeted operation:

  1. Enumerates up to 100 repositories pushed since September 2025 where the token has push permission.
  2. Checks whether each repository or its organization has Actions secrets.
  3. Creates the branch dependabot/github_actions/format/setup-formatter from the default branch.
  4. Adds .github/workflows/codeql_analysis.yml with commit message Add CodeQL Analysis, committed as github-advanced-security[bot].
  5. Waits for the workflow to complete, downloads the format-results artifact, and reads format-results.txt.
  6. Deletes the workflow run and the temporary branch.

The injected workflow is named Run Copilot and does one thing: assign ${{ toJSON(secrets) }} to an environment variable, write it to format-results.txt, and upload the file as an artifact. The repository's full secrets context leaves GitHub through a legitimate-looking artifact download. Recovered npm and GitHub tokens feed back into the collector, which makes the whole loop recursive.

The workflow pins actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd and actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f, which look routine in a run log.

The filesystem collector reads hundreds of configured paths across Linux, macOS, and Windows: package manager tokens (npm, Yarn, PyPI, Verdaccio), cloud configuration (AWS, Azure, GCP, Alibaba, Tencent, Hetzner), Kubernetes and Helm config, .env files, shell histories, SSH private keys, VPN profiles, browser credential stores, instant messengers, crypto wallet material, AI tool credentials (OpenAI, Anthropic, Claude, Cursor, Codex, Gemini, and others), /etc/shadow, and /proc/self/environ.

The collector does not stop at files:

  • It runs gh auth token to pull a GitHub token from the CLI.
  • On Linux GitHub Actions runners, it uses sudo python3 to read the Runner.Worker process memory through /proc/<pid>/mem and extracts secret-store objects marked isSecret:true.
  • It resolves AWS credentials from environment, profiles, web-identity tokens, ECS metadata, and IMDSv2, then enumerates Secrets Manager and SSM Parameter Store (with WithDecryption: true) across 17 regions.
  • It reads all accessible Kubernetes Secrets from the in-cluster service account or kubeconfig, and enumerates HashiCorp Vault KV mounts.

The C2 endpoint is not hardcoded in the sample. The malware calls the Ethereum mainnet contract 0xE1f2395ee43e45A1556EC6438a88c31B83493103 through public RPC providers, using eth_call with selector 0x53ed5143. The response decodes to a list of C2 domains, contacted over HTTPS on path /router. If the contract fails, the malware searches GitHub commit messages for the marker thebeautifulmarchoftime and verifies a signed payload in a second marker, thebeautifulsnadsoftime (the misspelling is in the code), against an embedded RSA-4096 public key. Both markers make good hunting artifacts.

Exfiltrated results are serialized to JSON, gzipped, encrypted with a random AES-256-GCM key, and wrapped with an embedded RSA public key. A successful C2 response can contain a code field, which the malware passes to eval. That is full remote code execution inside the compromised process.

If direct C2 is unavailable, the sample falls back to GitHub. Using a stolen PAT, it creates a public repository named from Dune vocabulary (sardaukar, fremen, atreides, sandworm, melange, and so on) with the description Shai-Hulud: Here We Go Again, and commits encrypted results under results/. If the victim account has no organizations, the worm also publishes the victim's own PAT, double-base64 encoded, in a commit message reading IfYouBlockThisAPIKeyItWillCrashTheLiveProductionServersOfAllThirdPartyClients:<encoded-token>. Other infected hosts search public commit messages for that marker and reuse tokens that still work. This gives the campaign a decentralized fallback channel built on GitHub search.

The sample has one special-cased path. Inside a GitHub Actions run where GITHUB_WORKFLOW_REF contains release-drafter.yml and GITHUB_REPOSITORY contains /opensearch-js, it requests an Actions OIDC token with audience npm:registry.npmjs.org, adds a malicious optionalDependencies entry pointing at a fixed attacker commit to @opensearch-project/opensearch, exchanges the OIDC token for a publish token, and publishes. It also creates a Sigstore bundle through Fulcio and Rekor, so the malicious tarball gets valid provenance from the trusted workflow context. In that repository, other workflows exit before the general collection path runs. None of this is accidental.

The encrypted payload set includes scripts with no call site in the observed execution path: a Bash Bun loader, a Python Bun loader, and a gh-token-monitor installer for macOS LaunchAgents and Linux user systemd. The monitor stores a GitHub token and a handler, polls the token every 60 seconds for up to 24 hours, and runs the handler when the token starts returning 4xx, presumably to act when defenders revoke it. We assess these are development or fallback capabilities. Hunt for the artifacts, but do not report them as active persistence without evidence of installation.

Most strings use a custom position-dependent substitution cipher derived from PBKDF2-HMAC-SHA256. Larger payloads are gzipped and AES-256-GCM encrypted. Outside CI, the sample relaunches itself detached with _NODE_RUNTIME_INIT=1, holds a PID lock at /tmp/tmp.dpkg_14527.lock, installs empty SIGINT/SIGTERM handlers, swallows top-level exceptions, and exits zero. The code contains the string Exiting as russian language detected!, but its predicate always returns false. There is no active language exclusion.

JFrog Curation customers using an immaturity policy were fully protected from this attack, as all of the hijacked packages were flagged in less than 24 hours. Curation has an automatic compliance version selection (CVS) mechanism to ensure developer and CI/CD seamless fallback to compliant, non-malicious versions.

If you installed any package version in the table below, treat the host as compromised. CI runners and build machines are the highest-value targets and should be rebuilt, not cleaned.

Isolate affected systems. Preserve package tarballs, npm logs, CI logs, GitHub audit logs, and runner images before cleanup. You will need them to bound the exposure window.

Revoke all npm tokens available to affected users and CI jobs, starting with tokens that have bypass_2fa and write permission. Revoke GitHub PATs, OAuth tokens, and Actions tokens exposed to affected systems. Then rotate everything else present on the host or runner: AWS, Azure, GCP, Kubernetes, Vault, database, SSH, VPN, AI-service, and wallet credentials. Assume any secret the collector could read was read.

Search all branches, not just default branches, for the five hook files (.vscode/tasks.json, .vscode/setup.mjs, .claude/math_init.js, .claude/settings.json, .claude/setup.mjs). Review audit logs for the commit message chore: update config, the branch dependabot/github_actions/format/setup-formatter, workflows that created and quickly deleted codeql_analysis.yml, and any run that produced a format-results artifact. Alert on any workflow that serializes ${{ toJSON(secrets) }}.

Disable or remove the compromised versions listed below. Clear package-manager caches and existing node_modules trees. Rebuild CI runners and developer environments from clean images. Publish clean package versions only after publisher credentials and trusted-publishing configuration are replaced.

Review npm trusted publishers and GitHub OIDC configuration, especially release automation based on release-drafter.yml. The OpenSearch targeting shows the actor understands and abuses trusted publishing flows.

This Shai-Hulud variant is a credential stealer, an npm worm, and a GitHub repository infector in one payload. Its propagation does not depend on a fixed package list. One stolen npm token with broad write access can turn every package owned by that publisher into the next wave. GitHub tokens extend the loop by exposing Actions secrets and planting execution hooks where developers are likely to trigger them.

If an affected version ran in your environment, removing the package is not enough. Revoke credentials, inspect every writable repository branch, and rebuild the host or CI runner from a clean image.

The initial wave consisted of keyv 6.0.0, cacheable 2.5.1, and the @cacheable/* family. Because the worm republishes every package writable with the credentials it steals, the list below keeps growing. It is current as of this writing and will be updated. Xray IDs are being assigned and will be added.

Package Version Xray ID
@adminide-stack/clock-tik-browser 12.0.24 XRAY-1042725
@adminide-stack/yantra-mobile 12.0.33 XRAY-1042684
@arv-bedrock/auth 1.1.7, 1.1.8 XRAY-1042359
@arv-bedrock/auth-admin 1.0.2, 1.0.3 XRAY-1042352
@arv-bedrock/auth-sso 1.6.1, 1.6.2 XRAY-1042354
@arv-bedrock/auth-sso-backend 1.7.1, 1.7.2 XRAY-1042299
@arv-bedrock/logger 1.7.1, 1.7.2 XRAY-1042305
@cacheable/memory 2.2.1 XRAY-1042321
@cacheable/net 2.1.1 XRAY-1042290
@cacheable/node-cache 3.1.2 XRAY-1042338
@cacheable/utils 2.5.1 XRAY-1042294
@deliveroo/determinator 0.2.1 XRAY-1042319
@deliveroo/reevent 1.0.1 XRAY-1042350
@hubsync/web-sdk-react 6.3.7, 6.3.8, 6.3.9, 6.3.10, 6.3.11, 6.3.12, 6.3.13, 6.3.14, 6.3.15, 6.3.16, 6.3.17, 6.3.18, 6.3.19, 6.3.20, 6.3.21, 6.3.22, 6.3.23, 6.3.24, 6.3.25, 6.3.26, 6.3.27, 6.3.28, 6.3.29, 6.3.30, 6.3.31, 6.3.32, 6.3.33 XRAY-1042366
@keyv/bigmap 6.0.0 XRAY-1042759
@keyv/cloudflare-kv 6.0.0 XRAY-1042719
@keyv/compress-brotli 6.0.0 XRAY-1042742
@keyv/compress-gzip 6.0.0 XRAY-1042761
@keyv/compress-lz4 6.0.0 XRAY-1042723
@keyv/dynamo 6.0.0 XRAY-1042738
@keyv/encrypt-node 6.0.0 XRAY-1042710
@keyv/encrypt-web 6.0.0 XRAY-1042758
@keyv/etcd 6.0.0 XRAY-1042734
@keyv/memcache 6.0.0 XRAY-1042731
@keyv/mongo 6.0.0 XRAY-1042716
@keyv/mysql 6.0.0 XRAY-1042703
@keyv/postgres 6.0.0 XRAY-1042755
@keyv/redis 6.0.0 XRAY-1042754
@keyv/serialize-msgpackr 6.0.0 XRAY-1042737
@keyv/serialize-superjson 6.0.0 XRAY-1042687
@keyv/sqlite 6.0.0 XRAY-1042760
@keyv/test-suite 6.0.0 XRAY-1042730
@keyv/valkey 6.0.0 XRAY-1042749
@nebula.js/cli 7.1.2 XRAY-1042706
@nebula.js/cli-build 7.1.2 XRAY-1042691
@nebula.js/cli-sense 7.1.2 XRAY-1042683
@nebula.js/cli-serve 7.1.2 XRAY-1042712
@nebula.js/locale 0.6.2 XRAY-1042764
@nebula.js/nucleus 0.5.1 XRAY-1042763
@nebula.js/sn-action-button 2.3.1 XRAY-1042697
@nebula.js/sn-animator 2.13.1 XRAY-1042718
@nebula.js/sn-distributionplot 1.0.7 XRAY-1042692
@nebula.js/sn-layout-container 4.4.1 XRAY-1042727
@nebula.js/sn-line-chart 2.7.1 XRAY-1042724
@nebula.js/sn-listbox 0.19.3 XRAY-1042729
@nebula.js/sn-map 0.12.7 XRAY-1042757
@nebula.js/sn-nav-menu 0.14.2 XRAY-1042345
@nebula.js/sn-org-chart 1.7.1 XRAY-1042728
@nebula.js/sn-shape 1.5.1 XRAY-1042739
@nebula.js/sn-slider 0.20.1 XRAY-1042708
@nebula.js/sn-tabbed-container 2.4.1 XRAY-1042750
@nebula.js/snapshooter 0.6.1 XRAY-1042721
@nebula.js/stardust 7.1.2 XRAY-1042744
@nebula.js/test-utils 0.6.1 XRAY-1042720
@nebula.js/theme 0.6.1 XRAY-1042753
@onereach/authorizer-helper 0.0.11, 0.0.12 XRAY-1042443
@onereach/bandwidth-steps-voice-bxml 0.1.1, 0.1.2 XRAY-1042466
@onereach/billing-dto 27.2.1, 27.2.2 XRAY-1042349
@onereach/billing-shared 27.2.1, 27.2.2 XRAY-1042554
@onereach/cb-schema-translator 1.3.1, 1.3.2 XRAY-1042393
@onereach/channel-transformer 0.0.66, 0.0.67 XRAY-1042675
@onereach/channel-transformers 0.0.5, 0.0.6 XRAY-1042425
@onereach/ckeditor5-build-classic 30.0.1, 30.0.2 XRAY-1042526
@onereach/condition-builder 1.0.8, 1.0.9 XRAY-1042450
@onereach/content-builder 0.0.18, 0.0.19 XRAY-1042390
@onereach/content-builder-template-compiler 0.0.3, 0.0.4 XRAY-1042569
@onereach/expression-components 9.1.1, 9.1.2 XRAY-1042389
@onereach/font-icons 27.0.2, 27.0.3 XRAY-1042678
@onereach/get-version-data 3.1.2, 3.1.3 XRAY-1042479
@onereach/idw-apps 0.1.3, 0.1.4 XRAY-1042531
@onereach/idw-contracts 0.1.2, 0.1.3 XRAY-1042469
@onereach/idw-init-account-resources 1.0.1, 1.0.2 XRAY-1042401
@onereach/idw-sdk 0.1.2, 0.1.3 XRAY-1042551
@onereach/idw-ui-components 0.1.2, 0.1.3 XRAY-1042404
@onereach/lambda-invocation 1.2.1, 1.2.2 XRAY-1042566
@onereach/messengers-infobip-sdk 0.1.1, 0.1.2 XRAY-1042575
@onereach/or-browser 0.0.48, 0.0.49 XRAY-1042651
@onereach/or-browser-next 0.0.11, 0.0.12 XRAY-1042637
@onereach/or-content-builder-renderer 0.0.2, 0.0.3 XRAY-1042658
@onereach/or-file-uploader-next 0.0.8, 0.0.9 XRAY-1042618
@onereach/or-pro 1.13.1, 1.13.2 XRAY-1042407
@onereach/or-sdk-agent-cli 0.0.6, 0.0.7 XRAY-1042605
@onereach/orest-cli 2.4.1, 2.4.2 XRAY-1042582
@onereach/orest-input-cli 1.18.1, 1.18.2 XRAY-1042638
@onereach/orest-jest-presets 0.0.3, 0.0.4 XRAY-1042405
@onereach/orest-vue-demi-vue2 0.0.4, 0.0.5 XRAY-1042403
@onereach/orest-vue-demi-vue3 0.0.4, 0.0.5 XRAY-1042461
@onereach/orest-vue3 0.0.4, 0.0.5 XRAY-1042438
@onereach/phonenumber-interpreter 0.0.18, 0.0.19 XRAY-1042679
@onereach/pnpm-audit-junit 1.0.3, 1.0.4 XRAY-1042519
@onereach/postcss-scoped-selector 1.2.1, 1.2.2 XRAY-1042464
@onereach/regex-helper 0.5.16, 0.5.17 XRAY-1042392
@onereach/regular-expressions 0.5.23, 0.5.24 XRAY-1042465
@onereach/regular-expressions-test 0.0.4, 0.0.5 XRAY-1042522
@onereach/rwc-client 6.4.7, 6.4.8 XRAY-1042483
@onereach/salesforce-miaw-client 0.0.3, 0.0.4 XRAY-1042647
@onereach/si-a-button 0.0.3, 0.0.4 XRAY-1042528
@onereach/si-alert 0.4.11, 0.4.12 XRAY-1042560
@onereach/si-checkbox 0.6.5, 0.6.6 XRAY-1042543
@onereach/si-checkbox-group 0.3.5, 0.3.6 XRAY-1042601
@onereach/si-code 0.6.4, 0.6.5 XRAY-1042600
@onereach/si-collapsible-group 0.6.4, 0.6.5 XRAY-1042460
@onereach/si-copyable-text 0.4.11, 0.4.12 XRAY-1042648
@onereach/si-datepicker 0.4.5, 0.4.6 XRAY-1042495
@onereach/si-divider 0.4.11, 0.4.12 XRAY-1042411
@onereach/si-dropdown-advanced 0.4.5, 0.4.6 XRAY-1042541
@onereach/si-dropdown-simple 0.4.5, 0.4.6 XRAY-1042592
@onereach/si-header 0.4.11, 0.4.12, 0.4.13 XRAY-1042630
@onereach/si-list 0.7.4, 0.7.5 XRAY-1042396
@onereach/si-merge-tag-input 0.4.5, 0.4.6 XRAY-1042409
@onereach/si-radio-group 0.3.5, 0.3.6 XRAY-1042558
@onereach/si-root 0.9.4, 0.9.5 XRAY-1042485
@onereach/si-select 0.1.3, 0.1.4 XRAY-1042478
@onereach/si-step-chooser 0.4.4, 0.4.5 XRAY-1042645
@onereach/si-switch 0.4.5, 0.4.6 XRAY-1042431
@onereach/si-text-message 0.4.5, 0.4.6 XRAY-1042584
@onereach/si-textinput 0.5.5, 0.5.6 XRAY-1042422
@onereach/si-validated-timestring-input 0.3.5, 0.3.6 XRAY-1042655
@onereach/slack-helpers 1.0.3, 1.0.4 XRAY-1042459
@onereach/ssml-editor 2.0.12, 2.0.13 XRAY-1042494
@onereach/step-components 0.1.37, 0.1.38 XRAY-1042456
@onereach/step-conversation 1.0.41, 1.0.42 XRAY-1042590
@onereach/step-run-snowflake-query 0.1.1, 0.1.2 XRAY-1042643
@onereach/step-voice 7.0.32, 7.0.33 XRAY-1042620
@onereach/styles 27.0.2, 27.0.3 XRAY-1042476
@onereach/time-interpreter 1.0.30, 1.0.31 XRAY-1042677
@onereach/ts-memoize 1.0.2, 1.0.3 XRAY-1042591
@onereach/types-contacts-api 9.0.8, 9.0.9 XRAY-1042525
@onereach/ui-components 27.0.2, 27.0.3 XRAY-1042439
@onereach/ui-components-common 27.0.2, 27.0.3 XRAY-1042619
@onereach/ui-components-vue2 27.0.2, 27.0.3 XRAY-1042462
@onereach/v-event-calendar 0.1.22, 0.1.23 XRAY-1042607
@onereach/webform 0.3.13, 0.3.14 XRAY-1042394
@or-sdk/account-settings 1.3.6, 1.3.7 XRAY-1042413
@or-sdk/accounts 2.3.5, 2.3.6 XRAY-1042480
@or-sdk/adapters 0.3.6, 0.3.7 XRAY-1042437
@or-sdk/agents 4.21.3, 4.21.4 XRAY-1042474
@or-sdk/api-tokens 1.4.2, 1.4.3 XRAY-1042335
@or-sdk/api-tokens-lambda 1.4.2, 1.4.3 XRAY-1042509
@or-sdk/apps 1.2.6, 1.2.7 XRAY-1042579
@or-sdk/auth 0.38.1, 0.38.2 XRAY-1042340
@or-sdk/authorizer 0.26.7, 0.26.8 XRAY-1042336
@or-sdk/base 0.44.4, 0.44.5 XRAY-1042515
@or-sdk/billing 27.2.1, 27.2.2 XRAY-1042573
@or-sdk/billing-internal 27.2.1, 27.2.2 XRAY-1042426
@or-sdk/bot-templates 2.2.5, 2.2.6 XRAY-1042623
@or-sdk/bots 1.7.1, 1.7.2 XRAY-1042597
@or-sdk/card-templates 2.2.5, 2.2.6 XRAY-1042445
@or-sdk/cards 1.2.5, 1.2.6 XRAY-1042557
@or-sdk/ccp 10.15.4, 10.15.5 XRAY-1042455
@or-sdk/chat 0.3.1, 0.3.2 XRAY-1042502
@or-sdk/contacts 4.7.5, 4.7.6 XRAY-1042423
@or-sdk/content-request 0.2.6, 0.2.7 XRAY-1042602
@or-sdk/data-hub 0.26.5, 0.26.6 XRAY-1042496
@or-sdk/data-hub-svc 2.3.5, 2.3.6 XRAY-1042628
@or-sdk/deployer 1.7.5, 1.7.6 XRAY-1042664
@or-sdk/deployments 2.1.5, 2.1.6 XRAY-1042448
@or-sdk/discovery 1.12.1, 1.12.2 XRAY-1042408
@or-sdk/druid 1.4.7, 1.4.8 XRAY-1042491
@or-sdk/event-manager 1.1.5, 1.1.6 XRAY-1042499
@or-sdk/files 3.11.6, 3.11.7 XRAY-1042482
@or-sdk/files-sync-node 0.1.8, 0.1.9 XRAY-1042513
@or-sdk/flow-templates 2.1.5, 2.1.6 XRAY-1042564
@or-sdk/flows 2.7.8, 2.7.9 XRAY-1042514
@or-sdk/graph 1.10.5, 1.10.6 XRAY-1042671
@or-sdk/hitl 0.41.1, 0.41.2 XRAY-1042556
@or-sdk/identifiers 0.27.6, 0.27.7 XRAY-1042598
@or-sdk/idw 9.0.4, 9.0.5 XRAY-1042574
@or-sdk/idw-public 1.6.6, 1.6.7 XRAY-1042622
@or-sdk/idw-skill 1.4.1, 1.4.2 XRAY-1042441
@or-sdk/invitations 1.4.8, 1.4.9 XRAY-1042659
@or-sdk/key-value-storage 0.28.6, 0.28.7 XRAY-1042624
@or-sdk/keys 1.2.6, 1.2.7 XRAY-1042673
@or-sdk/knowledge-models 0.25.5, 0.25.6 XRAY-1042532
@or-sdk/library 0.5.6, 0.5.7 XRAY-1042412
@or-sdk/library-categories 0.2.6, 0.2.7 XRAY-1042588
@or-sdk/library-source 0.4.5, 0.4.6 XRAY-1042572
@or-sdk/library-types-v1 9.0.1, 9.0.2 XRAY-1042604
@or-sdk/library-types-v2 9.0.1, 9.0.2 XRAY-1042417
@or-sdk/lookup 1.25.1, 1.25.2 XRAY-1042500
@or-sdk/markdowner 0.5.1, 0.5.2 XRAY-1042471
@or-sdk/mcp-tools 0.5.2, 0.5.3 XRAY-1042468
@or-sdk/notifications 1.7.5, 1.7.6 XRAY-1042446
@or-sdk/password 1.3.6, 1.3.7 XRAY-1042472
@or-sdk/payments 3.2.5, 3.2.6 XRAY-1042547
@or-sdk/permissions 2.8.1, 2.8.2 XRAY-1042293
@or-sdk/permissions-cli 1.4.1, 1.4.2 XRAY-1042576
@or-sdk/permissions-lambda 2.5.1, 2.5.2 XRAY-1042497
@or-sdk/pgsql 1.5.1, 1.5.2 XRAY-1042527
@or-sdk/providers 0.3.6, 0.3.7 XRAY-1042581
@or-sdk/qna 3.4.2, 3.4.3 XRAY-1042501
@or-sdk/queue-manager 1.4.6, 1.4.7 XRAY-1042473
@or-sdk/sdk-api 0.29.2, 0.29.3 XRAY-1042400
@or-sdk/settings 0.25.6, 0.25.7 XRAY-1042488
@or-sdk/sku-builder 2.5.1, 2.5.2 XRAY-1042429
@or-sdk/source 2.1.5, 2.1.6 XRAY-1042635
@or-sdk/source-api 1.1.1, 1.1.2 XRAY-1042610
@or-sdk/step-templates 2.2.5, 2.2.6 XRAY-1042430
@or-sdk/store 2.1.5, 2.1.6 XRAY-1042521
@or-sdk/tables 0.28.5, 0.28.6 XRAY-1042599
@or-sdk/tags 1.1.5, 1.1.6 XRAY-1042504
@or-sdk/tickets 1.9.5, 1.9.6 XRAY-1042492
@or-sdk/transcripts 1.2.5, 1.2.6 XRAY-1042421
@or-sdk/users 3.8.1, 3.8.2 XRAY-1042467
@or-sdk/view-templates 2.2.5, 2.2.6 XRAY-1042440
@or-sdk/views 3.1.5, 3.1.6 XRAY-1042594
@or-sdk/web-search 0.6.1, 0.6.2 XRAY-1042549
@ornikar/apollo-link-timeout 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6, 1.4.7 XRAY-1042306
@ornikar/babel-preset-base 6.0.3, 6.0.4, 6.0.5, 6.0.6, 6.0.7, 6.0.8, 6.0.9, 6.0.10 XRAY-1042365
@ornikar/babel-preset-kitt-universal 8.0.3, 8.0.4, 8.0.5, 8.0.6, 8.0.7, 8.0.8 XRAY-1042331
@ornikar/babel-preset-react 6.1.4, 6.1.5, 6.1.6, 6.1.7, 6.1.8, 6.1.9, 6.1.10 XRAY-1042316
@ornikar/browserslist-config 8.0.3, 8.0.4, 8.0.5, 8.0.6, 8.0.7, 8.0.8, 8.0.9, 8.0.11 XRAY-1042314
@ornikar/commitlint-config 8.3.2, 8.3.3, 8.3.4, 8.3.5, 8.3.6, 8.3.7, 8.3.8 XRAY-1042320
@ornikar/eslint-config 24.0.1, 24.0.2, 24.0.3, 24.0.4, 24.0.5, 24.0.6, 24.0.7, 24.0.8 XRAY-1042323
@ornikar/eslint-config-babel 24.0.1, 24.0.2, 24.0.3, 24.0.4, 24.0.5, 24.0.6, 24.0.7, 24.0.8 XRAY-1042364
@ornikar/eslint-config-babel-use 13.2.1, 13.2.2, 13.2.3, 13.2.4, 13.2.5, 13.2.6, 13.2.7, 13.2.8 XRAY-1042341
@ornikar/eslint-config-formatjs 24.0.1, 24.0.2, 24.0.3, 24.0.4, 24.0.5, 24.0.6 XRAY-1042353
@ornikar/eslint-config-node 12.2.1, 12.2.2, 12.2.3, 12.2.4, 12.2.5, 12.2.6 XRAY-1042300
@ornikar/eslint-config-react 24.0.1, 24.0.2, 24.0.3, 24.0.4, 24.0.5, 24.0.6, 24.0.7 XRAY-1042363
@ornikar/eslint-config-typescript 24.0.1, 24.0.2, 24.0.3, 24.0.4, 24.0.5, 24.0.6 XRAY-1042368
@ornikar/eslint-config-typescript-nestjs 24.0.1, 24.0.2, 24.0.3, 24.0.4, 24.0.5, 24.0.6, 24.0.7 XRAY-1042292
@ornikar/eslint-config-typescript-react 24.0.1, 24.0.2, 24.0.3, 24.0.4, 24.0.5, 24.0.6, 24.0.7 XRAY-1042330
@ornikar/eslint-plugin-neverthrow 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5, 1.3.6, 1.3.7, 1.3.8 XRAY-1042332
@ornikar/eslint-plugin-ornikar 24.0.1, 24.0.2, 24.0.3, 24.0.4, 24.0.5, 24.0.6, 24.0.7 XRAY-1042296
@ornikar/graphql-config 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.7 XRAY-1042304
@ornikar/intl-config 10.0.2, 10.0.3, 10.0.4, 10.0.5, 10.0.6, 10.0.7, 10.0.8 XRAY-1042291
@ornikar/jest-config 13.0.3, 13.0.4, 13.0.5, 13.0.6, 13.0.7, 13.0.8, 13.0.9 XRAY-1042322
@ornikar/jest-config-react 18.0.2, 18.0.3, 18.0.4, 18.0.5, 18.0.6, 18.0.7, 18.0.8 XRAY-1042302
@ornikar/jest-config-react-native 17.0.2, 17.0.3, 17.0.4, 17.0.5, 17.0.6, 17.0.7, 17.0.8 XRAY-1042317
@ornikar/jest-config-react-native-web 12.0.3, 12.0.4, 12.0.5, 12.0.6, 12.0.7, 12.0.8, 12.0.9 XRAY-1042361
@ornikar/kitt2 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.0.7 XRAY-1042333
@ornikar/lerna-config 11.0.1, 11.0.2, 11.0.3, 11.0.4, 11.0.5, 11.0.6, 11.0.7 XRAY-1042324
@ornikar/monorepo-config 14.3.2, 14.3.3, 14.3.4, 14.3.5, 14.3.6, 14.3.7, 14.3.8, 14.3.9 XRAY-1042301
@ornikar/postcss-config 9.1.2, 9.1.3, 9.1.4, 9.1.5, 9.1.6, 9.1.7, 9.1.8 XRAY-1042328
@ornikar/prettier-config 9.0.3, 9.0.4, 9.0.5, 9.0.6, 9.0.7, 9.0.8, 9.0.9, 9.0.11 XRAY-1042357
@ornikar/prismic-components 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7, 0.0.8 XRAY-1042325
@ornikar/react-modern-calendar-datepicker 3.2.1, 3.2.2, 3.2.3, 3.2.4, 3.2.5, 3.2.6, 3.2.7 XRAY-1042342
@ornikar/react-native-svg-transformer 1.0.6, 1.0.7, 1.0.8, 1.0.9, 1.0.10, 1.0.11 XRAY-1042303
@ornikar/renovate-config 9.0.2, 9.0.3, 9.0.4, 9.0.5, 9.0.6, 9.0.7, 9.0.8, 9.0.9 XRAY-1042334
@ornikar/repo-config 15.3.3, 15.3.4, 15.3.5, 15.3.6, 15.3.7, 15.3.8, 15.3.9 XRAY-1042329
@ornikar/repo-config-react 13.0.8, 13.0.9, 13.0.10, 13.0.11, 13.0.12, 13.0.13, 13.0.14, 13.0.15 XRAY-1042310
@ornikar/repo-config-react-legacy-css 15.1.2, 15.1.3, 15.1.4, 15.1.5, 15.1.6, 15.1.7, 15.1.8, 15.1.9 XRAY-1042339
@ornikar/rollup-config 11.1.2, 11.1.3, 11.1.4, 11.1.5, 11.1.6, 11.1.7, 11.1.8, 11.1.9 XRAY-1042312
@ornikar/rollup-plugin-postcss 2.0.5, 2.0.6, 2.0.7, 2.0.8, 2.0.9, 2.0.10, 2.0.11 XRAY-1042347
@ornikar/slate-react-fork 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.0.7 XRAY-1042308
@ornikar/storybook-config 12.1.2, 12.1.3, 12.1.4, 12.1.5, 12.1.6, 12.1.7 XRAY-1042356
@ornikar/stylelint-config 14.0.3, 14.0.4, 14.0.5, 14.0.6, 14.0.7, 14.0.8, 14.0.9 XRAY-1042358
@ornikar/typed-css-modules-loader 0.8.2, 0.8.3, 0.8.4, 0.8.5, 0.8.6, 0.8.7, 0.8.8 XRAY-1042343
@ornikar/webpack-config 12.0.2, 12.0.3, 12.0.4, 12.0.5, 12.0.6, 12.0.7, 12.0.8 XRAY-1042362
@picsart/ai-sdk 3.32.2 XRAY-1042351
@picsart/gen-ai 2.55.11 XRAY-1042442
@qlik/api 2.14.2 XRAY-1042740
@qlik/browserslist-config 3.0.2 XRAY-1042705
@qlik/carbon-core 2.1.1 XRAY-1042682
@qlik/carboncopy 1.1.6 XRAY-1042693
@qlik/design-tokens 1.3.13 XRAY-1042722
@qlik/dts-bundler 2.0.3 XRAY-1042698
@qlik/embed-react 2.5.3 XRAY-1042309
@qlik/embed-runtime 1.6.4 XRAY-1042743
@qlik/embed-svelte 1.1.4 XRAY-1042689
@qlik/embed-web-components 1.7.3 XRAY-1042702
@qlik/eslint-config 2.0.20 XRAY-1042685
@qlik/eslint-config-base 0.1.1 XRAY-1042688
@qlik/eslint-config-react 0.1.1 XRAY-1042745
@qlik/eslint-config-svelte 0.1.1 XRAY-1042726
@qlik/eslint-config-vue 0.1.1 XRAY-1042733
@qlik/nebula-table-utils 2.6.9 XRAY-1042699
@qlik/oxfmt-config 0.1.6 XRAY-1042686
@qlik/oxlint-config 0.7.2 XRAY-1042736
@qlik/prettier-config 1.0.3 XRAY-1042765
@qlik/react-native-simple-grid 1.5.5 XRAY-1042690
@qlik/runtime-module-loader 1.5.1 XRAY-1042717
@qlik/sdk 0.28.1 XRAY-1042741
@qlik/sprout-design-docs 1.0.2 XRAY-1042752
@qlik/sprout-gesture 0.0.13 XRAY-1042709
@qlik/sprout-icons 0.12.3 XRAY-1042747
@qlik/sprout-react 6.45.3 XRAY-1042711
@qlik/sprout-react-table 0.16.7 XRAY-1042715
@qlik/tsconfig 1.0.3 XRAY-1042756
@servicetitan/acquisition-functions 5.22.1, 5.22.2, 5.22.3, 5.22.4, 5.22.5, 5.22.6 XRAY-1042626
@servicetitan/admin-layout 2.4.3, 2.4.4, 2.4.5, 2.4.6, 2.4.7, 2.4.8 XRAY-1042657
@servicetitan/admin-sql-table 1.0.14, 1.0.15, 1.0.16, 1.0.17, 1.0.18, 1.0.19 XRAY-1042553
@servicetitan/ajax-handlers 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042539
@servicetitan/anvil-css-utilities 14.5.4, 14.5.5, 14.5.6, 14.5.7, 14.5.8, 14.5.9 XRAY-1042562
@servicetitan/anvil-fonts 14.5.4, 14.5.5, 14.5.6, 14.5.7, 14.5.8, 14.5.9 XRAY-1042398
@servicetitan/anvil-icon 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.5.6 XRAY-1042625
@servicetitan/anvil-icons 14.5.4, 14.5.5, 14.5.6, 14.5.7, 14.5.8, 14.5.9 XRAY-1042444
@servicetitan/anvil-react 0.11.3, 0.11.4, 0.11.5, 0.11.6, 0.11.7, 0.11.8 XRAY-1042487
@servicetitan/anvil-themes 14.5.4, 14.5.5, 14.5.6, 14.5.7, 14.5.8, 14.5.9 XRAY-1042662
@servicetitan/anvil-token 0.4.1, 0.4.2, 0.4.3, 0.4.4, 0.4.5, 0.4.6 XRAY-1042512
@servicetitan/anvil2 3.9.1, 3.9.2, 3.9.3, 3.9.4, 3.9.5, 3.9.6 XRAY-1042419
@servicetitan/anvil2-codemods 0.11.2, 0.11.3, 0.11.4, 0.11.5, 0.11.6, 0.11.7 XRAY-1042510
@servicetitan/anvil2-ext-atlas 4.0.2, 4.0.3, 4.0.4, 4.0.5, 4.0.6, 4.0.7 XRAY-1042410
@servicetitan/anvil2-ext-charts 0.2.4, 0.2.5, 0.2.6, 0.2.7, 0.2.8, 0.2.9 XRAY-1042481
@servicetitan/anvil2-ext-common 0.7.1, 0.7.2, 0.7.3, 0.7.4, 0.7.5, 0.7.6 XRAY-1042427
@servicetitan/anvil2-ext-mwv 0.0.5, 0.0.6, 0.0.7, 0.0.8, 0.0.9, 0.0.10 XRAY-1042457
@servicetitan/anvil2-illustrations 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.0.7 XRAY-1042667
@servicetitan/anvil2-mcp 0.0.9, 0.0.10, 0.0.11, 0.0.12, 0.0.13, 0.0.14 XRAY-1042661
@servicetitan/assist-ui 2.1.1, 2.1.2, 2.1.3, 2.1.4, 2.1.5, 2.1.6 XRAY-1042615
@servicetitan/assist-utils 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.7 XRAY-1042490
@servicetitan/carto-charts-core 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7 XRAY-1042629
@servicetitan/carto-charts-react 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7 XRAY-1042449
@servicetitan/carto-charts-rn 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7 XRAY-1042489
@servicetitan/carto-react-kit 0.8.4, 0.8.5, 0.8.6, 0.8.7, 0.8.8, 0.8.9 XRAY-1042506
@servicetitan/carto-rn-kit 0.0.10, 0.0.11, 0.0.12, 0.0.13, 0.0.14, 0.0.15 XRAY-1042583
@servicetitan/carto-tokens 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6 XRAY-1042493
@servicetitan/component-usage 28.5.1, 28.5.2, 28.5.3, 28.5.4, 28.5.5, 28.5.6 XRAY-1042395
@servicetitan/confirm 41.3.1, 41.3.2, 41.3.3, 41.3.4, 41.3.5, 41.3.6 XRAY-1042516
@servicetitan/confirm-navigation 41.3.1, 41.3.2, 41.3.3, 41.3.4, 41.3.5, 41.3.6 XRAY-1042399
@servicetitan/contentful 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7, 0.0.8 XRAY-1042520
@servicetitan/contentful-proxy 1.1.12, 1.1.13, 1.1.14, 1.1.15, 1.1.16, 1.1.17 XRAY-1042484
@servicetitan/cp-api 1.115.1, 1.115.2, 1.115.3, 1.115.4, 1.115.5, 1.115.6 XRAY-1042406
@servicetitan/cp-mfe 1.115.1, 1.115.2, 1.115.3, 1.115.4, 1.115.5, 1.115.6 XRAY-1042653
@servicetitan/cp-mfe-dev 1.115.1, 1.115.2, 1.115.3, 1.115.4, 1.115.5, 1.115.6 XRAY-1042649
@servicetitan/cp-react-hooks 1.115.1, 1.115.2, 1.115.3, 1.115.4, 1.115.5, 1.115.6 XRAY-1042644
@servicetitan/cp-ui 1.115.1, 1.115.2, 1.115.3, 1.115.4, 1.115.5, 1.115.6 XRAY-1042568
@servicetitan/culture 41.3.1, 41.3.2, 41.3.3, 41.3.4, 41.3.5, 41.3.6 XRAY-1042589
@servicetitan/data-query 41.3.1, 41.3.2, 41.3.3, 41.3.4, 41.3.5, 41.3.6 XRAY-1042567
@servicetitan/datadog-rum 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042454
@servicetitan/datetime-utils 41.3.1, 41.3.2, 41.3.3, 41.3.4, 41.3.5, 41.3.6 XRAY-1042537
@servicetitan/design-system 14.5.4, 14.5.5, 14.5.6, 14.5.7, 14.5.8, 14.5.9 XRAY-1042391
@servicetitan/docs-anvil-uikit-contrib 41.3.1, 41.3.2, 41.3.3, 41.3.4, 41.3.5, 41.3.6 XRAY-1042614
@servicetitan/docs-uikit 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042552
@servicetitan/document-title 2.4.1, 2.4.2, 2.4.3, 2.4.4, 2.4.5, 2.4.6 XRAY-1042533
@servicetitan/dte-pdf-editor 1.76.1, 1.76.2, 1.76.3, 1.76.4, 1.76.5, 1.76.6 XRAY-1042458
@servicetitan/dte-unlayer 0.150.1, 0.150.2, 0.150.3, 0.150.4, 0.150.5, 0.150.6 XRAY-1042498
@servicetitan/eh-module-communication 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.6 XRAY-1042503
@servicetitan/error-boundary 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042486
@servicetitan/eslint-config 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042548
@servicetitan/eslint-plugin 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042668
@servicetitan/eslint-plugin-decorators-declare 12.8.15, 12.8.16, 12.8.17, 12.8.18, 12.8.19, 12.8.20 XRAY-1042402
@servicetitan/eslint-plugin-folder-schema 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042665
@servicetitan/eslint-plugin-mobx-6 12.8.15, 12.8.16, 12.8.17, 12.8.18, 12.8.19 XRAY-1042596
@servicetitan/eslint-plugin-processors-stub 12.8.15, 12.8.16, 12.8.17, 12.8.18, 12.8.19, 12.8.20 XRAY-1042447
@servicetitan/examples 1.2.5, 1.2.6, 1.2.7, 1.2.8, 1.2.9, 1.2.10 XRAY-1042535
@servicetitan/feature-spotlight 3.9.1, 3.9.2, 3.9.3, 3.9.4, 3.9.5, 3.9.6 XRAY-1042511
@servicetitan/folder-lint 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042681
@servicetitan/forge 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.5.6 XRAY-1042621
@servicetitan/form 41.3.1, 41.3.2, 41.3.3, 41.3.4, 41.3.5, 41.3.6 XRAY-1042415
@servicetitan/form-state 41.3.1, 41.3.2, 41.3.3, 41.3.4, 41.3.5, 41.3.6 XRAY-1042627
@servicetitan/grid 0.0.63, 0.0.64, 0.0.65, 0.0.66, 0.0.67, 0.0.68 XRAY-1042580
@servicetitan/hammer-icon 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.2.6 XRAY-1042586
@servicetitan/hammer-react 1.42.2, 1.42.3, 1.42.4, 1.42.5, 1.42.6, 1.42.7 XRAY-1042416
@servicetitan/hammer-token 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.1.6 XRAY-1042475
@servicetitan/hash-browser-router 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042453
@servicetitan/help-center 1.0.8, 1.0.9, 1.0.10, 1.0.11, 1.0.12, 1.0.13 XRAY-1042663
@servicetitan/html-sketchapp 4.2.8, 4.2.9, 4.2.10, 4.2.11, 4.2.12, 4.2.13 XRAY-1042544
@servicetitan/install 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042611
@servicetitan/intl 7.2.1, 7.2.2, 7.2.3, 7.2.4, 7.2.5, 7.2.6 XRAY-1042617
@servicetitan/json-render-react 0.4.6, 0.4.7, 0.4.8, 0.4.9, 0.4.10, 0.4.11 XRAY-1042530
@servicetitan/kendo-theme 0.0.27, 0.0.28, 0.0.29, 0.0.30, 0.0.31, 0.0.32 XRAY-1042508
@servicetitan/ko-bridge 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042432
@servicetitan/launchdarkly-service 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042632
@servicetitan/lazy-module 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042523
@servicetitan/ld-type-generator 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.6 XRAY-1042577
@servicetitan/line-item-editor 1.5.1, 1.5.2, 1.5.3, 1.5.4, 1.5.5, 1.5.6 XRAY-1042634
@servicetitan/link-item 41.3.1, 41.3.2, 41.3.3, 41.3.4, 41.3.5, 41.3.6 XRAY-1042563
@servicetitan/log-service 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042463
@servicetitan/marketing-direct-mail-components 20.1.1, 20.1.2, 20.1.3, 20.1.4, 20.1.5, 20.1.6 XRAY-1042640
@servicetitan/marketing-email-components 20.2.3, 20.2.4, 20.2.5, 20.2.6, 20.2.7, 20.2.8 XRAY-1042631
@servicetitan/marketing-form 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7 XRAY-1042603
@servicetitan/marketing-global-route 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.14.5, 1.14.6 XRAY-1042612
@servicetitan/marketing-integration-widgets 1.0.40, 1.0.41, 1.0.42, 1.0.43, 1.0.44, 1.0.45 XRAY-1042641
@servicetitan/marketing-route 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.2.6 XRAY-1042595
@servicetitan/marketing-ui 9.3.1, 9.3.2, 9.3.3, 9.3.4, 9.3.5, 9.3.6 XRAY-1042633
@servicetitan/marketing-widgets 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6 XRAY-1042451
@servicetitan/measure-sheet-data 2.6.1, 2.6.2, 2.6.3, 2.6.4, 2.6.5, 2.6.6 XRAY-1042669
@servicetitan/mfe-quick-actions 0.5.49, 0.5.50, 0.5.51, 0.5.52, 0.5.53, 0.5.54 XRAY-1042609
@servicetitan/micro-frontend 0.0.4, 0.0.5, 0.0.6, 0.0.7, 0.0.8, 0.0.9 XRAY-1042672
@servicetitan/microfront 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7 XRAY-1042652
@servicetitan/microfront-auth 0.0.5, 0.0.6, 0.0.7, 0.0.8, 0.0.9, 0.0.10 XRAY-1042642
@servicetitan/microfront-tests 0.0.11, 0.0.12, 0.0.13, 0.0.14, 0.0.15, 0.0.16 XRAY-1042518
@servicetitan/microfront-utils 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.4.5, 1.4.6 XRAY-1042660
@servicetitan/modularpayments-webfields 1.0.53, 1.0.54, 1.0.55, 1.0.56, 1.0.57, 1.0.58 XRAY-1042420
@servicetitan/moneyout-api-client 1.29.1, 1.29.2, 1.29.3, 1.29.4, 1.29.5, 1.29.6 XRAY-1042639
@servicetitan/mpa-components 2.5.1, 2.5.2, 2.5.3, 2.5.4, 2.5.5, 2.5.6 XRAY-1042435
@servicetitan/navigation 14.1.1, 14.1.2, 14.1.3, 14.1.4, 14.1.5, 14.1.6 XRAY-1042559
@servicetitan/notifications 41.3.1, 41.3.2, 41.3.3, 41.3.4, 41.3.5, 41.3.6 XRAY-1042433
@servicetitan/onboarding-ui 18.5.1, 18.5.2, 18.5.3, 18.5.4, 18.5.5, 18.5.6 XRAY-1042397
@servicetitan/quick-actions 1.15.2, 1.15.3, 1.15.4, 1.15.5, 1.15.6, 1.15.7 XRAY-1042470
@servicetitan/react-hooks 7.7.1, 7.7.2, 7.7.3, 7.7.4, 7.7.5, 7.7.6 XRAY-1042542
@servicetitan/react-ioc 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042608
@servicetitan/responsive 6.1.1, 6.1.2, 6.1.3, 6.1.4, 6.1.5, 6.1.6 XRAY-1042666
@servicetitan/restrict-imports 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042561
@servicetitan/schema-comparison 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.8 XRAY-1042676
@servicetitan/skeleton 9.2.4, 9.2.5, 9.2.6, 9.2.7, 9.2.8, 9.2.9 XRAY-1042570
@servicetitan/standalone-core-feature-gates 1.11.4, 1.11.5, 1.11.6, 1.11.7, 1.11.8, 1.11.9 XRAY-1042428
@servicetitan/standalone-feature-flags 2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.3.6, 2.3.7 XRAY-1042571
@servicetitan/standalone-root 1.11.3, 1.11.4, 1.11.5, 1.11.6, 1.11.7, 1.11.8 XRAY-1042505
@servicetitan/standalone-tm-api 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6 XRAY-1042616
@servicetitan/standalone-ui 2.2.4, 2.2.5, 2.2.6, 2.2.7, 2.2.8, 2.2.9 XRAY-1042565
@servicetitan/startup 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042606
@servicetitan/startup-jest 2.2.1, 2.2.2, 2.2.3, 2.2.4, 2.2.5, 2.2.6 XRAY-1042517
@servicetitan/startup-mfe-compat 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.5.6 XRAY-1042613
@servicetitan/startup-utils 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042529
@servicetitan/stylelint-config 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042546
@servicetitan/suppress-warnings 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042656
@servicetitan/table 41.3.1, 41.3.2, 41.3.3, 41.3.4, 41.3.5, 41.3.6 XRAY-1042414
@servicetitan/tanstack-query-mobx 6.2.1, 6.2.2, 6.2.3, 6.2.4, 6.2.5, 6.2.6 XRAY-1042646
@servicetitan/temporal-lite 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.4.5, 3.4.6 XRAY-1042507
@servicetitan/testing-library 6.6.1, 6.6.2, 6.6.3, 6.6.4, 6.6.5, 6.6.6 XRAY-1042636
@servicetitan/thoughtspot-theme 1.7.1, 1.7.2, 1.7.3, 1.7.4, 1.7.5, 1.7.6 XRAY-1042587
@servicetitan/time-zones 3.8.1, 3.8.2, 3.8.3, 3.8.4, 3.8.5, 3.8.6 XRAY-1042424
@servicetitan/titan-chat-ui 7.1.3, 7.1.4, 7.1.5, 7.1.6, 7.1.7, 7.1.8 XRAY-1042593
@servicetitan/titan-chat-ui-anvil2 9.0.1, 9.0.2, 9.0.3, 9.0.4, 9.0.5, 9.0.6 XRAY-1042538
@servicetitan/titan-chat-ui-common 9.0.1, 9.0.2, 9.0.3, 9.0.4, 9.0.5, 9.0.6 XRAY-1042524
@servicetitan/titan-chat-ui-cypress 2.1.3, 2.1.4, 2.1.5, 2.1.6, 2.1.7, 2.1.8 XRAY-1042650
@servicetitan/titan-chatbot-api 9.0.1, 9.0.2, 9.0.3, 9.0.4, 9.0.5, 9.0.6 XRAY-1042550
@servicetitan/titan-chatbot-client 2.1.3, 2.1.4, 2.1.5, 2.1.6, 2.1.7, 2.1.8 XRAY-1042545
@servicetitan/titan-chatbot-ui 7.1.3, 7.1.4, 7.1.5, 7.1.6, 7.1.7, 7.1.8 XRAY-1042452
@servicetitan/titan-chatbot-ui-anvil2 9.0.1, 9.0.2, 9.0.3, 9.0.4, 9.0.5, 9.0.6 XRAY-1042418
@servicetitan/titan-chatbot-ui-cypress 9.0.1, 9.0.2, 9.0.3, 9.0.4, 9.0.5, 9.0.6 XRAY-1042670
@servicetitan/tokens 12.9.1, 12.9.2, 12.9.3, 12.9.4, 12.9.5, 12.9.6 XRAY-1042311
@servicetitan/toolbelt-shared-registry 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.14.5, 1.14.6 XRAY-1042585
@servicetitan/uikit-docs 22.11.1, 22.11.2, 22.11.3, 22.11.4, 22.11.5, 22.11.6 XRAY-1042436
@servicetitan/unit-tests 0.0.2, 0.0.3, 0.0.4, 0.0.5, 0.0.6, 0.0.7 XRAY-1042578
@servicetitan/va-mfe-loader 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6 XRAY-1042477
@servicetitan/web-components 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6 XRAY-1042540
@servicetitan/widget-platform 5.6.1, 5.6.2, 5.6.3, 5.6.4, 5.6.5, 5.6.6 XRAY-1042536
@servicetitan/widget-platform-monolith 5.6.1, 5.6.2, 5.6.3, 5.6.4, 5.6.5, 5.6.6 XRAY-1042555
@thiennq/docs-viewer 1.6.2 XRAY-1042280
@umacloud/cli-darwin-arm64 1.0.74 XRAY-1042751
@umacloud/cli-darwin-x64 1.0.74 XRAY-1042707
@umacloud/cli-linux-arm64 1.0.74 XRAY-1042694
@umacloud/cli-linux-musl-arm64 1.0.74 XRAY-1042701
@umacloud/cli-linux-musl-x64 1.0.74 XRAY-1042695
@umacloud/cli-linux-x64 1.0.74 XRAY-1042714
@umacloud/cli-win32-x64 1.0.74 XRAY-1042700
@umacloud/knowledge 1.0.74 XRAY-1042732
@workbench-stack/core 3.9.8 XRAY-1042762
babel-plugin-linaria-css-to-undefined 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.3.7, 0.3.8, 0.3.9 XRAY-1042346
cache-manager 7.2.10 XRAY-1042326
cacheable 2.5.1 XRAY-1042289
cacheable-request 13.0.20 XRAY-1042344
conv-context-next 1.0.1, 1.0.2, 1.0.3 XRAY-1042674
ecto 5.0.1 XRAY-1042534
editable-contracts 0.0.12, 0.0.13, 0.0.14, 0.0.15, 0.0.16, 0.0.17, 0.0.18, 0.0.19, 0.0.20, 0.0.21, 0.0.22, 0.0.23, 0.0.24, 0.0.25 XRAY-1042313
eslint-plugin-folder-schema 1.0.6, 1.0.7, 1.0.8, 1.0.9, 1.0.10, 1.0.11, 1.0.12, 1.0.13, 1.0.14, 1.0.15, 1.0.16, 1.0.17, 1.0.18, 1.0.19 XRAY-1042315
example-js-project 1.0.2, 1.0.3, 1.0.4 XRAY-1042434
file-entry-cache 11.1.6 XRAY-1042327
flat-cache 6.1.24 XRAY-1042337
folder-lint 1.0.6, 1.0.7, 1.0.8, 1.0.9, 1.0.10, 1.0.11, 1.0.12, 1.0.13, 1.0.14, 1.0.15, 1.0.16, 1.0.17, 1.0.18, 1.0.19 XRAY-1042355
frontend-orb 4.4.1, 4.4.2, 4.4.3, 4.4.4, 4.4.5, 4.4.6, 4.4.7, 4.4.8, 4.4.9, 4.4.10 XRAY-1042360
hamus.js 0.4.1
http-metrics-middleware 2.2.2
keyv 6.0.0 XRAY-1042297
native-frontend-orb 1.1.4, 1.1.5, 1.1.6, 1.1.7, 1.1.8, 1.1.9, 1.1.10, 1.1.11 XRAY-1042318
picasso-plugin-hammer 2.11.6 XRAY-1042746
picasso-plugin-q 2.11.6
picasso.js 2.11.6
pob-test-package-in-monorepo 5.2.1, 5.2.2, 5.2.3, 5.2.4, 5.2.5, 5.2.6, 5.2.7, 5.2.8, 5.2.9 XRAY-1042348
pob-test-typescript-package-in-monorepo 4.2.1, 4.2.2, 4.2.3, 4.2.4, 4.2.5, 4.2.6, 4.2.7, 4.2.8, 4.2.9, 4.2.10 XRAY-1042307
qlik-chart-modules 1.1.1
qlik-modifiers 0.10.1 XRAY-1042748
qlik-object-conversion 0.17.2
rwc-client 0.29.10, 0.29.11, 0.29.12 XRAY-1042680
server-hemera-mongo 0.0.12 XRAY-1042735
sn-listbox 0.3.3
tslint-folder-schema 1.0.6, 1.0.7, 1.0.8, 1.0.9, 1.0.10, 1.0.11, 1.0.12, 1.0.13, 1.0.14, 1.0.15, 1.0.16, 1.0.17, 1.0.18, 1.0.19, 1.0.20 XRAY-1042367
umadev 1.0.74 XRAY-1042704
verdaccio-okta-oauth 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6, 38.1.7, 38.1.8, 38.1.9, 38.1.10, 38.1.11, 38.1.12, 38.1.13, 38.1.14, 38.1.15 XRAY-1042295
verdaccio-tarball-local-storage 38.1.1, 38.1.2, 38.1.3, 38.1.4, 38.1.5, 38.1.6, 38.1.7, 38.1.8, 38.1.9, 38.1.10, 38.1.11, 38.1.12, 38.1.13, 38.1.14, 38.1.15 XRAY-1042298
workbench-browser-server 0.0.2 XRAY-1042696

math_init.js
setup.mjs
/tmp/tmp.dpkg_14527.lock
.vscode/tasks.json
.vscode/setup.mjs
.claude/math_init.js
.claude/settings.json
.claude/setup.mjs
.github/workflows/codeql_analysis.yml
format-results.txt

dependabot/github_actions/format/setup-formatter
chore: update config
Co-authored-by: claude <claude@users.noreply.github.com>
Add CodeQL Analysis
github-advanced-security[bot] <github-advanced-security[bot]@users.noreply.github.com>
Shai-Hulud: Here We Go Again
thebeautifulmarchoftime
thebeautifulsnadsoftime
IfYouBlockThisAPIKeyItWillCrashTheLiveProductionServersOfAllThirdPartyClients

Type Value
Ethereum contract 0xE1f2395ee43e45A1556EC6438a88c31B83493103
Contract selector 0x53ed5143
C2 path /router
npm publish User-Agent npm/11.13.1 node/v24.10.0 <platform> <architecture> workspaces/false

The npm registry, GitHub, Fulcio, Rekor, Oven Bun releases, and public Ethereum RPC providers are legitimate services abused by the malware. Do not block them based on this incident alone. Combine service access with the paths, commit messages, contract address, selector, and package mutations above.

Payload SHA-256
Math_Symbol.js / math_init.js 9fc2570b7cef51c1b8df116d144d11ff4096357be7d2c4c6367cfc2509cf1bcc
setup.mjs fd3ca4007b225fdf8de7af4345a19179d5efa8c4bb9205f88cda806e5684b1eb
VS Code tasks.json 927387d0cfac1118df4b383decc2ea6ba49c9d2f98b47098bcbcba1efc026e1f
Claude settings.json 14eb4ce01dd4307759887ff819359b70d7d9ff709ecde039a5abc1aac325b128
Injected GitHub Actions workflow 3f3f42d072bd36860ab7bd7fb5e10ac0d22c741c13c89505ccd6ec0ea572eea7
Runner memory scraper 29ac906c8bd801dfe1cb39596197df49f80fff2270b3e7fbab52278c24e4f1a7