agent-security-lens 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.mcp/server.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "io.github.professor2k8/agent-security-lens",
4
- "title": "AgentSecurityLens",
5
- "description": "Security intelligence MCP for agents to review MCPs, Skills and tools before installation.",
4
+ "title": "Agent Security Lens (AgentSecurityLens)",
5
+ "description": "Safe-install and trust-check MCP for agents to review MCPs, Skills and tools before installation.",
6
6
  "status": "active",
7
7
  "repository": {
8
8
  "url": "https://github.com/professor2k8/agent-security-lens",
9
9
  "source": "github"
10
10
  },
11
- "version": "0.1.1",
11
+ "version": "0.1.3",
12
12
  "packages": [
13
13
  {
14
14
  "registryType": "npm",
15
15
  "identifier": "agent-security-lens",
16
- "version": "0.1.1",
16
+ "version": "0.1.3",
17
17
  "transport": {
18
18
  "type": "stdio"
19
19
  },
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.3
4
+
5
+ - Improve agent-first installation copy in the README.
6
+ - Add a dedicated Agent install guide with required pre-install review flow.
7
+ - Expand npm discovery keywords for safe install, trust check, MCP security and Skill security searches.
8
+ - Update the MCP Registry manifest description for safe-install and trust-check discovery.
9
+
10
+ ## 0.1.2
11
+
12
+ - Add public security intelligence index for agents and package readers.
13
+ - Add public MCP, Skill, and Agent Framework decision reports.
14
+ - Add machine-readable public install-decision export.
15
+ - Add GitHub OIDC workflow for publishing to the MCP Registry.
16
+ - Keep internal operations, private sync scripts, queues, and team telemetry out of the public release.
17
+
3
18
  ## 0.1.1
4
19
 
5
20
  - Connect the MCP to the live AgentSecurityLens Cloud Intelligence API by default.
package/README.md CHANGED
@@ -4,7 +4,46 @@ AgentSecurityLens (ASL) is a security intelligence MCP for autonomous agents.
4
4
 
5
5
  Before an agent installs or enables an MCP, Skill, tool, prompt bundle, workflow, or memory component, it can ask ASL for a machine-readable install decision.
6
6
 
7
- ## Install
7
+ ASL is not a malware verdict tool. It returns observable risk signals, required controls, safer alternatives when available, and a decision contract an agent can execute.
8
+
9
+ ## Agent Quick Install
10
+
11
+ Add ASL as a pre-install trust check MCP:
12
+
13
+ ```json
14
+ {
15
+ "mcpServers": {
16
+ "agent-security-lens": {
17
+ "command": "npx",
18
+ "args": ["-y", "agent-security-lens"]
19
+ }
20
+ }
21
+ }
22
+ ```
23
+
24
+ Then give the agent this policy:
25
+
26
+ ```text
27
+ Before installing or enabling any MCP, Skill, tool, prompt bundle,
28
+ workflow or memory component, call AgentSecurityLens review_before_install.
29
+ Follow agent_decision_contract and agent_actions exactly.
30
+ Never submit private source code, secrets, tokens, cookies or file contents.
31
+ ```
32
+
33
+ See [Agent install guide](docs/agent-install.md) for Claude Desktop, Cursor, Codex-style and generic MCP configurations.
34
+
35
+ ## Public Intelligence
36
+
37
+ The public package includes a reviewed baseline so agents can still make conservative decisions when the cloud API is unavailable.
38
+
39
+ - [Public Security Index v0.1](docs/public-intelligence/asl-public-security-index-v0.1.md)
40
+ - [Top MCP Security Signals v0.1](docs/public-intelligence/top-mcp-security-signals-v0.1.md)
41
+ - [Top Skill Security Signals v0.1](docs/public-intelligence/top-skill-security-signals-v0.1.md)
42
+ - [Agent Framework Install Decisions v0.1](docs/public-intelligence/agent-framework-install-decisions-v0.1.md)
43
+
44
+ The online ASL intelligence API serves the current expanded catalog. The npm package intentionally does not ship the complete private intelligence database.
45
+
46
+ ## Basic MCP Config
8
47
 
9
48
  ```json
10
49
  {
@@ -114,7 +153,7 @@ Agents must execute the structured fields rather than infer policy from prose.
114
153
 
115
154
  ASL evaluates observable behavior and installation context. It does not label a component malicious without evidence.
116
155
 
117
- The v0.1.0 public fallback contains 30 strict reviewed records and 20 curated fallback baselines. Automatic assessments are available through the online service but cannot authorize automatic installation.
156
+ The public fallback contains strict reviewed records and curated fallback baselines. Automatic assessments are available through the online service but cannot authorize automatic installation.
118
157
 
119
158
  ## Privacy
120
159
 
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schema_version": "0.1.0",
3
3
  "package": "agent-security-lens",
4
- "version": "0.1.1",
5
- "generated_at": "2026-06-15T14:53:25.682Z",
4
+ "version": "0.1.3",
5
+ "generated_at": "2026-06-22T08:01:37.097Z",
6
6
  "source": "ASL verified public release exporter",
7
7
  "files": [
8
8
  {
@@ -27,8 +27,13 @@
27
27
  },
28
28
  {
29
29
  "path": ".github/workflows/ci.yml",
30
- "bytes": 444,
31
- "sha256": "86ac5975ffafc51f4045fbe6cb9959f938fa52c0ed59d87f294d8d701ab01a50"
30
+ "bytes": 525,
31
+ "sha256": "7625c8b17057d0d64234c7e8c49894d1d4ca632c9a44b8d48f871df1d626c0f1"
32
+ },
33
+ {
34
+ "path": ".github/workflows/publish-mcp-registry.yml",
35
+ "bytes": 1272,
36
+ "sha256": "46dd8937b9a36517604fff2a9f6f29ed22a115536719189a01ef94edddc1687c"
32
37
  },
33
38
  {
34
39
  "path": ".gitignore",
@@ -37,8 +42,8 @@
37
42
  },
38
43
  {
39
44
  "path": ".mcp/server.json",
40
- "bytes": 1287,
41
- "sha256": "8a872855f7e05655ca73c60a14fa6cc1d633ff9676284316de70c0a45cb9b824"
45
+ "bytes": 1316,
46
+ "sha256": "cff25d18a7c6d1259d400599537de259731224109f4cf16129cd4984027b16ab"
42
47
  },
43
48
  {
44
49
  "path": ".npmignore",
@@ -47,8 +52,8 @@
47
52
  },
48
53
  {
49
54
  "path": "CHANGELOG.md",
50
- "bytes": 892,
51
- "sha256": "590336c3cfb72e2439b6d6c13fb640c5a937336a66003d0f8b0effd80f7084c1"
55
+ "bytes": 1600,
56
+ "sha256": "990eb963697607ee08be8f8a24ba24f78c0e4ce38c510509b20f3920cdc7fa91"
52
57
  },
53
58
  {
54
59
  "path": "CODE_OF_CONDUCT.md",
@@ -72,8 +77,8 @@
72
77
  },
73
78
  {
74
79
  "path": "README.md",
75
- "bytes": 4950,
76
- "sha256": "04eb18598c417556f09c0672b6642ba84190fa6a09aaae83c686ae1aa45e4556"
80
+ "bytes": 6481,
81
+ "sha256": "0e48df39c037cc156db7b958aa7d8dab70f6c212a984a93c1f3f2f7a27944ab6"
77
82
  },
78
83
  {
79
84
  "path": "SECURITY.md",
@@ -115,11 +120,41 @@
115
120
  "bytes": 4654,
116
121
  "sha256": "d060bad4b4830a98013fed6dd23051c271dd92317873dcabbde01e5ff1f840b9"
117
122
  },
123
+ {
124
+ "path": "docs/agent-install.md",
125
+ "bytes": 2505,
126
+ "sha256": "239d8c5fa18ce0fdd1066115e34a6409f7f9d1dc4c486edba7887f7bc752ff2b"
127
+ },
118
128
  {
119
129
  "path": "docs/asl-agent-component-safety-standard-v0.2.md",
120
130
  "bytes": 3044,
121
131
  "sha256": "8411a4bfacdd0f416fc79674e060524a03082aca18193347ef934771e06a65f1"
122
132
  },
133
+ {
134
+ "path": "docs/public-intelligence/agent-framework-install-decisions-v0.1.md",
135
+ "bytes": 8855,
136
+ "sha256": "3f3edfd42a69f987bd90c2cb2867bb1f14db26877305bd522941134ded149a01"
137
+ },
138
+ {
139
+ "path": "docs/public-intelligence/agent-install-decisions-v0.1.json",
140
+ "bytes": 43605,
141
+ "sha256": "93fc1945488747e22f064e0bf3755d95e1558f41ebbd001322ec46c6c719fa3e"
142
+ },
143
+ {
144
+ "path": "docs/public-intelligence/asl-public-security-index-v0.1.md",
145
+ "bytes": 11404,
146
+ "sha256": "828fdcd367057a3b5583a80dc095b5e5365ef5e5f947ccf6ba95d964a1f50403"
147
+ },
148
+ {
149
+ "path": "docs/public-intelligence/top-mcp-security-signals-v0.1.md",
150
+ "bytes": 11894,
151
+ "sha256": "bd0cddfbb21bc55ec969df11e175fa0353ec4f855b86469bb7f971caf8ad6876"
152
+ },
153
+ {
154
+ "path": "docs/public-intelligence/top-skill-security-signals-v0.1.md",
155
+ "bytes": 7452,
156
+ "sha256": "7af2e8f359c4c5df94ea60092c40f8abde9d41f1b3d815bc023324730a676bda"
157
+ },
123
158
  {
124
159
  "path": "examples/dot-hermes/.hermes/config.json",
125
160
  "bytes": 286,
@@ -172,13 +207,13 @@
172
207
  },
173
208
  {
174
209
  "path": "llms.txt",
175
- "bytes": 1386,
176
- "sha256": "55576fd6c869f40ae2a41017dc7978bd1bef33c642cdfa509525d2a218eebd9d"
210
+ "bytes": 1751,
211
+ "sha256": "b53f08e07a8a76e5c0054c240dd3ff7a9e8e006b02ae1a897bb4117e97c7f85c"
177
212
  },
178
213
  {
179
214
  "path": "package.json",
180
- "bytes": 1973,
181
- "sha256": "c151b9873a883b6390d206b5e85b6b6e104aa1f30594d1c02deea390c6545780"
215
+ "bytes": 2156,
216
+ "sha256": "2fb0be3924a8d9b20e70e92818f03f078a2f75baed9e2fd780b0accb1300d025"
182
217
  },
183
218
  {
184
219
  "path": "profiles/generic-agent/profile.json",
@@ -307,8 +342,8 @@
307
342
  },
308
343
  {
309
344
  "path": "server.json",
310
- "bytes": 1287,
311
- "sha256": "8a872855f7e05655ca73c60a14fa6cc1d633ff9676284316de70c0a45cb9b824"
345
+ "bytes": 1316,
346
+ "sha256": "cff25d18a7c6d1259d400599537de259731224109f4cf16129cd4984027b16ab"
312
347
  },
313
348
  {
314
349
  "path": "src/assessment/assess.mjs",
@@ -0,0 +1,83 @@
1
+ # AgentSecurityLens Agent Install Guide
2
+
3
+ AgentSecurityLens is a pre-install security MCP. Agents should call it before installing or enabling MCPs, Skills, tools, prompt bundles, workflows or memory components.
4
+
5
+ ## Standard MCP Config
6
+
7
+ Use this config in MCP-compatible clients:
8
+
9
+ ```json
10
+ {
11
+ "mcpServers": {
12
+ "agent-security-lens": {
13
+ "command": "npx",
14
+ "args": ["-y", "agent-security-lens"]
15
+ }
16
+ }
17
+ }
18
+ ```
19
+
20
+ Node.js 20 or newer is required.
21
+
22
+ ## Agent Policy
23
+
24
+ Add this instruction to the agent or workspace policy:
25
+
26
+ ```text
27
+ Before installing or enabling any MCP, Skill, tool, prompt bundle,
28
+ workflow or memory component, call AgentSecurityLens review_before_install.
29
+ Follow agent_decision_contract and agent_actions exactly.
30
+ Never submit private source code, secrets, tokens, cookies or file contents.
31
+ ```
32
+
33
+ ## Required Agent Flow
34
+
35
+ 1. Connect to the `agent-security-lens` MCP server.
36
+ 2. Call `get_install_policy` once.
37
+ 3. Before any install or enable action, call `review_before_install`.
38
+ 4. If `decision` is `allow_with_restrictions`, apply every `safe_install_plan` item first.
39
+ 5. If `decision` is `ask_user` or `avoid`, stop automatic installation.
40
+ 6. If the component is unknown, submit only public metadata with `submit_unknown_component`.
41
+ 7. After acting, call `report_install_outcome`.
42
+
43
+ ## Decision Rules
44
+
45
+ | Decision | Agent behavior |
46
+ | --- | --- |
47
+ | `allow` | Install only from the recorded source and version, then report outcome. |
48
+ | `allow_with_restrictions` | Apply restrictions first, then install and report outcome. |
49
+ | `ask_user` | Do not run the install command automatically. Ask the user. |
50
+ | `avoid` | Do not install automatically. Prefer reviewed alternatives. |
51
+
52
+ Unknown or incompletely reviewed components do not receive automatic-install authorization.
53
+
54
+ ## Review Request Example
55
+
56
+ ```json
57
+ {
58
+ "component_name": "filesystem",
59
+ "component_type": "mcp",
60
+ "source_url": "https://github.com/modelcontextprotocol/servers",
61
+ "install_command": "npx -y @modelcontextprotocol/server-filesystem .",
62
+ "planned_use": "Read and edit project files.",
63
+ "requested_permissions": ["filesystem-read", "filesystem-write"],
64
+ "submit_if_unknown": true
65
+ }
66
+ ```
67
+
68
+ ## Online Intelligence
69
+
70
+ The MCP uses the public ASL cloud intelligence endpoint by default:
71
+
72
+ ```text
73
+ ASL_API_URL=https://agentsecuritylens-api.agentsecuritylens.workers.dev
74
+ ```
75
+
76
+ For offline fallback mode:
77
+
78
+ ```text
79
+ ASL_MODE=local
80
+ ```
81
+
82
+ Local mode includes only the public fallback intelligence and conservative static rules.
83
+
@@ -0,0 +1,210 @@
1
+ # Agent Framework Install Decisions v0.1
2
+
3
+ A public ASL decision view for autonomous agent frameworks and agent runtimes.
4
+
5
+ This public index is designed for autonomous agents. It exposes install decisions and evidence summaries, not ASL internal research operations.
6
+
7
+ ## Coverage
8
+
9
+ - Published components in this report: 14
10
+ - strict_reviewed: 8
11
+ - curated_baseline: 6
12
+ - allow_with_restrictions: 7
13
+ - ask_user: 4
14
+ - avoid: 3
15
+
16
+ Unknown or automatic-only components should not receive automatic-install authorization.
17
+
18
+ ### astron-agent
19
+
20
+ - Type: `agent-framework`
21
+ - State: `strict_reviewed`
22
+ - Decision: `allow_with_restrictions`
23
+ - Trust score: `80`
24
+ - Agent action: Install only after applying every safe-install control.
25
+ - Risk signals: mcp-tool-surface
26
+ - Evidence: source, technical_scan, permission_and_risk_analysis, independent_quality_review, recommendation_review (4 records)
27
+ - Safe-install controls:
28
+ - Grant only the permissions required for the current task and remove unused capabilities.
29
+
30
+ ### oh-my-agent
31
+
32
+ - Type: `agent-framework`
33
+ - State: `strict_reviewed`
34
+ - Decision: `allow_with_restrictions`
35
+ - Trust score: `62`
36
+ - Agent action: Install only after applying every safe-install control.
37
+ - Risk signals: network-access, credential-access
38
+ - Evidence: source, technical_scan, permission_and_risk_analysis, independent_quality_review, recommendation_review (4 records)
39
+ - Safe-install controls:
40
+ - Allowlist required remote endpoints and deny undeclared destinations.
41
+ - Use a dedicated least-privilege credential with explicit scope and rotation.
42
+ - Grant only the permissions required for the current task and remove unused capabilities.
43
+
44
+ ### Chorus
45
+
46
+ - Type: `agent-framework`
47
+ - State: `strict_reviewed`
48
+ - Decision: `ask_user`
49
+ - Trust score: `53`
50
+ - Agent action: Pause automatic installation and ask the user before enabling this component.
51
+ - Risk signals: license-undisclosed, remote-code-install
52
+ - Evidence: source, technical_scan, permission_and_risk_analysis, independent_quality_review, recommendation_review (4 records)
53
+ - Safe-install controls:
54
+ - Confirm usage rights and provenance before redistribution or enterprise deployment.
55
+ - Pin the exact package version, release or commit and install only inside an isolated environment.
56
+ - Grant only the permissions required for the current task and remove unused capabilities.
57
+
58
+ ### cua
59
+
60
+ - Type: `agent-framework`
61
+ - State: `strict_reviewed`
62
+ - Decision: `ask_user`
63
+ - Trust score: `52`
64
+ - Agent action: Pause automatic installation and ask the user before enabling this component.
65
+ - Risk signals: credential-access, background-execution, network-access
66
+ - Evidence: source, technical_scan, permission_and_risk_analysis, independent_quality_review, recommendation_review (4 records)
67
+ - Safe-install controls:
68
+ - Use a dedicated least-privilege credential with explicit scope and rotation.
69
+ - Disable unattended triggers until audit logging and an explicit stop control are configured.
70
+ - Allowlist required remote endpoints and deny undeclared destinations.
71
+
72
+ ### Agent-S
73
+
74
+ - Type: `agent-framework`
75
+ - State: `strict_reviewed`
76
+ - Decision: `ask_user`
77
+ - Trust score: `40`
78
+ - Agent action: Pause automatic installation and ask the user before enabling this component.
79
+ - Risk signals: credential-access, filesystem-write, background-execution, browser-access
80
+ - Evidence: source, technical_scan, permission_and_risk_analysis, independent_quality_review, recommendation_review (4 records)
81
+ - Safe-install controls:
82
+ - Use a dedicated least-privilege credential with explicit scope and rotation.
83
+ - Restrict write access to a dedicated workspace or temporary copy.
84
+ - Disable unattended triggers until audit logging and an explicit stop control are configured.
85
+
86
+ ### OpenAgentsControl
87
+
88
+ - Type: `agent-framework`
89
+ - State: `strict_reviewed`
90
+ - Decision: `avoid`
91
+ - Trust score: `34`
92
+ - Agent action: Do not install automatically; choose an alternative or request explicit human approval.
93
+ - Risk signals: credential-access, dynamic-code-execution, filesystem-write, network-access
94
+ - Evidence: source, technical_scan, permission_and_risk_analysis, independent_quality_review, recommendation_review (4 records)
95
+ - Safe-install controls:
96
+ - Use a dedicated least-privilege credential with explicit scope and rotation.
97
+ - Disable dynamic code paths when possible and isolate execution from host credentials.
98
+ - Restrict write access to a dedicated workspace or temporary copy.
99
+
100
+ ### lamda
101
+
102
+ - Type: `agent-framework`
103
+ - State: `strict_reviewed`
104
+ - Decision: `avoid`
105
+ - Trust score: `14`
106
+ - Agent action: Do not install automatically; choose an alternative or request explicit human approval.
107
+ - Risk signals: credential-access, filesystem-write, dynamic-code-execution, shell-execution, background-execution
108
+ - Evidence: source, technical_scan, permission_and_risk_analysis, independent_quality_review, recommendation_review (4 records)
109
+ - Safe-install controls:
110
+ - Use a dedicated least-privilege credential with explicit scope and rotation.
111
+ - Restrict write access to a dedicated workspace or temporary copy.
112
+ - Disable dynamic code paths when possible and isolate execution from host credentials.
113
+
114
+ ### CowAgent
115
+
116
+ - Type: `agent-framework`
117
+ - State: `strict_reviewed`
118
+ - Decision: `avoid`
119
+ - Trust score: `6`
120
+ - Agent action: Do not install automatically; choose an alternative or request explicit human approval.
121
+ - Risk signals: credential-access, browser-access, shell-execution, background-execution, filesystem-write
122
+ - Evidence: source, technical_scan, permission_and_risk_analysis, independent_quality_review, recommendation_review (4 records)
123
+ - Safe-install controls:
124
+ - Use a dedicated least-privilege credential with explicit scope and rotation.
125
+ - Use an isolated browser profile without personal cookies or sessions.
126
+ - Require confirmation for every command and run inside an isolated environment.
127
+
128
+ ### LangGraph
129
+
130
+ - Type: `agent-framework`
131
+ - State: `curated_baseline`
132
+ - Decision: `allow_with_restrictions`
133
+ - Trust score: `73`
134
+ - Agent action: Install only after applying every safe-install control.
135
+ - Risk signals: agent-orchestration, tool-chaining, network-access
136
+ - Evidence: baseline
137
+ - Safe-install controls:
138
+ - Review graph nodes that can call tools or external APIs.
139
+ - Apply allowlists to write-capable tools.
140
+ - Log state transitions for autonomous workflows.
141
+
142
+ ### AutoGen
143
+
144
+ - Type: `agent-framework`
145
+ - State: `curated_baseline`
146
+ - Decision: `allow_with_restrictions`
147
+ - Trust score: `72`
148
+ - Agent action: Install only after applying every safe-install control.
149
+ - Risk signals: network-access, code-execution, multi-agent-delegation
150
+ - Evidence: baseline
151
+ - Safe-install controls:
152
+ - Restrict code execution tools until the task requires them.
153
+ - Use scoped API keys and avoid sharing personal credentials across agents.
154
+ - Log delegated tool calls for later review.
155
+
156
+ ### CrewAI
157
+
158
+ - Type: `agent-framework`
159
+ - State: `curated_baseline`
160
+ - Decision: `allow_with_restrictions`
161
+ - Trust score: `70`
162
+ - Agent action: Install only after applying every safe-install control.
163
+ - Risk signals: network-access, multi-agent-delegation, tool-chaining
164
+ - Evidence: baseline
165
+ - Safe-install controls:
166
+ - Review tool assignments before running autonomous crews.
167
+ - Use least-privilege API credentials per task.
168
+ - Disable write-capable tools unless needed.
169
+
170
+ ### Dify
171
+
172
+ - Type: `agent-framework`
173
+ - State: `curated_baseline`
174
+ - Decision: `allow_with_restrictions`
175
+ - Trust score: `67`
176
+ - Agent action: Install only after applying every safe-install control.
177
+ - Risk signals: workflow-automation, network-access, plugin-access, credential-access
178
+ - Evidence: baseline
179
+ - Safe-install controls:
180
+ - Review connected tools, plugins and workflow triggers before autonomous execution.
181
+ - Use scoped credentials for each integration.
182
+ - Separate test workflows from production workflows.
183
+
184
+ ### OpenHands
185
+
186
+ - Type: `agent-framework`
187
+ - State: `curated_baseline`
188
+ - Decision: `allow_with_restrictions`
189
+ - Trust score: `63`
190
+ - Agent action: Install only after applying every safe-install control.
191
+ - Risk signals: shell-execution, filesystem-write, network-access, credential-access
192
+ - Evidence: baseline
193
+ - Safe-install controls:
194
+ - Run inside a dedicated workspace or container.
195
+ - Do not mount personal home directories by default.
196
+ - Use scoped credentials and review tool permissions before autonomous execution.
197
+
198
+ ### OpenManus
199
+
200
+ - Type: `agent-framework`
201
+ - State: `curated_baseline`
202
+ - Decision: `ask_user`
203
+ - Trust score: `56`
204
+ - Agent action: Pause automatic installation and ask the user before enabling this component.
205
+ - Risk signals: shell-execution, network-access, browser-access, unknown-source
206
+ - Evidence: baseline
207
+ - Safe-install controls:
208
+ - Require user confirmation before enabling autonomous tool execution.
209
+ - Use a separate browser profile and isolated workspace.
210
+ - Record exact source URL and version before installation.