CCExtractor Development

Continous Integration (CI) - Prevent users from starting the chain (blacklist feature) - Management

At CCExtractor we have a need to be able to test changes on real-life examples. For this purpose we developed a Continuous Integration (CI) tool (a.k.a. the sample platform) which automatically runs a test suite for us on VM's. This test suite has a time limit on execution, but that time limit is pretty royal compared to the time it normally needs to complete.

In case a malicious user decides to create a version of CCExtractor on a fork which does nothing but an infinite loop, and opens a Pull Request with these changes, it will trigger the time-out, potentially creating a huge queue, which is a form of DoS.

To prevent this from happening, we'd like to see a possibility to manage a list of blacklisted users. These users can no longer run tests on their forks (see GitHub issue #19, https://github.com/CCExtractor/sample-platform/issues/19, which aims to add support for running tests on forks), or if they open up a PR, it won't be tested either. This list should be manageable through the platform site (admins only), so that users can be added and removed.

This task is the last of three; it can only be completed if the first one is done.

We expect a Pull Request that contains a management page for the blacklist so that administrators can easily add/remove users on the blacklist.

Pointers:

Task tags

  • python
  • flask
  • html
  • ui
  • javascript

Students who completed this task

Aadi Bajpai

Task type

  • code Code
close

2017