@dxos/app-framework
A framework for building applications from composible plugins.
Supply chain provenance
Status for the latest visible version.
Maintainers
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| 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 findingsNewly 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.
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 | });
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);
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
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 findingsNewly 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.
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 | });
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);
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
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 findingsNewly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.
Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.
Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.8.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.8.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.7.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.7.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.7.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.7.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.7.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.13
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.12
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.11
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.10
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.9
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.8
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.7
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.6
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.5
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.8
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.7
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.6
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.5
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.2
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.