From: Stephen Bash <bash@genarts.com>
To: "Jason J CTR Pyeron (US)" <jason.j.pyeron.ctr@mail.mil>
Cc: git@vger.kernel.org
Subject: Re: git bundle format
Date: Mon, 26 Nov 2012 15:56:24 -0500 (EST) [thread overview]
Message-ID: <1745253724.103630.1353963384110.JavaMail.root@genarts.com> (raw)
In-Reply-To: <871B6C10EBEFE342A772D1159D13208537ABF5AB@umechphj.easf.csd.disa.mil>
----- Original Message -----
> From: "Jason J CTR Pyeron (US)" <jason.j.pyeron.ctr@mail.mil>
> Sent: Monday, November 26, 2012 2:24:54 PM
> Subject: git bundle format
>
> I am facing a situation where I would like to use git bundle but at
> the same time inspect the contents to prevent a spillage[1].
As someone who faced a similar situation in a previous life, I'll offer my $0.02, but I'm certainly not the technical expert here.
> Given we have a public repository which was cloned on to a secret
> development repository. Now the developers do some work which should
> not be sensitive in any way and commit and push it to the secret
> repository.
>
> Now they want to release it out to the public. The current process is
> to review the text files to ensure that there is no "secret" sauce
> in there and then approve its release. This current process ignores
> the change tracking and all non-content is lost.
>
> In this situation we should assume that the bundle does not have any
> content which is already in the public repository, that is it has
> the minimum data to make it pass a git bundle verify from the public
> repositories point of view. We would then take the bundle and pipe
> it though the "git-bundle2text" program which would result in a
> "human" inspectable format as opposed to the packed format[2]. The
> security reviewer would then see all the information being released
> and with the help of the public repository see how the data changes
> the repository.
>
> Am I barking up the right tree?
First, a shot out of left field: how about a patch based workflow? (similar to the mailing list, just replace email with sneakernet) Patches are plain text and simple to review (preferable to an "opaque" binary format?).
Second, thinking about your proposed bundle-based workflow I have two questions I'd have to answer to be comfortable with the solution:
1) Does the binary bundle contain any sensitive information?
2) Do the diffs applied to public repo contain any sensitive data?
Question 1 seems tricky to someone who knows *nothing* about the bundle format (e.g. me). Maybe some form of bundle2text can be vetted enough that everyone involved believes that there is no other information traveling with the bundle (if so, you're golden). Here I have to trust other experts. On the flip side, even if the bundle itself is polluted (or considered to be lacking proof to the contrary), if (2) is considered safe, the patching of the public repo could potentially be done on a sacrificial hard drive before pushing.
Question 2 is relatively straight forward and lead me to the patch idea. I would:
- Bundle the public repository
- Init a new repo in the secure space from the public bundle
- Fetch from the to-be-sanitized bundle into the new repo
- Examine commits (diffs) introduced by branches in the to-be-sanitized bundle
- Perhaps get a list of all the objects in the to-be-sanitized bundle and do a git-cat-file on each of them (if the bundle is assembled correctly it shouldn't have any unreachable objects...). This step may be extraneous after the previous.
HTH,
Stephen
next prev parent reply other threads:[~2012-11-26 20:57 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-26 19:24 git bundle format Pyeron, Jason J CTR (US)
2012-11-26 19:31 ` Pyeron, Jason J CTR (US)
2012-11-26 20:20 ` Felipe Contreras
2012-11-26 20:50 ` Pyeron, Jason J CTR (US)
2012-11-26 20:56 ` Felipe Contreras
2012-11-26 20:38 ` Junio C Hamano
2012-11-26 20:53 ` Pyeron, Jason J CTR (US)
2012-11-26 20:56 ` Stephen Bash [this message]
2012-11-26 21:06 ` git bundle format [OT] Pyeron, Jason J CTR (US)
2012-11-26 21:31 ` Stephen Bash
2012-11-26 23:08 ` git bundle format Andrew Ardill
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1745253724.103630.1353963384110.JavaMail.root@genarts.com \
--to=bash@genarts.com \
--cc=git@vger.kernel.org \
--cc=jason.j.pyeron.ctr@mail.mil \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).