Skip to content

hellodword/misgo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

misgo

Motivation

Although some Go modules are open-sourced, they use custom domain names for their module paths. GOSUMDB ensures that the provided sum is untampered, but when running go get foo for the first time, it appears there's still an implicit trust that the code fetched is identical to the source code hosted on GitHub/GitLab and hasn't been altered. I hope there’s a way to verify this.

How it works?

TODO

  • parse go.mod
  • parse go.sum
  • recursively parse dependencies
  • deal with pseudo version1
  • enhance fetchers: https://github.com/FiloSottile/edwards25519/archive/<tag or commit>.zip , see nixpkgs' fetchers https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/fetchgithub/default.nix
  • PoCs
    • normal tag: host a git http server, response evil things for goproxy only
    • pseudo version as tag name: generate a pseudo version and use it as tag name
    • fake pseudo version: generate same pseudo version with vanity hash

Footnotes

  1. https://github.com/prasmussen/git-vanity-hash

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published