app: SOLONGATE_INTERNAL=1 disables the human-only security gate
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 55/100
Research direction
Start with the dispatch logic at app/main.go:121 and trace how it decides whether an operation is human initiated. Check how the existing tests cover the gate and its environment variable bypass. Done means a non-interactive process cannot bypass the gate by setting SOLONGATE_INTERNAL, while legitimate human use remains supported.
Written by the indexing model from the issue text.
Description
Problem
In packages/app/main.go:121, the dispatch logic that is supposed to restrict certain operations to interactive/human-initiated use checks for the environment variable SOLONGATE_INTERNAL and bypasses the human-only gate whenever it is set to any truthy value, with no further verification of who or what set that variable.
Impact
Any process able to set an environment variable before invoking the binary (which includes the agent the guard is meant to constrain, in many deployment shapes) can set SOLONGATE_INTERNAL=1 and bypass the gate meant to restrict an operation to genuine human/interactive use, defeating the security purpose of the gate entirely.
Repro
- Identify an operation gated behind the human-only check in
main.go. - Invoke the binary non-interactively (e.g. from a script or from the agent process itself) with
SOLONGATE_INTERNAL=1set in the environment. - Observe the gated operation proceeds as though it were human-initiated.
Suggested fix
Remove the environment-variable bypass as a general-purpose gate override, or replace it with a verification mechanism that cannot be forged by the process the gate is meant to constrain (e.g. a one-time token generated and checked out-of-band by a trusted parent process, or an actual TTY/interactive-session check), so the bypass can only be exercised by something with a legitimately elevated trust level, not by setting a plain environment variable.
- Dominant language
- Go
- Stars
- 157
- Forks
- 19
- Avg merge
- 4h 21m
- Merged PRs (30d)
- 91
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from solongate/agent-security
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 91/100
solongate/agent-security#226 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 88/100
solongate/agent-security#225 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
solongate/agent-security#224 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
solongate/agent-security#223 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
solongate/agent-security#222 ·
Maintainers usually reply within 1 day
All issues in solongate/agent-security
Similar issues
-
[Bug]: Anthropic Responses converter forwards empty text blocks, upstream rejects with 400Possibly taken @david-choi-querypie claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
area:web p3
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Lets-Parley/Parley#912 ·
Maintainers usually reply within 1 day
-
bug observability
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
sagar2395/snowopslabs#164 ·
Maintainers usually reply within 1 day
-
enhancement help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Git-Hospital/githealthcheck#61 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
afreidah/s3-orchestrator#1824 ·
Maintainers usually reply within 1 day