mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-18 14:52:04 +00:00
feat(egress): iron-proxy credential-injection firewall for sandboxes
Rebuilds the iron-proxy egress feature cleanly onto current main. The original feat/iron-proxy branch had diverged from main with an unmergeable history (no usable merge-base after main history motion), so the feature's content diff was re-applied onto a fresh main cut and the three config/docs conflicts (commands.py status/egress, config.py proxy vs computer_use, slash-commands.md) resolved keeping main's content plus the egress additions. Optional, off-by-default TLS-intercepting egress proxy for remote terminal sandboxes. Sandboxes hold opaque proxy tokens; iron-proxy swaps them for real provider API keys at the network boundary. Includes the full review-cycle hardening: - P0/P1/P2 rounds (GodsBoy, stephenschoettler, arshkumarsingh, annguyenNous, maxpetrusenko, sxuff findings) - v0.39 schema realignment + Docker bridge-bind/listener-role fixes - Docker UX/enforcement hardening Salvaged security fixes folded in with credit: - Three P0 gaps (version-probe env scrub, Bitwarden ImportError fail-closed, container-reuse egress-boundary) + Docker v29.5.3 empty-label edge — kuangmi-bit (#48073) - P1/P2 (fail-closed replace.require:true, NODE_OPTIONS CA-flag conflict, GPG checksum verify, threat-model wording) — Bartok9 (#48076) Co-authored-by: kuangmi-bit <kuangmi@deeparchi.com> Co-authored-by: Bartok9 <danielrpike9@gmail.com>
This commit is contained in:
parent
fbfccbb3ee
commit
ad978ed962
30 changed files with 7451 additions and 29 deletions
4
cli.py
4
cli.py
|
|
@ -8249,6 +8249,10 @@ class HermesCLI(CLIAgentSetupMixin, CLICommandsMixin):
|
|||
self._show_gateway_status()
|
||||
elif canonical == "status":
|
||||
self._show_session_status()
|
||||
elif canonical == "egress":
|
||||
from hermes_cli.proxy_cli import format_status_text
|
||||
|
||||
self._console_print(format_status_text(), highlight=False, markup=False)
|
||||
elif canonical == "statusbar":
|
||||
self._status_bar_visible = not self._status_bar_visible
|
||||
state = "visible" if self._status_bar_visible else "hidden"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue