@integsec/agentic-pentest-proxy 0.3.3 → 0.3.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 +3 -1
- package/cloudflare/wrangler.jsonc +1 -1
- package/dist/bin/integsec-agentic-pentest-bridge.js +2 -2
- package/dist/bin/integsec-agentic-pentest-gateway.js +10 -3
- package/dist/bin/integsec-agentic-pentest-gateway.js.map +1 -1
- package/dist/src/config.js +1 -1
- package/dist/src/gateway/admin.html +28 -4
- package/dist/src/gateway/admin.js +70 -7
- package/dist/src/gateway/docs-home.html +20 -0
- package/dist/src/gateway/docs.d.ts +3 -0
- package/dist/src/gateway/docs.d.ts.map +1 -0
- package/dist/src/gateway/docs.html +12 -0
- package/dist/src/gateway/docs.js +94 -0
- package/dist/src/gateway/docs.js.map +1 -0
- package/dist/src/gateway/runtime.d.ts.map +1 -1
- package/dist/src/gateway/runtime.js +40 -3
- package/dist/src/gateway/runtime.js.map +1 -1
- package/dist/src/gateway/server.d.ts.map +1 -1
- package/dist/src/gateway/server.js +29 -0
- package/dist/src/gateway/server.js.map +1 -1
- package/dist/src/gateway/state.d.ts +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/docs/configuration.md +70 -0
- package/docs/development.md +17 -0
- package/docs/images/tui-in-scope.png +0 -0
- package/docs/images/tui-in-scope.svg +24 -0
- package/docs/images/tui-out-of-scope.png +0 -0
- package/docs/images/tui-out-of-scope.svg +25 -0
- package/docs/images/tui-policy-blocks.png +0 -0
- package/docs/images/tui-policy-blocks.svg +24 -0
- package/docs/integrations.md +74 -0
- package/docs/managed-gateway.md +26 -3
- package/docs/release-readiness-0.2.6.md +27 -0
- package/docs/security.md +33 -0
- package/docs/superpowers/plans/2026-03-26-mcp-scope-proxy.md +3051 -0
- package/docs/superpowers/plans/2026-03-28-tui-monitor.md +863 -0
- package/docs/superpowers/plans/2026-03-29-manifest-builder.md +3429 -0
- package/docs/superpowers/specs/2026-03-28-tui-monitor-design.md +138 -0
- package/docs/superpowers/specs/2026-03-29-manifest-builder-design.md +248 -0
- package/docs/tui.md +25 -0
- package/package.json +4 -2
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Release review: 0.2.6
|
|
2
|
+
|
|
3
|
+
Reviewed against GitHub `master` at `af9657d05d8b54c8c0e7d917739e4b6460dd618d`.
|
|
4
|
+
|
|
5
|
+
## Changes
|
|
6
|
+
|
|
7
|
+
- Scope checks now require every DNS answer to fit authorized IP ranges when IP ranges provide the authorization. Explicit exclusions are checked before DNS.
|
|
8
|
+
- URL scope entries enforce scheme, host, port, and path prefix. Unknown targetless tools, deeply nested arguments, and free-form commands are denied by default.
|
|
9
|
+
- HTTP forwarding is pinned to the configured upstream origin, has a request size limit, and requires a proxy token on non-loopback interfaces. Parsed JSON is reserialized before forwarding.
|
|
10
|
+
- Audit redaction covers compound credential keys, URL credentials, sensitive query values, unstructured bodies, and invalid argument payloads. Engagement IDs cannot escape the audit directory through filenames.
|
|
11
|
+
- AWS, Azure, and GCP secret-loading dependencies are packaged. Azure logging uses the DCR/DCE ingestion endpoint, and Key Vault secret URIs are parsed correctly.
|
|
12
|
+
- The vulnerable CIDR dependency was replaced. Runtime and test dependencies were upgraded to versions with no current npm audit advisories. The container has a writable audit directory and an HTTP health check.
|
|
13
|
+
- Personal machine paths were removed from examples; the tracked local settings file was removed and ignored.
|
|
14
|
+
|
|
15
|
+
## Verification
|
|
16
|
+
|
|
17
|
+
- `npm run lint`, `npm run build`, and 1,013 automated tests pass on Node 24.
|
|
18
|
+
- `npm audit` reports zero advisories across the lockfile.
|
|
19
|
+
- `npm pack --dry-run` contains the expected 0.2.6 package. The Docker build runs in GitHub CI because a local Docker daemon was unavailable during this review.
|
|
20
|
+
|
|
21
|
+
## Deployment and operating limits
|
|
22
|
+
|
|
23
|
+
- The proxy checks only MCP arguments it can see. It cannot guarantee the destinations chosen by upstream tools, redirects, file inputs, encoded payloads, or DNS changes after validation. Enforce engagement scope with network egress policy as well, and review the schemas of the MCP servers used by the team.
|
|
24
|
+
- Keep `ALLOW_UNSTRUCTURED_COMMANDS=false`. The opt-in parser is heuristic and is not suitable as the only scope boundary.
|
|
25
|
+
- The local audit file must remain writable and monitored. As designed, logging failures do not stop tool calls.
|
|
26
|
+
- Cloud logging requires live credentialed tests in each target account before claiming that an integration is operational there.
|
|
27
|
+
- Remote HTTP deployments require TLS termination, a secret `PROXY_AUTH_TOKEN`, and a private network or gateway.
|
package/docs/security.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Security model
|
|
2
|
+
|
|
3
|
+
Use this proxy as one layer of engagement control. It checks MCP `tools/call` requests before forwarding them to an upstream MCP server. It does not inspect arbitrary traffic sent outside MCP.
|
|
4
|
+
|
|
5
|
+
## Enforced checks
|
|
6
|
+
|
|
7
|
+
- Requests must have an inspectable tool name and JSON object arguments.
|
|
8
|
+
- Recognized tool categories are compared with `authorized_techniques` and `excluded_techniques`.
|
|
9
|
+
- Calls outside the manifest time window are blocked.
|
|
10
|
+
- The proxy extracts all visible targets and checks each one; one blocked target blocks the call.
|
|
11
|
+
- Exclusions win over broader authorizations. CIDR targets must fit inside an allowed CIDR and avoid exclusions.
|
|
12
|
+
- DNS failures block the call. A hostname authorized only by IP range must resolve entirely inside that range.
|
|
13
|
+
- URL entries restrict scheme, host, port, and path prefix.
|
|
14
|
+
- Free-form commands and unrecognized targetless tool calls are blocked by default.
|
|
15
|
+
- HTTP listeners bound beyond loopback require `PROXY_AUTH_TOKEN`; clients send `X-Proxy-Token`.
|
|
16
|
+
|
|
17
|
+
Every decision is logged locally as JSONL after parameter sanitization. Cloud audit backends are additional; a cloud logging failure does not stop the tool call. Protect the local audit directory and monitor backend errors.
|
|
18
|
+
|
|
19
|
+
## Boundaries
|
|
20
|
+
|
|
21
|
+
The proxy cannot verify a destination selected later inside an upstream tool, a redirect, a target loaded from a file or encoded payload, DNS changes between check and execution, or traffic that never goes through this MCP proxy. Tool names also do not fully describe what a tool does. Review the upstream tool schemas and keep network egress controls in place for production engagements.
|
|
22
|
+
|
|
23
|
+
`ALLOW_UNSTRUCTURED_COMMANDS=true` enables heuristic inspection of free-form command fields. It weakens the default scope check; use only after reviewing the specific upstream tool.
|
|
24
|
+
|
|
25
|
+
For HTTP clients on a network, use TLS termination and keep the bearer token out of command history and committed files. The proxy should not be exposed directly to the public internet.
|
|
26
|
+
|
|
27
|
+
## Container image
|
|
28
|
+
|
|
29
|
+
The published image runs as an unprivileged user with only Node.js, production dependencies, and the built proxy. Its build upgrades Alpine OS packages. CI and release jobs smoke test the image and block publication if Trivy reports a moderate, high, or critical vulnerability. Scan results are a point-in-time check; rebuild and rescan after base image or advisory updates.
|
|
30
|
+
|
|
31
|
+
### Docker Scout musl finding (November 2026)
|
|
32
|
+
|
|
33
|
+
Docker Scout may flag CVE-2026-107891 for `musl 1.2.6-r3` in the Alpine 3.24 image and suggest `1.2.6-r6`. [Alpine's security tracker](https://security.alpinelinux.org/vuln/CVE-2026-107891) marks `1.2.6-r3` as fixed on the 3.24 branch; `1.2.6-r6` is the separate fix version for Alpine edge. This appears to be a version-mapping false positive for this image. If a Scout exception is needed, scope it to this image and package, cite the Alpine tracker, and review it when the base image changes.
|