@agent-beam/beam 0.2.3 → 0.2.5
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/README.md +6 -0
- package/Skills/README.md +64 -0
- package/Skills/agent-cost-abuse-review/SKILL.md +63 -0
- package/Skills/agent-incident-response/SKILL.md +109 -0
- package/Skills/agent-monitoring-review/SKILL.md +104 -0
- package/Skills/agent-network-segmentation/SKILL.md +70 -0
- package/Skills/agent-permissions-review/SKILL.md +107 -0
- package/Skills/agent-plugin-marketplace-review/SKILL.md +68 -0
- package/Skills/agent-transport-security/SKILL.md +108 -0
- package/Skills/agent-web-security/SKILL.md +103 -0
- package/Skills/agents/README.md +43 -0
- package/Skills/agents/claude/beam-ai-auditor.md +25 -0
- package/Skills/agents/claude/beam-appsec-auditor.md +25 -0
- package/Skills/agents/claude/beam-findings-reviewer.md +25 -0
- package/Skills/agents/claude/beam-incident-analyst.md +25 -0
- package/Skills/agents/claude/beam-infrastructure-auditor.md +25 -0
- package/Skills/agents/claude/beam-mcp-auditor.md +25 -0
- package/Skills/agents/claude/beam-skill-auditor.md +25 -0
- package/Skills/agents/codex/beam-ai-auditor.toml +23 -0
- package/Skills/agents/codex/beam-appsec-auditor.toml +23 -0
- package/Skills/agents/codex/beam-findings-reviewer.toml +23 -0
- package/Skills/agents/codex/beam-incident-analyst.toml +23 -0
- package/Skills/agents/codex/beam-infrastructure-auditor.toml +23 -0
- package/Skills/agents/codex/beam-mcp-auditor.toml +23 -0
- package/Skills/agents/codex/beam-skill-auditor.toml +23 -0
- package/Skills/ai-asset-scanner/SKILL.md +69 -0
- package/Skills/ai-security/SKILL.md +59 -0
- package/Skills/api-auth-security/SKILL.md +106 -0
- package/Skills/browser-agent-security/SKILL.md +77 -0
- package/Skills/cicd-agent-security/SKILL.md +108 -0
- package/Skills/cloud-agent-security/SKILL.md +101 -0
- package/Skills/container-sandbox-security/SKILL.md +101 -0
- package/Skills/data-retention-privacy-review/SKILL.md +69 -0
- package/Skills/dependency-supply-chain/SKILL.md +106 -0
- package/Skills/llm-output-handling/SKILL.md +66 -0
- package/Skills/manifest.json +147 -0
- package/Skills/mcp-scanner/SKILL.md +64 -0
- package/Skills/model-artifact-scanner/SKILL.md +108 -0
- package/Skills/multi-agent-trust-review/SKILL.md +71 -0
- package/Skills/prompt-injection-review/SKILL.md +102 -0
- package/Skills/rag-memory-security/SKILL.md +105 -0
- package/Skills/scripts/validate-skills.mjs +113 -0
- package/Skills/secrets-egress-review/SKILL.md +105 -0
- package/Skills/security-assessment/SKILL.md +73 -0
- package/Skills/security-reporting/SKILL.md +73 -0
- package/Skills/skill-scanner/SKILL.md +68 -0
- package/Skills/tool-schema-review/SKILL.md +66 -0
- package/Skills/training-data-security/SKILL.md +70 -0
- package/Skills/webhook-callback-security/SKILL.md +71 -0
- package/dist/agents.d.ts +2 -1
- package/dist/agents.js +24 -8
- package/dist/agents.js.map +1 -1
- package/dist/approvals.d.ts +65 -0
- package/dist/approvals.js +86 -0
- package/dist/approvals.js.map +1 -0
- package/dist/banner.js +7 -2
- package/dist/banner.js.map +1 -1
- package/dist/cli.js +71 -15
- package/dist/cli.js.map +1 -1
- package/dist/client.js +107 -3
- package/dist/client.js.map +1 -1
- package/dist/color.d.ts +5 -0
- package/dist/color.js +15 -0
- package/dist/color.js.map +1 -0
- package/dist/data-detectors.d.ts +18 -0
- package/dist/data-detectors.js +33 -0
- package/dist/data-detectors.js.map +1 -0
- package/dist/forward.js +7 -2
- package/dist/forward.js.map +1 -1
- package/dist/hook-adapters.js +13 -2
- package/dist/hook-adapters.js.map +1 -1
- package/dist/install.js +63 -8
- package/dist/install.js.map +1 -1
- package/dist/owl.d.ts +6 -0
- package/dist/owl.js +50 -0
- package/dist/owl.js.map +1 -0
- package/dist/policy.d.ts +66 -6
- package/dist/policy.js +132 -40
- package/dist/policy.js.map +1 -1
- package/dist/prompts.d.ts +1 -0
- package/dist/prompts.js +22 -6
- package/dist/prompts.js.map +1 -1
- package/dist/run.d.ts +1 -0
- package/dist/run.js +48 -0
- package/dist/run.js.map +1 -0
- package/dist/sandbox.d.ts +13 -0
- package/dist/sandbox.js +116 -0
- package/dist/sandbox.js.map +1 -0
- package/dist/setup.js +45 -5
- package/dist/setup.js.map +1 -1
- package/dist/shims.d.ts +13 -0
- package/dist/shims.js +85 -0
- package/dist/shims.js.map +1 -0
- package/dist/store.d.ts +16 -0
- package/dist/store.js +19 -2
- package/dist/store.js.map +1 -1
- package/package.json +35 -6
package/dist/store.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { chmod, mkdir, readFile, rename, stat, writeFile } from "node:fs/promises";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { detectSequenceFindings } from "./sequences.js";
|
|
4
|
+
import { approvalAuditEvent, validateApprovalRequest } from "./approvals.js";
|
|
4
5
|
export class Store {
|
|
5
6
|
directory;
|
|
6
7
|
events = [];
|
|
7
8
|
scans = [];
|
|
8
9
|
reviews = {};
|
|
10
|
+
approvals = [];
|
|
11
|
+
approvalAudit = [];
|
|
9
12
|
queue = Promise.resolve();
|
|
10
13
|
maxEvents = 10_000;
|
|
11
14
|
constructor(directory) {
|
|
@@ -14,7 +17,7 @@ export class Store {
|
|
|
14
17
|
async init() {
|
|
15
18
|
await mkdir(this.directory, { recursive: true, mode: 0o700 });
|
|
16
19
|
await chmod(this.directory, 0o700);
|
|
17
|
-
for (const name of ["events", "scans", "reviews"]) {
|
|
20
|
+
for (const name of ["events", "scans", "reviews", "approvals", "approval-audit"]) {
|
|
18
21
|
const file = join(this.directory, `${name}.ndjson`);
|
|
19
22
|
let contents = "";
|
|
20
23
|
try {
|
|
@@ -37,8 +40,15 @@ export class Store {
|
|
|
37
40
|
this.events.push(row);
|
|
38
41
|
else if (name === "scans")
|
|
39
42
|
this.scans.push(row);
|
|
40
|
-
else
|
|
43
|
+
else if (name === "reviews")
|
|
41
44
|
this.reviews[row.id] = row.reviewed;
|
|
45
|
+
else if (name === "approvals") {
|
|
46
|
+
if (!validateApprovalRequest(row))
|
|
47
|
+
throw new Error(`Invalid approval record at line ${i + 1}; refuse to load it.`);
|
|
48
|
+
this.approvals.push(row);
|
|
49
|
+
}
|
|
50
|
+
else
|
|
51
|
+
this.approvalAudit.push(row);
|
|
42
52
|
}
|
|
43
53
|
catch {
|
|
44
54
|
throw new Error(`Invalid ${name} store at line ${i + 1}; preserve and repair this file before restarting.`);
|
|
@@ -48,6 +58,13 @@ export class Store {
|
|
|
48
58
|
this.events = this.events.slice(-this.maxEvents);
|
|
49
59
|
this.scans = this.scans.slice(-500);
|
|
50
60
|
}
|
|
61
|
+
addApproval(request) { return this.serialized(async () => { if (!validateApprovalRequest(request))
|
|
62
|
+
throw new Error("Invalid approval request; refusing to persist it."); this.approvals = [...this.approvals.filter(r => r.request_id !== request.request_id), request].slice(-1000); await this.replace("approvals", this.approvals); const audit = { event: "approval_requested", request_id: request.request_id, policy_id: request.policy_id, user: request.user, agent: request.agent, timestamp: new Date().toISOString() }; this.approvalAudit = [...this.approvalAudit, audit].slice(-5000); await this.replace("approval-audit", this.approvalAudit); return request; }); }
|
|
63
|
+
auditApproval(event) { return this.serialized(async () => { this.approvalAudit = [...this.approvalAudit, event].slice(-5000); await this.replace("approval-audit", this.approvalAudit); return event; }); }
|
|
64
|
+
resolveApproval(requestId, decision, approver, apply) {
|
|
65
|
+
return this.serialized(async () => { const request = this.approvals.find(r => r.request_id === requestId); if (!request)
|
|
66
|
+
throw new Error("Approval request not found."); const next = apply(request, decision, approver); const event = approvalAuditEvent(request, next, approver); const timestamp = new Date().toISOString(); const audit = { event, request_id: requestId, policy_id: next.policy_id, user: next.user, agent: next.agent, decision: next.decision || decision, timestamp, reason: event === "approval_invalid" ? "Malformed or unsupported approval record." : undefined }; const records = event === "approved" ? [audit, { ...audit, event: "approval_approved", reason: "Legacy compatibility alias for approved." }] : [audit]; this.approvals = this.approvals.map(r => r.request_id === requestId ? next : r); await this.replace("approvals", this.approvals); this.approvalAudit = [...this.approvalAudit, ...records].slice(-5000); await this.replace("approval-audit", this.approvalAudit); return next; });
|
|
67
|
+
}
|
|
51
68
|
serialized(fn) {
|
|
52
69
|
const result = this.queue.then(fn);
|
|
53
70
|
this.queue = result.catch(() => { });
|
package/dist/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,42 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-beam/beam",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.2.5",
|
|
4
|
+
"description": "Local-first observation and heuristic risk scanning for AI coding agents (Claude Code, Codex, Cursor, Copilot CLI, Gemini). Redacts secrets, flags risky tool calls, scans skills and MCP configs offline.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"ai agent security",
|
|
7
|
+
"agent observability",
|
|
8
|
+
"claude code",
|
|
9
|
+
"claude code hooks",
|
|
10
|
+
"codex cli",
|
|
11
|
+
"cursor",
|
|
12
|
+
"mcp security",
|
|
13
|
+
"mcp scanner",
|
|
14
|
+
"model context protocol",
|
|
15
|
+
"prompt injection",
|
|
16
|
+
"llm security",
|
|
17
|
+
"secret redaction",
|
|
18
|
+
"risk scanning",
|
|
19
|
+
"heuristic detection",
|
|
20
|
+
"ai safety",
|
|
21
|
+
"cli"
|
|
22
|
+
],
|
|
23
|
+
"homepage": "https://agentbeam.com",
|
|
24
|
+
"repository": {
|
|
25
|
+
"type": "git",
|
|
26
|
+
"url": "git+https://github.com/whyashthakker/beam-cli.git"
|
|
27
|
+
},
|
|
28
|
+
"bugs": {
|
|
29
|
+
"url": "https://github.com/whyashthakker/beam-cli/issues"
|
|
30
|
+
},
|
|
31
|
+
"author": "Yash Thakker",
|
|
5
32
|
"license": "AGPL-3.0-only",
|
|
6
33
|
"type": "module",
|
|
7
34
|
"bin": {
|
|
8
35
|
"beam": "dist/cli.js"
|
|
9
36
|
},
|
|
10
37
|
"files": [
|
|
11
|
-
"dist"
|
|
38
|
+
"dist",
|
|
39
|
+
"Skills"
|
|
12
40
|
],
|
|
13
41
|
"scripts": {
|
|
14
42
|
"build": "tsc -p tsconfig.json && chmod +x dist/cli.js",
|
|
@@ -17,8 +45,9 @@
|
|
|
17
45
|
"test": "node --no-warnings --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand",
|
|
18
46
|
"test:watch": "node --no-warnings --experimental-vm-modules node_modules/jest/bin/jest.js --watch",
|
|
19
47
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
20
|
-
"prepublishOnly": "npm run typecheck && npm test && npm run build",
|
|
21
|
-
"setup:global": "bash scripts/setup-global.sh"
|
|
48
|
+
"prepublishOnly": "npm run validate:skills && npm run typecheck && npm test && npm run build",
|
|
49
|
+
"setup:global": "bash scripts/setup-global.sh",
|
|
50
|
+
"validate:skills": "node Skills/scripts/validate-skills.mjs"
|
|
22
51
|
},
|
|
23
52
|
"publishConfig": {
|
|
24
53
|
"access": "public"
|
|
@@ -31,7 +60,7 @@
|
|
|
31
60
|
},
|
|
32
61
|
"devDependencies": {
|
|
33
62
|
"@types/jest": "^30.0.0",
|
|
34
|
-
"@types/node": "^22.
|
|
63
|
+
"@types/node": "^22.20.2",
|
|
35
64
|
"jest": "^30.2.0",
|
|
36
65
|
"ts-jest": "^29.4.5",
|
|
37
66
|
"tsx": "^4.19.2",
|