IDEshdInspect installed VS Code extensions with local static analysis and separately generated, coverage-labelled remote evaluation evidence. This beta is operated by the individual founder under the public label IDEshd team. Its registered identity is What it does
Findings can be incomplete or incorrect. A clean scan or high score is not a guarantee of safety. Scanning does not isolate extensions that are already running. Gallery installation metadata records an installation source; it does not verify publisher identity or safety. InstallUse Extensions → … → Install from VSIX…, select the reviewed package, and reload if prompted. Open a trusted workspace, then run IDEshd: Scan All Extensions and IDEshd: Show Security Dashboard from the Command Palette. The release-status record identifies each exact version’s package hash, registry availability and tested host scope. Confirm that record for the package you install; source checks and prior-version receipts do not establish current-package qualification. Historical 1.0.2 checks — October 14, 2026: the exact public package received scoped installed checks in official macOS arm64 VS Code 1.74.0 and 1.141.1, including activation, local scanning, normal cache recovery, incomplete/unscored results, signed remote evidence, three themes, settings, and native full-report/single-finding JSON/SARIF saves. Five original packages were also scanned as quarantined source data. That historical six-strategy check used static-analysis, dependency-analysis, obfuscation-detection, privilege-escalation-detection, data-exfiltration-detection and ml-analysis; production defaults used behavior-analysis instead of ml-analysis. It did not activate Python extensions or establish exhaustive parsing, harmlessness, automatic disable support or other-platform compatibility. Native API-key set/clear was not repeated. These receipts remain specific to 1.0.2; other platforms and editors remain unverified. The package targets the desktop VS Code extension host with the official API minimum 1.74.0. It scans enabled extensions exposed to the current extension host; disabled extensions and extensions belonging to other hosts are excluded. Browser-only VS Code, remote-host coverage, virtual workspaces, other editor forks, and a combined local/remote inventory require separate validation. Node.js does not need to be installed separately to use this VSIX; Node 24 is a build-tool requirement. Release history and local coveragePublic 1.0.1 made core default signing trust consistent with the VS Code integration, which already included the project key in public 1.0.0. It retries failed or stale remote responses and retains diagnostics; JSON/SARIF producer versions come from the installed manifest. The published 1.0.1 local scan caps left ordinary large packages Failed / Not Scored. Public 1.0.2 repaired the whole-folder size abort while retaining bounded local coverage. Version 1.0.3 separates capability observations from supported adverse evidence and excludes the scanner from routine totals. Treat failed or incomplete coverage as unscored, and check the exact-version release status. If you have an obsolete local Advisory policy and migrationSince 1.0.2, In 1.0.3, automatic finding-based eligibility comes from the shared core assessment's qualified source evidence. A low advisory score, raw Critical/High rule impact, capability observation, or signed remote reputation alone cannot qualify an automatic block. Provenance and action-time opt-in checks remain additional guards. Explicit blocklist requests and manual actions remain independent of this flag. All management requests still require supported host commands. Historical 1.0.2 checks in official VS Code 1.74.0 and 1.141.1 did not expose the disable/enable command IDs used by this implementation. That observation does not establish command availability in other hosts or releases. Use the Extensions view to change state, follow reload prompts and verify the result; an accepted request is not proof of successful disablement. Changing this flag does not isolate an extension or prove that it has stopped running. Assessment and scanner scopeVersion 1.0.3 uses a provisional model with a finite set of supported static checks; it does not establish general detection accuracy. It separates capabilities from adverse evidence. A capability observation remains visible with zero score penalty. Details and exports retain original rule severity as Potential impact from original rule, alongside the shared model's classification, support, effective threat status, root groups and contributions. The advisory score is 0–100, not a probability or safety guarantee. A score of 100 means No scored adverse evidence in these checks. Limited static evidence remains reviewable; it does not establish malware. Unknown, incomplete, or mismatched assessment metadata is Not scored. Remote reputation and verification stay separate from the local model. The shared assessment is bound to its model version, ordered finding set and source context. Old numerical cache scores are retained as history but are not displayed as current assessments. Ordinary rescans revalidate them without manual cache deletion or forced refresh. Existing finding IDs and user assessments are retained; grouping does not delete raw occurrences. Full JSON and SARIF reports retain the per-extension model, nullable score, coverage, groups and penalties even when there are no findings. This metadata does not fabricate a finding or alert. The exact running scanner identity is excluded case-insensitively from routine startup/event/batch scans, pickers, inventory, alerts, policy and report denominators: IDEshd excluded: scanner itself. Other extensions with similar names remain in scope. IDEshd: Diagnostic Self-Scan explicitly scans the scanner locally into a separate ephemeral detail snapshot. It makes no remote lookup, ordinary cache/history update, routine alert or automatic management request. IDEshd: Export Diagnostic Self-Scan exports that snapshot as JSON or SARIF, clearly labelled diagnostic and excluded from the routine inventory. Network and local dataLocal static scanning reads extension manifests and files; it does not upload their contents through the remote evaluation client. Scan caches use VS Code's extension global storage, and diagnostics use the IDEshd output channel. Exported reports can contain extension identifiers, findings, paths, and evidence; review them before sharing. Remote Insights is enabled by default. It requests existing results from The verified default-origin configuration uses HTTPS from the client to Cloudflare and HTTP from Cloudflare to the S3 website origin in us-east-2. It does not provide end-to-end TLS to that origin. Result signature verification addresses content authenticity against configured trust anchors; it does not encrypt request metadata or prove complete coverage. Signed v2 results are verified against configured trust anchors. Missing v2 results, including the static origin's AccessDenied response, can fall back to legacy v1 results labelled unsigned. Invalid signed results are rejected. Local results remain available when remote results are unavailable; cached remote evidence is identified separately. For local-only scans, set this in user settings:
Notification integrations are disabled by default. Enabling a configured HTTPS webhook sends alert/report information to that recipient. Optional core threat-feed sources are disabled by default; this preview makes no claim that all optional integrations have been validated. Opening external links invokes the editor/browser's normal network behavior. Settings and limitsSearch Settings for Local work remains bounded. A package-size measurement above 10 MiB produces a
medium advisory and does not abort the scan. Its separate size walk excludes
JavaScript, TypeScript, JSX and TSX files and entry points have a default 16 MiB per-file cap; JSON and other resources retain a 2 MiB default cap. Explicit tighter limits remain effective. The code walk retains a 64 MiB main-content budget and a separate 32 MiB dependency budget, with file-count and depth limits. Per-file analysis and workers also retain time and memory limits. Files or work that cannot be covered remain explicit; actual scan errors and unparsed runtime code make the result incomplete and unscored. Expected low-level TypeScript/JSX parser notes do not by themselves assert a runtime-code failure. There is no new user setting that lifts these limits, and scan parallelism does not remove them. Some declared settings are not enforced: License and supportEnd-user terms in
Questions, feedback, and licensing: info@ideshd.com. Privacy questions, deletion requests, and security reports: abuse@ideshd.com. Read the privacy notice for service and data-handling details. Product information: ideshd.com. |