Skip to content

Commit 16fa777

Browse files
committed
chore(release): prepare v0.7.14 release gate
Bump package metadata to 0.7.14 and add the MCP Proxy v0.1 release gate CHANGELOG entry with audit closures, known limitations, and validation evidence. Implemented with assistance from Codex.
1 parent bddf600 commit 16fa777

3 files changed

Lines changed: 118 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,122 @@ All notable changes to the `agentveil` SDK.
99
named while AgentVeil is described as an external trust and reputation
1010
integration.
1111

12+
## [0.7.14] - 2026-05-11
13+
14+
AgentVeil MCP Proxy v0.1 first public release. Action Control Plane for IDE
15+
MCP clients wrapping downstream MCP servers with runtime decision gating,
16+
human approval routing, durable signed evidence, and replay defense.
17+
18+
### Added
19+
- Added the `agentveil-mcp-proxy` console script and
20+
`python -m agentveil_mcp_proxy` entry point for MCP transport proxy
21+
operation.
22+
- Added encrypted local proxy identity storage with Argon2id and SecretBox,
23+
passphrase-file support, `AVP_PROXY_PASSPHRASE`, a 12-character minimum for
24+
new identities, and documented passphrase-source trade-offs.
25+
- Added Runtime Gate integration with DecisionReceipt verification, schema
26+
enforcement, audit ID binding, payload hash binding, risk class binding,
27+
policy context hash binding, and circuit breaker handling.
28+
- Added a local TTL-capped DecisionReceipt replay cache as a v0.1 compensating
29+
control before the backend nonce/freshness protocol update.
30+
- Added the loopback browser approval server with CSRF checks, HMAC cookies,
31+
per-prompt tokens, Content-Length bounds, socket timeouts, and
32+
`ThreadingHTTPServer`.
33+
- Added a durable SQLite evidence store with WAL mode, hash chaining, fsync
34+
durability, owner-only permissions, and auxiliary WAL/SHM permission
35+
hardening after commits.
36+
- Added offline evidence bundle export and verification covering chain
37+
integrity, signed receipt validation, receipt binding checks, audit ID
38+
matching, and receipt-reference dedupe.
39+
- Added headless approval mode and bounded headless policy support with
40+
owner-only policy-file validation.
41+
- Added built-in policy packs for `default`, `github`, `filesystem`, and
42+
`shell`, including broadened destructive coverage for `purge_*`,
43+
`truncate_*`, `wipe_*`, `format_*`, `rm`, `rmdir_*`, `unlink_*`, and
44+
`clean_*` patterns where applicable.
45+
- Expanded destructive classification prefixes with `purge`, `truncate`,
46+
`wipe`, `format`, `rm`, `rmdir`, `unlink`, and `clean`.
47+
- Added cross-platform CI coverage across 3 operating systems and 4 Python
48+
versions, workflow dispatch support, pinned GitHub Actions SHAs, and
49+
`permissions: contents: read`.
50+
- Added `env_passthrough` blocking for the reserved `AVP_*` prefix so proxy
51+
secrets cannot be forwarded to downstream MCP servers by configuration.
52+
- Added the MCP Proxy subproject README and the operations guide at
53+
`docs/MCP_PROXY_OPERATIONS.md`.
54+
55+
### Security
56+
- Completed the P10.5 security audit remediation train: 12 MEDIUM and 8 LOW
57+
findings were identified across independent passes; 10 MEDIUM findings were
58+
closed in P10.6-P10.10, M-2 received the local replay-cache mitigation, and
59+
M-10 was deferred to v0.1.1.
60+
- Completed the post-P10.9 mid-train audit: 2 MEDIUM and 3 LOW findings were
61+
identified; MT-1, MT-2, and MT-3 were closed in P10.10, while MT-4 and MT-5
62+
were accepted as v0.1 LOW risk.
63+
- Annotated the 14-site Bandit B608 SQL false-positive cluster with narrow
64+
`# nosec B608` rationale comments.
65+
- Verified public documentation surfaces for attribution wording and prohibited
66+
product terminology.
67+
- Added receipt `audit_id` cross-checking and duplicate receipt-reference
68+
rejection to the offline verifier.
69+
- Added positive-value validation for RuntimeGateClient replay-cache settings.
70+
- Hardened CLI identity, config, and grant writes with file fsync and parent
71+
directory fsync.
72+
- Added a 1 MiB client-to-proxy JSON-RPC line cap matching the downstream
73+
message cap.
74+
- Bounded downstream response bookkeeping with in-flight ID tracking,
75+
TTL-pruned timed-out IDs, unsolicited-response counting, and retained
76+
response caps.
77+
- Required DecisionReceipt schema, audit ID, and receipt binding fields in
78+
offline evidence verification.
79+
80+
### Known Limitations
81+
- **Backend protocol nonce/freshness:** the local replay cache mitigates
82+
same-process replays within a five-minute window. The v0.1.1 protocol update
83+
adds backend-issued nonce plus `issued_at` and `expires_at` fields to a new
84+
`decision_receipt/3` schema. Same-intent replays across proxy restarts and
85+
against a compromised backend response channel remain possible in v0.1.
86+
- **Windows Job Object race:** Windows downstream process containment has a
87+
narrow `start()` window where a child process can spawn descendants before
88+
assignment to the Job Object. Use an external Windows service supervisor for
89+
production Windows deployments until the v0.1.1 fix lands.
90+
- **OS keychain identity storage:** v0.1 uses passphrase-encrypted Argon2id
91+
identity files. v0.1.1+ adds opt-in macOS Keychain, Linux Secret Service, and
92+
Windows Credential Manager integration.
93+
- **P7a WAL/SHM creation-window race:** the evidence store chmods auxiliary
94+
SQLite files after every commit; a small in-flight transaction window still
95+
depends on the user umask. Accepted as v0.1 LOW risk.
96+
- **P7b runtime-only chain validation:** chain integrity is validated at store
97+
open and after write transactions; there is no periodic background chain
98+
validation during a long-running proxy. Periodic restarts are the v0.1
99+
mitigation.
100+
- **MT-4 receipt cache eviction under sustained burst:** sustained high-volume
101+
legitimate receipts can evict captured receipts before the nominal TTL,
102+
weakening local replay defense in adversarial timing scenarios. The v0.1.1
103+
protocol nonce/freshness fix supersedes this mitigation.
104+
- **MT-5 `granted_by_request_id` reference validation:** the verifier does not
105+
dereference cache-hit `granted_by_request_id` values to prove the referenced
106+
record exists in the same bundle. Manual auditors should cross-check those
107+
references when reviewing cache-hit evidence.
108+
109+
### Audit References
110+
- Closed P10.5-security findings: M-1, M-3, M-4, M-5, M-6, M-7, M-8, M-9.a,
111+
M-9.b, M-11, M-12, L-1, L-2, L-3, Codex MEDIUM-1, Codex LOW-2, and
112+
Codex LOW-3.
113+
- Closed mid-train audit findings: MT-1, MT-2, and MT-3.
114+
- Partial mitigation: M-2 local replay cache; full protocol fix deferred to
115+
v0.1.1.
116+
- Deferred v0.1.1: M-2 and M-10.
117+
- Accepted as v0.1 LOW risk: MT-4, MT-5, P7a residual, and L-4 through L-8.
118+
- Commits: `0e6583c` (P10.6), `5c14f37` (P10.7), `5a89148` (P10.8),
119+
`de43147` (P10.9), `3577e4b` (P10.10), and `bddf600` (P10.11).
120+
121+
### Validation
122+
- P11 release gate passed: main CI matrix green on 12/12 cells, full local
123+
pytest passed with `642 passed, 1 skipped`, Bandit reported 0 HIGH and
124+
0 MEDIUM findings, pip-audit reported 0 known vulnerabilities, public-surface
125+
wording scans passed, console scripts worked, build artifacts included the
126+
MCP Proxy README, and license/security metadata was verified.
127+
12128
## [0.7.13] - 2026-05-08
13129

14130
Fresh release for the MCP action-control toolbox expansion.

agentveil/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
AVPServerError,
2727
)
2828

29-
__version__ = "0.7.13"
29+
__version__ = "0.7.14"
3030

3131
__all__ = [
3232
"AVPAgent",

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "agentveil"
3-
version = "0.7.13"
3+
version = "0.7.14"
44
description = "Python SDK for agent action control: posture checks, action gates, signed receipts, and proof packets"
55
readme = {file = "README_PYPI.md", content-type = "text/markdown"}
66
requires-python = ">=3.10"

0 commit comments

Comments
 (0)