hermes - 💡(How to fix) Fix Harden approval detection for remote command substitution [1 pull requests]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

The dangerous-command approval heuristics currently flag remote content executed through pipes and process substitution, such as curl ... | sh and bash <(curl ...). Equivalent shell forms using command substitution are not covered, for example:

  • eval $(curl ...)
  • eval \wget ...``
  • source $(curl ...)
  • . $(wget ...)

Per the project threat model, approval regexes are defense-in-depth heuristics rather than a load-bearing security boundary. This issue tracks improving coverage so suspicious remote-content execution variants consistently request approval.

Root Cause

The dangerous-command approval heuristics currently flag remote content executed through pipes and process substitution, such as curl ... | sh and bash <(curl ...). Equivalent shell forms using command substitution are not covered, for example:

  • eval $(curl ...)
  • eval \wget ...``
  • source $(curl ...)
  • . $(wget ...)

Per the project threat model, approval regexes are defense-in-depth heuristics rather than a load-bearing security boundary. This issue tracks improving coverage so suspicious remote-content execution variants consistently request approval.

Fix Action

Fixed

RAW_BUFFERClick to expand / collapse

Summary

The dangerous-command approval heuristics currently flag remote content executed through pipes and process substitution, such as curl ... | sh and bash <(curl ...). Equivalent shell forms using command substitution are not covered, for example:

  • eval $(curl ...)
  • eval \wget ...``
  • source $(curl ...)
  • . $(wget ...)

Per the project threat model, approval regexes are defense-in-depth heuristics rather than a load-bearing security boundary. This issue tracks improving coverage so suspicious remote-content execution variants consistently request approval.

Expected behavior

Commands that download remote content with curl/wget and immediately execute it via eval, source, or dot-source should be treated as dangerous by detect_dangerous_command().

Notes

This should be treated as command approval hardening, not as an OS isolation or sandbox boundary bypass.

Proposed fix

Add a dangerous-command pattern for eval/source/. followed by command substitution from curl or wget, plus regression tests for $() and backtick variants.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

Commands that download remote content with curl/wget and immediately execute it via eval, source, or dot-source should be treated as dangerous by detect_dangerous_command().

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix Harden approval detection for remote command substitution [1 pull requests]