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

Revisit VULCOID ... #811

Closed
3 tasks
pombredanne opened this issue Jul 26, 2022 · 15 comments · Fixed by #896
Closed
3 tasks

Revisit VULCOID ... #811

pombredanne opened this issue Jul 26, 2022 · 15 comments · Fixed by #896
Milestone

Comments

@pombredanne
Copy link
Collaborator

  • VULCOID have a confusing id numbering (base 36) that have a varying length. We should do something that is random and fixed size instead and eschew having something memorable.
  • VULCOID should have a namespace to avoid collision between VCIO instances
  • VULCOID could have a better name that's easier to pronounce
@Hritik14
Copy link
Collaborator

Hritik14 commented Jul 26, 2022

Related #695 (comment)

Further suggestions

VULCOID-YEAR-ABCD

* Year is hard to infer for all vulnerabilities.

VULCOID-ABC

* Variable length base 36 `ABC`

VULCOID-[NAMESPACE-]ABC

* Same as `VULCOID-ABC` but with a reserved space for `NAMESPACE` that could be an identifier AboutCode supplies via Scancode Toolkit or any other means. (Unique values such as github usernames could also be leveraged)

@Hritik14
Copy link
Collaborator

Hritik14 commented Jul 26, 2022

Here are some suggestions for name:

  • Vulcan
  • Vern
  • Vlad (this ones my fav - vlad the impaler :p )
  • vade
  • vale
  • veld
  • verb
  • vole

@mjherzog
Copy link
Member

mjherzog commented Jul 27, 2022

The name to replace VULCOID needs to be simple and short like "purl". Candidates along these lines are: VULCO_ID, VULN_ID (already in use by others per Google Search - e.g. https://source.whitehatsec.com/help/sentinel/admins/customize-or-accept-risk.html), VUL_ID, VULCODE_ID etc.. It is probably preferable if the name is something distinct for us.

@pombredanne
Copy link
Collaborator Author

Candidates along these lines are: VULCO_ID, VULN_ID

I would prefer avoiding underscore and dash in the name and use only letters

Also, for some background, these are common "names" in use: https://cve.mitre.org/data/refs/index.html

In addition several are not listed there ... that's another source of inspiration:

  • GHSA for GitHub Security Advisory
  • RHSA for RedHat Security Advisory
  • ASB for Android Security Bulletin
  • DSA for Debian Security Advisory
  • GSD for Global Security Database
  • GO for Golang
  • OSV for the OSV DB from Google and mostly for OSS Fuzz
  • PYSEC for Python
  • ... and a few more

@mjherzog
Copy link
Member

So it looks like all-caps is the preferred. We need a SOURCE name (as would be used if we post a new vulnerability to the NVD) and a name/abbreviation for the identifier. The logical SOURCE name would be VCDB and the identifier could be VCID meaning VulnerableCode ID. There is an unfortunate usage of VCID as an abbreviation for "Vascular Cognitive Impairment and Dementia" and other usage for Virtual Channel Identifier but those are far afield from our work.

@pombredanne pombredanne added this to the v30.0 milestone Aug 2, 2022
@pombredanne
Copy link
Collaborator Author

pombredanne commented Aug 18, 2022

@pombredanne
Copy link
Collaborator Author

After a long though I suggest that we use a uuid4() as '5a9b63ed-8092-4433-b9bd-8738661a101b' but that would not make the id memorable

@pombredanne
Copy link
Collaborator Author

@keshav-space said in the weekly call that it does not have a purpose to have a memorable id if the id is not unique and pointing to the same vulnerability globally.

@pombredanne
Copy link
Collaborator Author

So I suggest VULCODE or VULCO prefix and a UUID4 as in 5a9b63ed-8092-4433-b9bd-8738661a101b
Or ABCD, VULID, VCIO, VULCID, CODEVULN, VULN, VULNID as prefix. I just need some consensus!
So:

VULCODE-5a9b63ed-8092-4433-b9bd-8738661a101b or VULCO-5a9b63ed-8092-4433-b9bd-8738661a101b

@mjherzog
Copy link
Member

My votes are:

  1. VULNID for Vulnerability ID. Most commonly used in our context in variations like vulnid or Vuln id. Some unfortunate overlap with "Deviant Art" -https://www.deviantart.com/tag/vulnid, but this seems pretty obscure. The likely English pronunciations are "vuln id" or "vul nid" which see OK. We could conceivably take over as the primary reference point for VULNID. Preferred over VC or VULCO references because it is more descriptive to someone who does not know about our database yet.
  2. VCID for VulnerableCode ID (despite the unfortunate overlap with "Vascular Cognitive Impairment and Dementia" - there will be no confusion about field of use)

@pombredanne
Copy link
Collaborator Author

This form is now up for votes:
Please +1 or -1
The id will be:
VULNID-5a9b63ed-8092-4433-b9bd-8738661a101b
And we can display it in a shorter form as needed

@TG1999
Copy link
Contributor

TG1999 commented Aug 25, 2022

+1

@johnmhoran
Copy link
Contributor

+1 for VCID

@pombredanne
Copy link
Collaborator Author

  • VCID: John, Michael, Ziad, Keshav: 4 votes
  • VULNID: Tushar, Philippe, Michael: 3 votes

Many absentees have not voted: but the final is VCID!

The winning format is: VCID-5a9b63ed-8092-4433-b9bd-8738661a101b

Next steps:

  • add uuid column, migrate data to new column (details TBD and some possible performance impact)
  • replace any VULCOID reference by VCID in the code, UI, documentation and API

@pombredanne
Copy link
Collaborator Author

For reference:

$ grep -r . -e "VULCOID" -l
./vulnerablecode/static/api_doc/api_schema.yaml
./docs/source/tutorial_add_new_improver.rst
./vulnerabilities/tests/test_fix_api.py
./vulnerabilities/tests/test_models.py
./vulnerabilities/templates/vulnerability_details.html
./vulnerabilities/templates/index.html
./vulnerabilities/templates/vulnerabilities.html
./vulnerabilities/models.py
./vulnerabilities/migrations/0012_alter_vulnerability_vulnerability_id.py
./vulnerabilities/migrations/0001_initial.py
./vulnerabilities/migrations/0013_auto_20220503_0941.py
./vulnerabilities/fixtures/openssl.json
$ grep -r . -e "VULCOID" | wc -l
39

TG1999 added a commit to TG1999/vulnerablecode that referenced this issue Sep 2, 2022
Use uuid instead of base36
Reference: aboutcode-org#811

Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
@TG1999 TG1999 linked a pull request Sep 2, 2022 that will close this issue
TG1999 added a commit to TG1999/vulnerablecode that referenced this issue Sep 5, 2022
Use uuid instead of base36
Reference: aboutcode-org#811

Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
TG1999 added a commit to TG1999/vulnerablecode that referenced this issue Sep 5, 2022
Use uuid instead of base36
Reference: aboutcode-org#811

Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
TG1999 added a commit to TG1999/vulnerablecode that referenced this issue Sep 5, 2022
Use uuid instead of base36
Reference: aboutcode-org#811

Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
TG1999 added a commit to TG1999/vulnerablecode that referenced this issue Sep 5, 2022
Use uuid instead of base36
Reference: aboutcode-org#811

Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
TG1999 added a commit to TG1999/vulnerablecode that referenced this issue Sep 5, 2022
Use uuid instead of base36
Reference: aboutcode-org#811

Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
TG1999 added a commit to TG1999/vulnerablecode that referenced this issue Sep 6, 2022
Use uuid instead of base36
Reference: aboutcode-org#811

Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
TG1999 added a commit to TG1999/vulnerablecode that referenced this issue Sep 6, 2022
Use uuid instead of base36
Reference: aboutcode-org#811

Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
TG1999 added a commit to TG1999/vulnerablecode that referenced this issue Sep 6, 2022
Use uuid instead of base36
Reference: aboutcode-org#811

Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
TG1999 added a commit to TG1999/vulnerablecode that referenced this issue Sep 7, 2022
Use uuid instead of base36
Reference: aboutcode-org#811

Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
TG1999 added a commit to TG1999/vulnerablecode that referenced this issue Sep 7, 2022
Use uuid instead of base36
Reference: aboutcode-org#811

Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
TG1999 added a commit to TG1999/vulnerablecode that referenced this issue Sep 7, 2022
Use uuid instead of base36
Reference: aboutcode-org#811

Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
pombredanne added a commit that referenced this issue Sep 8, 2022
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants