Hack-a-thon: Go Plugin Crazy 🎉 #754
Replies: 3 comments
-
Test comment for Hackathon |
Beta Was this translation helpful? Give feedback.
-
@JamieSlome I just had a Question while creating feat (eg : Detecting for sensitive Pattern ) should we consider analysing the entire files which have been changed or for this particular case it is better to just parse the diff content and then check for sensitive pattern ? |
Beta Was this translation helpful? Give feedback.
-
@JamieSlome @coopernetes we did not receive any mail regarding code submission. I have opened a PR #798 which contains all the code before the submission deadline. If there are any further step which we need to take then please let us know |
Beta Was this translation helpful? Give feedback.
-
Setting the scene ⛰️
GitProxy is a tool that allows large organisations and companies (like Citigroup, Royal Bank of Canada and NatWest) to scan code and commit metadata for security and compliance issues before it is pushed from a developer machine to a codebase or repository. Think of it as automatically scanning your code and commits before your code is accepted into the upstream repository. This is commonly referred to as push protections.
Today, GitProxy supports a few out-of-the-box checks including secret scanning using string literals and regular expressions on commit metadata (e.g. commit message & commit e-mails) as well as on the change (or diff) created by the developer pushing their code via GitProxy.
Hack-a-thon ⚒️
For this hack-a-thon, we want you to create discrete and neatly contained GitProxy Plugins that take a
git diff
as input and outputs informational or advisory information about detected issues in the submitted code. You can be as creative and wild with your imagination as you like 🤯 Ask yourself, what are the types of checks & scans you would want to run over your code before sharing it on the Web for all to see? 👀Examples may include a plugin to:
For some of these plugins and use cases, you'll want to improve our configuration definition (
proxy.config.json
) to support a users definition of custom requirements, i.e. defining custom file types or swear words that aren't supported by your implementation.We encourage you to create an issue with any new plugin ideas you have 💡 That way, we can anticipate pull requests and support you during the course of the hack-a-thon if you have any questions.
Technical Stuff 🤖
In any programming language, imagine you are starting with a
String
which contains the contents of agit diff
command - a difference between two commits. Thegit diff
String
will look something like this:This shows a part of the entire diff associated with a real commit on the GitProxy repository. You can view the human readable version of the commit here and the
git diff
here.Your plugin, at the most basic level, should look something like this pseudo-code:
Bear in mind, to actually run your plugin via GitProxy, you'll need to follow the documentation.
Quick Tips 🤝
Let the hacking commence...
Beta Was this translation helpful? Give feedback.
All reactions