Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional metadata for CTFs / Tasks #101

Open
daanbreur opened this issue Apr 8, 2024 · 4 comments
Open

Additional metadata for CTFs / Tasks #101

daanbreur opened this issue Apr 8, 2024 · 4 comments

Comments

@daanbreur
Copy link

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

I am thinking
Tasks

  • Have each task be able to store an additional challenge id (ex. the ctfd/rctf challengeids)
  • Be able to set a category AND tags.

CTFs

  • Metadata like CTF platform (ctfd, rctf, htb) **
  • CTF Base URL for stuff like api. **
  • Additional secrets storage. Maybe storing additional secret stuff for each ctf, like, a api token. Or username and passwords.

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

@JJ-8
Copy link
Owner

JJ-8 commented Apr 12, 2024

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
Copy link
Author

daanbreur commented Apr 12, 2024

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
Copy link
Owner

JJ-8 commented Apr 13, 2024

@daanbreur please see TFNS#100 (comment) 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
Copy link
Author

daanbreur commented Apr 13, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants