SSH forwards your agent to every server (‹path›)
What this means
‹path› sets ForwardAgent yes for all hosts. While you are connected, root — or an attacker — on any server you log in to can use your loaded keys to sign in to every other machine and Git host those keys open, without ever seeing the key itself.
How to fix it
Remove ForwardAgent from Host * (and the top of the file). To reach a machine through another, use ProxyJump (ssh -J bastion target), which needs no forwarding; if one host truly needs it, set ForwardAgent yes in that host's block only.
Check it yourself
Run a scan and look for BLWK-DEV-005 in the results:
bulwark scanInstalled the standalone CLI package instead of the app? The command is bulwarkctl.
How Bulwark decides
Bulwark reads dev_tool_config and reports this check when:
kind == "ssh" and agent_forwarding_all == trueIf a value can't be read, Bulwark reports the check as undetermined rather than passing it. View the rule source.
References
Related checks
- Git skips TLS certificate checks (‹path›) ·
BLWK-DEV-001 - Git trusts repositories owned by anyone (‹path›) ·
BLWK-DEV-002 - Git allows the ext:: transport, which runs commands from a URL (‹path›) ·
BLWK-DEV-003 - SSH doesn't check server identities (‹path›) ·
BLWK-DEV-004 - npm/yarn installs packages without checking TLS certificates (‹path›) ·
BLWK-DEV-006 - Packages are installed from a plain-HTTP registry (‹path›) ·
BLWK-DEV-007