JJ-8 / CTFNote

CTFNote is a collaborative tool aiming to help CTF teams to organise their work. This tool helps making notes during CTFs, so you can track your CTF notes at a later time. This is similar to the CTF pad seen in one of the video's of Liveoverflow.
GNU General Public License v3.0
9 stars 2 forks source link

Additional metadata for CTFs / Tasks #101

Open daanbreur opened 3 months ago

daanbreur commented 3 months ago

Currently there is limited functionality with metadata for the CTFs and their Tasks.

I am thinking Tasks

CTFs

** = Can be used to create semi-auto task sync feature

JJ-8 commented 3 months ago

I don't really see the benefit of implementing this without introducing any actual feature. Removing categories and introducing tags was on purpose: a challenge is not always described in only one category. I am not planning to revert this or reintroduce categories. It may however be possible to add a 'primary' boolean based column that would indicate that a tag would describe the challenge the most. So you may have one or multiple primary tags on a task and additional non-primary tags that would describe more the content of a challenge (after you solved the challenge).

daanbreur commented 3 months ago

I don't really see the benefit of implementing this without introducing any actual feature

I have a feature planned that I was going to work on but so there arent any issues with migrations later on decided its better to handle it from here instead. One of which is the semi-automatic task syncing. But I think people smarter then me can use it in other fun ways in the form of scripting

a challenge is not always described in only one category.

many / most ctf platforms have a category and then extra tags and most ctfs only have category set. However making it a primary boolean would also suffice. This feature was more related to issue #85.

JJ-8 commented 3 months ago

@daanbreur please see https://github.com/TFNS/CTFNote/discussions/100#discussioncomment-1730292 for my opinion in task syncing (quite old comment). I would not plainly accept a PR that implements this since it could cause serious problems if one part starts changing data and it does not perfectly sync.

daanbreur commented 3 months ago

I am more siding with the arguments of @XeR on this one. My idea was never to fully automatically sync cause that's useless anyways, most ctfs are doing challenges in waves anyways. Just the skipping of the manually pasting in the api output. Basically skipping that but still having that manual confirmation at the end. This can already really speed things up.

(edit): Isn't that basically the same conclusion you are getting to after ranting about the sync mismatch? (edit2): And CORS is a minimal issue since it can be easily mitigated.

And challenge id's are a thing for a reason, why not store them just in case.

This issue isnt just about the syncing feature but more of a standpoint of hey why dont we store metadata that can be useful in the near future. Cause people can make many great tools with this using python or whatever on top of ctfnote. Those challenge ids can also come in useful in the discord issue