Github mi permette di impegnarmi come un altro utente


6

Sto imparando come usare Git e ho notato che non c'è controllo su user.name e user.email quando si esegue il commit. Ad esempio, sono nel mio repository. Posso cambiare la mia configurazione locale,

$ git config user.name "<someone's Github username>"
$ git config user.email "<someone's Github email>"

Quindi, commetto qualcosa e lo spingo. Mi verrà chiesto il mio nome utente e password Github.

Ora sembra che un altro utente di Github abbia creato questo commit nel mio repository. !?

Mi sto perdendo qualcosa?

Risposte:


6

Caspita, questa è un'ottima domanda, non capisco perché non abbia ottenuto più attenzione (forse perché non è esattamente legato alla sicurezza di SU).

C'è una discussione di notizie sugli hacker al riguardo - https://news.ycombinator.com/item?id=7792026

Questo non è un grosso problema, ma potresti fare qualche grave abuso con esso -

  1. Puoi pubblicare commit di personaggi famosi facendo sembrare che approvino il tuo progetto e contribuiscano attivamente ad esso.
  2. Puoi falsare la quantità di contributori che il tuo progetto ha effettivamente utilizzando più identità di altri utenti GitHub reali. (sembrerà molto più legittimo del semplice utilizzo di e-mail casuali)
  3. Potresti essere in grado di convincere qualcuno a unire una richiesta pull al suo progetto facendogli pensare che la maggior parte dei commit provenga da un altro utente fidato

Recentemente GitHub è stato criticato per aver anche permesso ai proprietari di progetti di modificare i commenti degli utenti che rispondevano nel loro progetto facendolo sembrare come se avessero scritto cose che non avevano scritto che possono portare a gravi abusi. Questa è una cosa molto simile.

Come hanno già detto altre risposte, è così che Git è stato progettato. in un repository interno non ti interessa molto di queste cose e ti preoccupi principalmente della gestione del codice e non della reputazione. GitHub d'altra parte è uno strumento sociale e dovrebbe preoccuparsi della reputazione pubblica dell'utente (come menzionato nella discussione sulle notizie degli hacker risolvibile con la crittografia PK. Molti utenti hanno già PK assegnato al proprio account GitHub per autorizzazioni push immagino che la stessa chiave possa essere usato per firmare commit)


2

Git non ha modo di sapere chi ha creato cosa. Come potrebbe saperlo? Tutto ciò che sta facendo è segnalare ciò che gli dici di segnalare. Immondizia dentro, immondizia fuori.

È assolutamente normale e normale che una persona commetta il lavoro di un'altra persona.


Bene, è normale per loro spingerlo, non impegnarlo. ;) Ci sono eccezioni, come le ciliegie. Sono comunque correttamente annotati.
Daniel B,

Ma se commetto e inserisco qualcosa nel mio repository come se fosse un programmatore importante in Github, nessuno sa se sia vero o no. Non viene nemmeno avvisato.
whitenoisedb

@redraw È corretto. Ma tutti sanno che è solo un'affermazione che quell'importante programmatore ha creato la modifica - un'affermazione fatta da qualcuno autorizzato a presentare tali richieste per quel repository.
David Schwartz,

@redraw Considerare il rovescio della medaglia: dire che il cambiamento è stato creato da quella persona super importante, ma sono troppo importanti e impegnati per impegnarlo in questo particolare repository. Qualcuno autorizzato a impegnarsi in questo repository deve impegnarlo e dovrebbe essere in grado di identificare l'autore effettivo. Altrimenti, come traccia i cambiamenti degli altri? Ovviamente non viene avvisato: è molto importante e tu non sei nessuno. Perché dovrebbe interessarsi a quello che fai in un repository di cui non gli importa? Puoi mettere qualunque assurdità nel tuo repository e nessuno dovrebbe approvarlo o preoccuparsene.
David Schwartz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.