capistrano / capistrano/sshkit

No redaction for with values

Offen
#562 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Ruby
Sterne
1.2k
Forks
257
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Since it's common for tools to use credentials from env variables rather than inline in commands it seems generally useful to support redaction for them as well.

I accomplished that with
```ruby
def with_redaction
new_args = args.map{|arg| arg.is_a?(Redaction) ? '[REDACTED]' : arg }
redacted_cmd = dup
redacted_cmd.instance_variable_set(:@args, new_args)
if (env = redacted_cmd.options[:env])
redacted_env = env.transform_values { |v| v.is_a?(SSHKit::Redaction) ? '[REDACTED]' : v }
redacted_cmd.instance_variable_set(:@options, redacted_cmd.options.merge(env: redacted_env))
end
redacted_cmd
end
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, den vorhandenen with_redaction-Pfad des Befehls und die im Issue beschriebene Redaction-Behandlung zu finden, und untersuche anschließend, wie options[:env] gespeichert wird. Als abgeschlossen gilt die Aufgabe, wenn zur Redaction markierte Werte in der Umgebung konsistent als [REDACTED] dargestellt werden, ebenso wie redigierte Befehlsargumente.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
ruby
Bereich
devops, security
Issue-Typ
Feature
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.