@idevelopers/agentlock 0.1.2 → 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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/SECURITY.md +36 -0
- package/codex-plugin/plugin.json +1 -1
- package/dist/index.js +1 -1
- package/docs/CROSS_PLATFORM_VALIDATION.md +43 -0
- package/docs/ENTERPRISE_READINESS.md +44 -0
- package/docs/PRODUCTION_REPLICATION_PLAYBOOK.md +121 -0
- package/docs/THREAT_MODEL.md +48 -0
- package/package.json +7 -2
- package/skills/agentlock-workflow/SKILL.md +1 -1
package/SECURITY.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Supported Version
|
|
4
|
+
|
|
5
|
+
AgentLock is pre-1.0 commercial MVP software. Security fixes are shipped on the latest public npm release only.
|
|
6
|
+
|
|
7
|
+
| Package | Supported |
|
|
8
|
+
| --- | --- |
|
|
9
|
+
| `@idevelopers/agentlock@latest` | Yes |
|
|
10
|
+
| Older versions | No |
|
|
11
|
+
|
|
12
|
+
## Reporting Vulnerabilities
|
|
13
|
+
|
|
14
|
+
Report suspected vulnerabilities privately to the repository owner or iDevelopers account owner. Do not open a public issue containing exploit details, license keys, tokens, `.env` contents, cloud credentials, browser cookies, or customer data.
|
|
15
|
+
|
|
16
|
+
Please include:
|
|
17
|
+
|
|
18
|
+
- affected AgentLock version
|
|
19
|
+
- operating system and Node version
|
|
20
|
+
- MCP client, if relevant
|
|
21
|
+
- minimal reproduction steps
|
|
22
|
+
- expected and actual behavior
|
|
23
|
+
- redacted logs only
|
|
24
|
+
|
|
25
|
+
## Security Commitments
|
|
26
|
+
|
|
27
|
+
- AgentLock runs locally and does not upload local files or secrets to an AgentLock server.
|
|
28
|
+
- Environment scans report risky file presence and configuration surfaces, not secret values.
|
|
29
|
+
- Reports, audit logs, command output tails, and tool responses are redacted before returning to the caller.
|
|
30
|
+
- Guarded commands run through `child_process.spawn` with `shell:false`.
|
|
31
|
+
- Guarded command environments strip common secret-like variable names before execution.
|
|
32
|
+
- Paid license validation uses Polar license keys and caches only the local activation state needed for offline grace.
|
|
33
|
+
|
|
34
|
+
## Non-Goals
|
|
35
|
+
|
|
36
|
+
AgentLock is not a kernel sandbox, EDR agent, malware detector, or compliance certification. It reduces accidental and agent-driven misuse through explicit local policy gates. High-risk enterprise deployments should pair AgentLock with OS sandboxing, endpoint management, secret managers, CI controls, and independent security review.
|
package/codex-plugin/plugin.json
CHANGED
package/dist/index.js
CHANGED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Cross-Platform Validation
|
|
2
|
+
|
|
3
|
+
AgentLock supports Node 20+ on macOS, Linux, and Windows.
|
|
4
|
+
|
|
5
|
+
## Automated Matrix
|
|
6
|
+
|
|
7
|
+
GitHub Actions runs:
|
|
8
|
+
|
|
9
|
+
| OS | Node |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| Ubuntu latest | 20, 22, 24 |
|
|
12
|
+
| macOS latest | 20, 22, 24 |
|
|
13
|
+
| Windows latest | 20, 22, 24 |
|
|
14
|
+
|
|
15
|
+
Each matrix job runs:
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
npm ci
|
|
19
|
+
npm run validate
|
|
20
|
+
npm run smoke:public -- @idevelopers/agentlock@latest
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## What The Matrix Covers
|
|
24
|
+
|
|
25
|
+
- TypeScript build
|
|
26
|
+
- unit tests
|
|
27
|
+
- npm audit gate
|
|
28
|
+
- dry-run package contents
|
|
29
|
+
- public npm install
|
|
30
|
+
- MCP server startup
|
|
31
|
+
- free scan tool
|
|
32
|
+
- free policy generation tool
|
|
33
|
+
- unlicensed Pro lockout with live checkout guidance
|
|
34
|
+
|
|
35
|
+
## Manual Release Checks
|
|
36
|
+
|
|
37
|
+
Before claiming a release is enterprise-ready, also validate:
|
|
38
|
+
|
|
39
|
+
- Claude Code MCP install command
|
|
40
|
+
- Claude Code plugin marketplace install
|
|
41
|
+
- Codex plugin metadata import
|
|
42
|
+
- Cursor MCP configuration, when supported by the customer workflow
|
|
43
|
+
- one live Polar purchase and refund cycle for each changed license tier
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Enterprise Readiness
|
|
2
|
+
|
|
3
|
+
AgentLock is live and production-validated. It is not yet independently security certified.
|
|
4
|
+
|
|
5
|
+
## Completed
|
|
6
|
+
|
|
7
|
+
- private source repository
|
|
8
|
+
- public npm runtime package
|
|
9
|
+
- public installer metadata repository
|
|
10
|
+
- Polar-paid Pro and Team license model
|
|
11
|
+
- live paid purchase validation
|
|
12
|
+
- Pro license activation validation
|
|
13
|
+
- Pro policy and guarded-command validation
|
|
14
|
+
- unlicensed lockout validation
|
|
15
|
+
- live cancel, refund, and revoked-license validation
|
|
16
|
+
- security policy
|
|
17
|
+
- threat model
|
|
18
|
+
- npm audit gate
|
|
19
|
+
- cross-platform CI matrix for macOS, Linux, and Windows on Node 20, 22, and 24
|
|
20
|
+
|
|
21
|
+
## Claims That Are Fair Today
|
|
22
|
+
|
|
23
|
+
- live production product
|
|
24
|
+
- production-validated commercial MVP
|
|
25
|
+
- local-first AI coding-agent firewall
|
|
26
|
+
- paid-license enforcement validated against Polar
|
|
27
|
+
- industry-grade foundation for agent permission control
|
|
28
|
+
|
|
29
|
+
## Claims To Avoid Until External Review
|
|
30
|
+
|
|
31
|
+
- independently security certified
|
|
32
|
+
- SOC 2 compliant
|
|
33
|
+
- ISO 27001 certified
|
|
34
|
+
- formally audited
|
|
35
|
+
- enterprise compliance certified
|
|
36
|
+
|
|
37
|
+
## Certification Path
|
|
38
|
+
|
|
39
|
+
1. Run the CI matrix on every release branch.
|
|
40
|
+
2. Keep `npm audit --audit-level=moderate` clean before publish.
|
|
41
|
+
3. Add signed release provenance and npm provenance publishing.
|
|
42
|
+
4. Commission an independent security review focused on MCP boundaries, command execution, redaction, license enforcement, and policy bypasses.
|
|
43
|
+
5. Add a public vulnerability disclosure channel.
|
|
44
|
+
6. For enterprise procurement, prepare SOC 2 or ISO 27001 controls around access, change management, incident response, and vendor risk.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# AgentLock Production Runbook
|
|
2
|
+
|
|
3
|
+
This app follows the AgentGate production pattern:
|
|
4
|
+
|
|
5
|
+
- private source repository
|
|
6
|
+
- public npm runtime package
|
|
7
|
+
- public installer metadata repository
|
|
8
|
+
- Polar-paid Pro/Team license key model
|
|
9
|
+
- sandbox payment validation
|
|
10
|
+
- live paid purchase validation
|
|
11
|
+
- live cancel/refund and revoked-license validation
|
|
12
|
+
|
|
13
|
+
## Product Values
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
APP_NAME=AgentLock
|
|
17
|
+
APP_SLUG=agentlock
|
|
18
|
+
NPM_SCOPE=@idevelopers
|
|
19
|
+
NPM_PACKAGE=@idevelopers/agentlock
|
|
20
|
+
BIN_NAME=agentlock
|
|
21
|
+
PRIVATE_REPO=manish-1988/agentlock
|
|
22
|
+
PUBLIC_INSTALLER_REPO=manish-1988/agentlock-installer
|
|
23
|
+
POLAR_ORGANIZATION_ID=534c0711-1ded-497c-aa46-d1a7dfa46d6e
|
|
24
|
+
POLAR_CHECKOUT_URL=https://buy.polar.sh/polar_cl_exvU3F3ZTpiDvwBXIRqrMf30T1kBTsLxyx26B4SCkUz
|
|
25
|
+
FREE_PROMISE=local risk scanner and policy generator
|
|
26
|
+
PRO_PROMISE=policy enforcement, guarded commands, and audit log
|
|
27
|
+
TEAM_PROMISE=shared policies, signed bundles, audit export, and seats
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Polar Live Release
|
|
31
|
+
|
|
32
|
+
Created on 2026-08-29 in production with the iDevelopers organization default currency:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
CHECKOUT_LINK=AgentLock public checkout
|
|
36
|
+
CHECKOUT_URL=https://buy.polar.sh/polar_cl_exvU3F3ZTpiDvwBXIRqrMf30T1kBTsLxyx26B4SCkUz
|
|
37
|
+
PRO_LICENSE_BENEFIT=b39941ee-77eb-4fd7-945c-69644ec3af73
|
|
38
|
+
TEAM_LICENSE_BENEFIT=11bf9e5f-6eac-43a1-9a54-f5db454f3bc2
|
|
39
|
+
PRO_MONTHLY_PRODUCT=5bb20d15-8b0d-4bbd-9949-f835bdb76962
|
|
40
|
+
PRO_MONTHLY_PRICE=INR 1,599/month
|
|
41
|
+
PRO_ANNUAL_PRODUCT=5552305e-7c6c-4eb2-b613-0dd5ebbdf77b
|
|
42
|
+
PRO_ANNUAL_PRICE=INR 15,999/year
|
|
43
|
+
TEAM_MONTHLY_PRODUCT=d2bf75d5-7d5c-4848-a401-073dcc12fd08
|
|
44
|
+
TEAM_MONTHLY_PRICE=INR 8,499/month
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
The Polar organization rejected USD-only pricing because the organization's default presentment currency must be included in product prices. AgentLock remains positioned for a global audience; this release uses INR because it matches the active Polar organization.
|
|
48
|
+
|
|
49
|
+
## Live Payment Validation
|
|
50
|
+
|
|
51
|
+
Completed on 2026-08-29 against public npm version `0.1.2`:
|
|
52
|
+
|
|
53
|
+
```text
|
|
54
|
+
ORDER_ID=0ee016f3-d8ac-4a7c-9b47-5f399f5583c1
|
|
55
|
+
ORDER_STATUS_AFTER_PURCHASE=paid
|
|
56
|
+
ORDER_STATUS_AFTER_ROLLBACK=refunded
|
|
57
|
+
SUBSCRIPTION_ID=38c4b08f-8208-4baa-ba09-67960066f4bb
|
|
58
|
+
SUBSCRIPTION_STATUS_AFTER_PURCHASE=active
|
|
59
|
+
SUBSCRIPTION_STATUS_AFTER_ROLLBACK=canceled
|
|
60
|
+
REFUND_ID=3d3f90d1-1a74-41c7-9a94-a15fd201af0e
|
|
61
|
+
REFUND_STATUS=succeeded
|
|
62
|
+
LICENSE_KEY_ID=777a97f5-2154-4978-8080-0b6c790363f0
|
|
63
|
+
LICENSE_KEY_DISPLAY=****-04F0CB
|
|
64
|
+
LICENSE_STATUS_AFTER_PURCHASE=granted
|
|
65
|
+
LICENSE_STATUS_AFTER_ROLLBACK=revoked
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Validation results:
|
|
69
|
+
|
|
70
|
+
- Public `@idevelopers/agentlock@latest` installed version `0.1.2`.
|
|
71
|
+
- `agentlock_activate_license` returned `tier=pro` for the purchased key.
|
|
72
|
+
- `agentlock_check_action` unlocked Pro policy checks with the purchased key.
|
|
73
|
+
- `agentlock_run_guarded_command` ran a harmless `node` command under Pro.
|
|
74
|
+
- `agentlock_audit_log` returned the local Pro audit entries.
|
|
75
|
+
- A fresh unlicensed temp HOME remained blocked from Pro tools.
|
|
76
|
+
- After subscription revoke and full refund, the same key returned `tier=free` in a fresh temp HOME and Pro tools were blocked.
|
|
77
|
+
|
|
78
|
+
## Validation Checklist
|
|
79
|
+
|
|
80
|
+
Local source:
|
|
81
|
+
|
|
82
|
+
```sh
|
|
83
|
+
npm install
|
|
84
|
+
npm run build
|
|
85
|
+
npx vitest run
|
|
86
|
+
npm pack --dry-run
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Public npm after publish:
|
|
90
|
+
|
|
91
|
+
```sh
|
|
92
|
+
npm view @idevelopers/agentlock name version bin dist.tarball
|
|
93
|
+
npm pack @idevelopers/agentlock --dry-run
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Sandbox payment:
|
|
97
|
+
|
|
98
|
+
1. Create AgentLock sandbox product and recurring prices.
|
|
99
|
+
2. Add Polar License Key benefit with Pro metadata `tier=pro`.
|
|
100
|
+
3. Buy through sandbox checkout.
|
|
101
|
+
4. Activate the issued key with `agentlock_activate_license`.
|
|
102
|
+
5. Confirm `agentlock_check_action` and `agentlock_run_guarded_command` unlock.
|
|
103
|
+
6. Refund/cancel and verify the key no longer unlocks after revocation.
|
|
104
|
+
|
|
105
|
+
Live payment:
|
|
106
|
+
|
|
107
|
+
1. Create AgentLock live product and checkout. Completed 2026-08-29.
|
|
108
|
+
2. Publish `@idevelopers/agentlock`. Completed 2026-08-29 with version `0.1.2`.
|
|
109
|
+
3. Install from a clean temp environment. Completed 2026-08-29 against public npm version `0.1.2`.
|
|
110
|
+
4. Buy the lowest paid recurring tier with a real test purchase. Completed 2026-08-29.
|
|
111
|
+
5. Activate the issued key locally without pasting it into chat or docs. Completed 2026-08-29.
|
|
112
|
+
6. Confirm Pro behavior works from public npm. Completed 2026-08-29.
|
|
113
|
+
7. Confirm a fresh unlicensed temp HOME blocks Pro tools. Completed 2026-08-29.
|
|
114
|
+
8. Cancel subscription, refund order, revoke benefit, and validate the refunded key no longer unlocks Pro. Completed 2026-08-29.
|
|
115
|
+
|
|
116
|
+
## Security Notes
|
|
117
|
+
|
|
118
|
+
- Never commit license keys, npm tokens, Polar server tokens, card details, OTPs, or private API keys.
|
|
119
|
+
- Do not print full secret values in scan reports, audit logs, tests, docs, or command output.
|
|
120
|
+
- Do not ship source in the public installer repository.
|
|
121
|
+
- Keep docs honest: AgentLock is a public npm runtime with private source, not an open-source repo unless the source repo is intentionally made public.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# AgentLock Threat Model
|
|
2
|
+
|
|
3
|
+
## Scope
|
|
4
|
+
|
|
5
|
+
AgentLock protects local developer workflows where AI coding agents can request file access, shell commands, network actions, or MCP tool use. The MVP runs as a local MCP server and enforces policy for AgentLock tools.
|
|
6
|
+
|
|
7
|
+
## Assets
|
|
8
|
+
|
|
9
|
+
- `.env` files and local application secrets
|
|
10
|
+
- cloud credentials and service account files
|
|
11
|
+
- npm, GitHub, SSH, database, and deployment tokens
|
|
12
|
+
- source code and customer repositories
|
|
13
|
+
- local audit records
|
|
14
|
+
- Polar license activation state
|
|
15
|
+
|
|
16
|
+
## Trust Boundaries
|
|
17
|
+
|
|
18
|
+
- AI agent prompt and tool arguments are untrusted input.
|
|
19
|
+
- Local policy files are trusted only after human review.
|
|
20
|
+
- Polar is trusted for paid license status.
|
|
21
|
+
- npm is trusted for public package distribution.
|
|
22
|
+
- The local OS user account is outside the MVP enforcement boundary.
|
|
23
|
+
|
|
24
|
+
## Primary Threats And Controls
|
|
25
|
+
|
|
26
|
+
| Threat | Control |
|
|
27
|
+
| --- | --- |
|
|
28
|
+
| Agent reads secret files | default deny patterns for `.env`, cloud credentials, SSH keys, npm tokens, browser cookies |
|
|
29
|
+
| Agent runs destructive shell commands | command classification, deny patterns, approval-required categories |
|
|
30
|
+
| Agent publishes packages or pushes code | explicit package-publish and git-push categories |
|
|
31
|
+
| Agent exfiltrates data over network | network-egress category and domain allow/deny policy |
|
|
32
|
+
| Agent overuses MCP tools | MCP server and tool allowlists |
|
|
33
|
+
| Agent output leaks secrets | centralized redaction for tool responses, audit entries, and command output tails |
|
|
34
|
+
| License bypass after refund | live Polar validation plus revoked-license fallback to Free |
|
|
35
|
+
| Token leakage through child process env | guarded command environment strips secret-like variable names |
|
|
36
|
+
|
|
37
|
+
## Residual Risks
|
|
38
|
+
|
|
39
|
+
- AgentLock only enforces actions routed through AgentLock tools.
|
|
40
|
+
- A user can still run unsafe commands outside AgentLock.
|
|
41
|
+
- Local malware or a compromised OS account can bypass the MCP boundary.
|
|
42
|
+
- Policy mistakes can over-allow risky actions.
|
|
43
|
+
- Offline grace allows recent valid licenses to keep working during network failures.
|
|
44
|
+
- Independent audit and formal compliance certification have not yet been completed.
|
|
45
|
+
|
|
46
|
+
## Validation Evidence
|
|
47
|
+
|
|
48
|
+
The production runbook records the live purchase, Pro activation, public npm smoke, refund, subscription cancellation, and revoked-license validation for AgentLock `0.1.2`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@idevelopers/agentlock",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Local permission firewall for AI coding agents and MCP tools.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -9,11 +9,16 @@
|
|
|
9
9
|
"scripts": {
|
|
10
10
|
"build": "tsc",
|
|
11
11
|
"prepare": "npm run build",
|
|
12
|
-
"test": "vitest run"
|
|
12
|
+
"test": "vitest run",
|
|
13
|
+
"audit:security": "npm audit",
|
|
14
|
+
"smoke:public": "node scripts/public-package-smoke.mjs",
|
|
15
|
+
"validate": "npm run build && npm run test && npm run audit:security && npm pack --dry-run"
|
|
13
16
|
},
|
|
14
17
|
"files": [
|
|
15
18
|
"dist",
|
|
16
19
|
"README.md",
|
|
20
|
+
"SECURITY.md",
|
|
21
|
+
"docs",
|
|
17
22
|
"agentlock.policy.example.json",
|
|
18
23
|
".mcp.json",
|
|
19
24
|
".claude-plugin",
|