network-ai 5.5.4 → 5.5.6

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.
@@ -564,4 +564,4 @@ Run these before declaring the integration production-ready:
564
564
 
565
565
  ---
566
566
 
567
- *Network-AI v5.5.4 · MIT License · https://github.com/Jovancoding/Network-AI*
567
+ *Network-AI v5.5.6 · MIT License · https://github.com/Jovancoding/Network-AI*
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  [![Website](https://img.shields.io/badge/website-network--ai.org-4b9df2?style=flat&logo=web&logoColor=white)](https://network-ai.org/)
6
6
  [![CI](https://github.com/Jovancoding/Network-AI/actions/workflows/ci.yml/badge.svg)](https://github.com/Jovancoding/Network-AI/actions/workflows/ci.yml)
7
7
  [![CodeQL](https://github.com/Jovancoding/Network-AI/actions/workflows/codeql.yml/badge.svg)](https://github.com/Jovancoding/Network-AI/actions/workflows/codeql.yml)
8
- [![Release](https://img.shields.io/badge/release-v5.5.4-blue.svg)](https://github.com/Jovancoding/Network-AI/releases)
8
+ [![Release](https://img.shields.io/badge/release-v5.5.6-blue.svg)](https://github.com/Jovancoding/Network-AI/releases)
9
9
  [![npm](https://img.shields.io/npm/dw/network-ai.svg?label=npm%20downloads)](https://www.npmjs.com/package/network-ai)
10
10
  [![Tests](https://img.shields.io/badge/tests-3093%20passing-brightgreen.svg)](#testing)
11
11
  [![Adapters](https://img.shields.io/badge/frameworks-29%20supported-blueviolet.svg)](#adapter-system)
package/SKILL.md CHANGED
@@ -703,6 +703,49 @@ python {baseDir}/scripts/swarm_guard.py supervisor-review --task-id "task_001"
703
703
  - Run `sessions_list` (OpenClaw platform built-in) to see available sessions
704
704
  - Session may need to be started first
705
705
 
706
+ ## Security Framework Assessment (MAESTRO / OWASP AST)
707
+
708
+ The following findings are drawn from the **MAESTRO Agent Security Threat** framework (OWASP LLM / ASVS mapping). They are addressed by existing architectural controls in Network-AI — not open vulnerabilities.
709
+
710
+ ### AST03 — Over-Privileged Skills · Severity: High
711
+
712
+ > *Skills are granted broader permissions than their stated function requires, creating excessive blast radius if prompt-injected.*
713
+
714
+ | Control | How Network-AI addresses it |
715
+ |---|---|
716
+ | **Permission manifest** | `metadata.openclaw` in SKILL.md frontmatter explicitly declares `bundle_scope: "Python scripts only"`, `network_calls: none`, `requires.bins: [python3]` — no shell tools, no API credentials, no external services |
717
+ | **Least-privilege resource gating** | `check_permission.py` uses a weighted scoring model (justification 40 %, trust 30 %, risk 30 %); PAYMENTS and FILE_EXPORT require `--confirm-high-risk` acknowledgment before any token is issued; `--scope` limits every grant to minimum required access |
718
+ | **Abstract resource labels only** | PAYMENTS, DATABASE, EMAIL, FILE_EXPORT are local scoring labels — no external credentials exist in the skill; there is nothing to leak to an external service |
719
+ | **HMAC-signed grant tokens** | Since v5.5.2, every grant record carries `_sig` (HMAC-SHA256 over canonical fields); `validate_token.py` rejects tampered records — privilege escalation via forged grants is detected at validation time |
720
+ | **SandboxPolicy + FileAccessor** | AgentRuntime's `SandboxPolicy` enforces command allowlists/blocklists; `FileAccessor` restricts all file I/O to `data/<env>/`; out-of-scope access throws `SourceProtectionError` and returns `{success: false}` without leaking path details |
721
+ | **Advisory-only tokens** | All grant tokens are explicitly marked `advisory: true`; downstream systems must add a separate authenticated identity check and human approval before any real sensitive action — documented in frontmatter and throughout SKILL.md |
722
+
723
+ ### AST06 — Weak Isolation · Severity: High
724
+
725
+ > *Skills execute in the host agent's security context with full filesystem, shell, and network access.*
726
+
727
+ | Control | How Network-AI addresses it |
728
+ |---|---|
729
+ | **Zero network calls, zero subprocesses** | All bundled Python scripts use Python stdlib only, spawn no subprocesses, and make no network calls — declared in `metadata.openclaw.network_calls: none` and `bundle_scope`; enforceable by platform inspection |
730
+ | **AgentRuntime sandbox** | `ShellExecutor` enforces per-command timeout and output-size limits; `SandboxPolicy` allowlist/blocklist prevents unapproved shell commands from running at all |
731
+ | **Source protection** | `SandboxPolicy.sourceProtection` constrains `FileAccessor.read/write/list` to `data/<env>/` only; any attempt to read outside that boundary throws `SourceProtectionError` — the agent receives `{success: false}`, no path details leak |
732
+ | **Environment isolation** | `NETWORK_AI_ENV` / `--env` routes all state to `data/<env>/`; dev, staging, and production state are fully separated; live state (`audit_log.jsonl`, `active_grants.json`) never promotes across environments |
733
+ | **ApprovalGate** | High-risk shell or file operations require explicit human or callback approval before execution; auto-approve only in explicitly trusted environments |
734
+ | **No hot-reload surface** | Bundled scripts do not implement or respond to a SkillsWatcher; skill updates require explicit `clawhub install` or `npm install` — no mid-session reload is possible |
735
+
736
+ ### AST07 — Update Drift · Severity: Medium
737
+
738
+ > *Installed skills drift out of sync — either unpatched (leaving known CVEs open) or blindly auto-updated (potentially receiving malicious patches).*
739
+
740
+ | Control | How Network-AI addresses it |
741
+ |---|---|
742
+ | **Exact version pinning** | npm `package.json` uses exact `"version": "5.5.5"` — no semver range specifiers; `clawhub install network-ai` pins to a specific published version |
743
+ | **Zero transitive dependency drift** | All bundled Python scripts use Python stdlib only — `pip install` is never required; there are no third-party packages to drift, be compromised upstream, or introduce CVEs |
744
+ | **Signed, tagged releases** | Every release is committed with a signed Git tag (`v5.5.x`); commit hash is verifiable against CHANGELOG.md; GitHub releases link tag → diff → changelog entry |
745
+ | **Supply chain monitoring** | npm package continuously scored by Socket.dev (score A); any new dependency or permission change triggers an alert |
746
+ | **No auto-update mechanism** | Updates require explicit user action (`clawhub install`, `npm install network-ai@latest`); there is no background updater or hot-reload path |
747
+ | **CHANGELOG.md audit trail** | Every change — including docs-only patches — is tracked with version, date, and rationale; operators can diff any two versions to assess update risk before applying |
748
+
706
749
  ## Security Scan Findings (ClawHub)
707
750
 
708
751
  This skill is scanned on every publish. The following Notes are flagged by design and will recur on every scan. They are acknowledged and mitigated with documented controls — they are not bugs or vulnerabilities.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "network-ai",
3
- "version": "5.5.4",
3
+ "version": "5.5.6",
4
4
  "description": "AI agent orchestration framework for TypeScript/Node.js - 29 adapters (LangChain, AutoGen, CrewAI, OpenAI Assistants, LlamaIndex, Semantic Kernel, Haystack, DSPy, Agno, MCP, OpenClaw, A2A, Codex, MiniMax, NemoClaw, APS, Copilot, LangGraph, Anthropic Computer Use, OpenAI Agents SDK, Vertex AI, Pydantic AI, Browser Agent, Hermes, Orchestrator, RLM + streaming variants). Built-in CLI, security, swarm intelligence, real-time streaming, and agentic workflow patterns.",
5
5
  "homepage": "https://network-ai.org",
6
6
  "main": "dist/index.js",
package/socket.json CHANGED
@@ -144,6 +144,14 @@
144
144
  "path": "dist/lib/compliance-monitor.js",
145
145
  "reason": "Intentional — flagged by Socket.dev's import-graph analysis via transitive imports; ComplianceMonitor does not make direct outbound HTTP calls."
146
146
  },
147
+ {
148
+ "path": "lib/context-throttler.ts",
149
+ "reason": "False positive — ContextThrottler is a pure blackboard-pruning utility; it contains zero network calls, zero fetch usage, and zero external dependencies. Flagged by Socket.dev's transitive import-graph analysis only."
150
+ },
151
+ {
152
+ "path": "dist/lib/context-throttler.js",
153
+ "reason": "False positive — compiled output of ContextThrottler. Pure in-memory filtering logic; no network calls. Flagged by Socket.dev's transitive import-graph analysis only."
154
+ },
147
155
  {
148
156
  "path": "dist/lib/control-plane.js",
149
157
  "reason": "Intentional — flagged by Socket.dev's import-graph analysis via transitive imports; ControlPlane does not make direct outbound HTTP calls."