From a81c6643692e8c303be88bcb18cef458275abebe Mon Sep 17 00:00:00 2001 From: yanivt Date: Sun, 1 Nov 2026 15:20:01 +0200 Subject: [PATCH 1/3] [patch] docs: add Local Shadow AI scan section to README (AX-2453) Co-authored-by: Cursor --- README.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/README.md b/README.md index 8bd6089..4f1041e 100644 --- a/README.md +++ b/README.md @@ -147,6 +147,43 @@ The hook soft-fails (never breaks the session): missing project key, Agent Guard --- +## Local Shadow AI scan + +The plugin can report which AI assets (skills, plugins, MCP servers) are installed +on a developer's workstation, so the organization can see what its developers' +Claude Code environments run and spot unapproved or risky assets. + +**Who controls it.** The scan runs only when your JFrog Platform administrator has +enabled it for your account. The plugin checks this on every new session +(`GET /aisec/api/v1/local-shadow/scanning-enabled`). There is no per-user setting +in the plugin: like other endpoint security controls, it is managed by the organization. +[Off by default / On by default. CONFIRM.] + +**When it runs.** Once per new Claude Code session (not on resume, `/clear` or +compaction), in the background, and only if you are logged in to the JFrog CLI with an +access token over HTTPS. + +**What it sends.** One report per session to your organization's own JFrog Platform +(`/aisec/api/v1/local-shadow/reports`). No scan data is sent to JFrog or +any third party. The report contains: + +- A random workstation ID, generated once and stored in `~/.jfrog/shadow/workstation-id` +- The Claude Code session ID, scan time and duration, plugin and scanner versions +- For each skill: a content fingerprint, name and description +- For each plugin: name, version, marketplace, source URL and git commit +- For each MCP server: its URL (remote) or package name, version and registry (local) +- The file path where each asset was found + +**What it scans.** `~/.claude`, `~/.claude.json`, and the `.claude/` folder and +`.mcp.json` of each project listed in `~/.claude.json`. It reads these config files and +sends only the fields listed above; it does not send source code, prompts, conversations +or credentials. + +**Logs.** `~/.jfrog/shadow/local-shadow-hook.log` (whether the scan started and why not) +and `~/.jfrog/shadow/local-shadow.log` (scan results). + +--- + ## Agent Package Resolution (Preview) > **Preview Notice:** This feature is in preview and licensed under the Apache License 2.0. For clarity: This software is provided "as-is" without warranty of any kind, and without support obligations or service level commitments. Behavior, APIs, conventions, and structure may change without notice between releases. JFrog makes no guarantees of backward compatibility during the preview release cycle. Use in production environments is at your own risk. From f73d95c3d1a0d534a88c1e498e42302b470b1e3d Mon Sep 17 00:00:00 2001 From: yanivt Date: Mon, 2 Nov 2026 09:25:10 +0200 Subject: [PATCH 2/3] [patch] docs: Local Shadow AI scan is on by default (AX-2453) Co-authored-by: Cursor --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4f1041e..44df2ab 100644 --- a/README.md +++ b/README.md @@ -153,11 +153,11 @@ The plugin can report which AI assets (skills, plugins, MCP servers) are install on a developer's workstation, so the organization can see what its developers' Claude Code environments run and spot unapproved or risky assets. -**Who controls it.** The scan runs only when your JFrog Platform administrator has -enabled it for your account. The plugin checks this on every new session +**Who controls it.** The scan is on by default for JFrog Platform accounts entitled to +the AI Catalog, and your JFrog Platform administrator can turn it off for the account. +The plugin checks this on every new session (`GET /aisec/api/v1/local-shadow/scanning-enabled`). There is no per-user setting in the plugin: like other endpoint security controls, it is managed by the organization. -[Off by default / On by default. CONFIRM.] **When it runs.** Once per new Claude Code session (not on resume, `/clear` or compaction), in the background, and only if you are logged in to the JFrog CLI with an From 4f4f0eeba2ae7fa38209a90197cf2ce542f32ecd Mon Sep 17 00:00:00 2001 From: yanivt Date: Mon, 2 Nov 2026 09:34:24 +0200 Subject: [PATCH 3/3] AX-2308 - Fix rami comment --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 44df2ab..cfbd400 100644 --- a/README.md +++ b/README.md @@ -153,9 +153,8 @@ The plugin can report which AI assets (skills, plugins, MCP servers) are install on a developer's workstation, so the organization can see what its developers' Claude Code environments run and spot unapproved or risky assets. -**Who controls it.** The scan is on by default for JFrog Platform accounts entitled to -the AI Catalog, and your JFrog Platform administrator can turn it off for the account. -The plugin checks this on every new session +**Who controls it.** The scan is off by default. It runs only when your JFrog Platform +administrator has enabled it for your account. The plugin checks this on every new session (`GET /aisec/api/v1/local-shadow/scanning-enabled`). There is no per-user setting in the plugin: like other endpoint security controls, it is managed by the organization.