← Home

@dxos/app-framework

A framework for building applications from composible plugins.

31
Versions
MIT
License
No
Install Scripts
Verified
Provenance

Supply chain provenance

Status for the latest visible version.

SLSA provenance attestation npm registry signatures No source commit

Maintainers

richburdonmarik_dwittjosiahdxos-botmykola-vrmchk

Accepted risks

Findings the reviewer chose to accept rather than block on.

SourceRuleReasonAccepted byWhen
phantom-deps phantom-dep:@dxos/keys AI (phantom-deps): Same-org internal package, likely used indirectly; heuristic false positive. ai
source-diff obfuscated-file:typedoc/assets/search.js AI (source-diff): TypeDoc search index data, not obfuscated code. ai
source-diff obfuscated-file:typedoc/assets/main.js AI (source-diff): TypeDoc bundled runtime JS (lunr search etc.), build output not obfuscation. ai
source-diff obfuscated-file:typedoc/assets/icons.js AI (source-diff): Standard TypeDoc-generated static asset, not obfuscated malicious code. ai
dependencies unvetted-dep:@dxos/compute-runtime AI (dependencies): First-party @dxos monorepo package, same version pin as siblings. ai
semgrep semgrep:shady-links-raw-ip AI (semgrep): Loopback/localhost strings in a URL-loader test file, not an exfil endpoint. ai
source-diff obfuscated-file:dist/plugin/node-esm/index.mjs AI (source-diff): esbuild-bundled vite plugin output; sample shows readable bundled source, not obfuscation. ai
maintainer-change maintainer-removed AI (maintainer-change): Reflects org-wide move to GitHub Actions/CI publishing, not a takeover. ai
maintainer-change maintainer-added AI (maintainer-change): Publisher bot has 1727 approved packages; routine monorepo maintainer list update. ai
dependencies unvetted-dep:@dxos/artifact AI (dependencies): First-party @dxos monorepo package, version-pinned to same release. ai
publish-pattern new-deps-added AI (publish-pattern): New deps are same-org @dxos packages, not third-party additions. ai
phantom-deps phantom-dep:@phosphor-icons/react AI (phantom-deps): Peer dep also declared; config-referenced icon set. ai
phantom-deps phantom-dep:@preact/signals-core AI (phantom-deps): Referenced via config, common for signal libs. ai
phantom-deps phantom-dep:@dxos/echo-schema AI (phantom-deps): Same-org monorepo sibling, likely used indirectly. ai

Versions (showing 31 of 31)

Version Deps Published
0.10.0 31 / 16
0.9.0 30 / 16
0.8.3 17 / 12
0.8.1 12 / 10
0.8.0 14 / 9
0.7.4 15 / 2
0.7.3 15 / 2
0.7.2 14 / 2
0.7.1 14 / 2
0.7.0 14 / 2
0.6.13 12 / 2
0.6.12 12 / 2
0.6.11 12 / 2
0.6.10 12 / 2
0.6.9 12 / 2
0.6.8 12 / 2
0.6.7 12 / 2
0.6.6 12 / 2
0.6.5 12 / 2
0.6.4 12 / 2
0.6.3 12 / 2
0.6.2 12 / 2
0.6.1 12 / 2
0.6.0 12 / 2
0.5.8 12 / 2
0.5.7 12 / 2
0.5.6 12 / 2
0.5.5 11 / 2
0.5.4 11 / 2
0.5.3 11 / 2
0.5.2 11 / 2

v0.10.0

5 findings
HIGH New obfuscated file: dist/plugin/node-esm/index.mjs source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator. Artifact: bundled (esbuild) — bundler banner in the scanned head, but the file is larger than the scan window and its remainder is unclassified, so this is not a clean bill of health.

HIGH shady-links-raw-ip: src/core/url-loader.test.ts:57 semgrep

HTTP request to raw IP address — legitimate packages use domain names 55 | expect(UrlLoader.isLocalUrl('http://localhost:5173/plugin.mjs')).toBe(true); 56 | expect(UrlLoader.isLocalUrl('https://LOCALHOST/plugin.mjs')).toBe(true); > 57 | expect(UrlLoader.isLocalUrl('http://127.0.0.1:8080/plugin.mjs')).toBe(true); 58 | expect(UrlLoader.isLocalUrl('http://[::1]:8080/plugin.mjs')).toBe(true); 59 | });

HIGH shady-links-raw-ip: src/core/url-loader.test.ts:63 semgrep

HTTP request to raw IP address — legitimate packages use domain names 61 | it('rejects public and malformed URLs', ({ expect }) => { 62 | expect(UrlLoader.isLocalUrl('https://example.com/plugin.mjs')).toBe(false); > 63 | expect(UrlLoader.isLocalUrl('https://192.168.1.10/plugin.mjs')).toBe(false); 64 | expect(UrlLoader.isLocalUrl('not a url')).toBe(false); 65 | expect(UrlLoader.isLocalUrl('')).toBe(false);

INFO Has SLSA provenance attestation provenance

Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.

INFO Publisher changed: dxos-bot → GitHub Actions (on 2026-07-02, now via trusted publisher with provenance) provenance

This version was published by a different npm account (GitHub Actions) than the most recent previously approved version (dxos-bot) on 2026-07-02, but it carries Sigstore provenance attestation. This means the package moved to a trusted publisher (CI/CD with OIDC, e.g. GitHub Actions) — a supply-chain integrity improvement, not a compromise, since a stolen npm token cannot forge provenance bound to the source repository. Recorded as INFO for audit trail.

v0.9.0

5 findings
HIGH New obfuscated file: dist/plugin/node-esm/index.mjs source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator. Artifact: bundled (esbuild) — bundler banner in the scanned head, but the file is larger than the scan window and its remainder is unclassified, so this is not a clean bill of health.

HIGH shady-links-raw-ip: src/core/url-loader.test.ts:57 semgrep

HTTP request to raw IP address — legitimate packages use domain names 55 | expect(UrlLoader.isLocalUrl('http://localhost:5173/plugin.mjs')).toBe(true); 56 | expect(UrlLoader.isLocalUrl('https://LOCALHOST/plugin.mjs')).toBe(true); > 57 | expect(UrlLoader.isLocalUrl('http://127.0.0.1:8080/plugin.mjs')).toBe(true); 58 | expect(UrlLoader.isLocalUrl('http://[::1]:8080/plugin.mjs')).toBe(true); 59 | });

HIGH shady-links-raw-ip: src/core/url-loader.test.ts:63 semgrep

HTTP request to raw IP address — legitimate packages use domain names 61 | it('rejects public and malformed URLs', ({ expect }) => { 62 | expect(UrlLoader.isLocalUrl('https://example.com/plugin.mjs')).toBe(false); > 63 | expect(UrlLoader.isLocalUrl('https://192.168.1.10/plugin.mjs')).toBe(false); 64 | expect(UrlLoader.isLocalUrl('not a url')).toBe(false); 65 | expect(UrlLoader.isLocalUrl('')).toBe(false);

INFO Has SLSA provenance attestation provenance

Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.

INFO Publisher changed: dxos-bot → GitHub Actions (on 2026-06-15, now via trusted publisher with provenance) provenance

This version was published by a different npm account (GitHub Actions) than the most recent previously approved version (dxos-bot) on 2026-06-15, but it carries Sigstore provenance attestation. This means the package moved to a trusted publisher (CI/CD with OIDC, e.g. GitHub Actions) — a supply-chain integrity improvement, not a compromise, since a stolen npm token cannot forge provenance bound to the source repository. Recorded as INFO for audit trail.

v0.8.3

4 findings
HIGH New obfuscated file: typedoc/assets/icons.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

HIGH New obfuscated file: typedoc/assets/main.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

HIGH New obfuscated file: typedoc/assets/search.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.8.1

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.8.0

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.7.4

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.7.3

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.7.2

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.7.1

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.7.0

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.6.13

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.6.12

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.6.11

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.6.10

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.6.9

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.6.8

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.6.7

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.6.6

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.6.5

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.6.4

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.6.3

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.6.2

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.6.1

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.6.0

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.5.8

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.5.7

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.5.6

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.5.5

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.5.4

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.5.3

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.5.2

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.