Skip to content

docs: Add Security Advisory Policy for vega#4008

Merged
hydrosquall merged 3 commits intomainfrom
cameron.yick/draft-security-advisory-vega
Feb 8, 2025
Merged

docs: Add Security Advisory Policy for vega#4008
hydrosquall merged 3 commits intomainfrom
cameron.yick/draft-security-advisory-vega

Conversation

@hydrosquall
Copy link
Member

@hydrosquall hydrosquall commented Feb 2, 2025

Motivation

  • Make it easy for researchers and engineers to have a safe path to reporting security vulnerabilities
  • Keep Vega and its dependents (Vega-lite, altair, etc) secure

Changes

@hydrosquall hydrosquall self-assigned this Feb 2, 2025
To setup a development environment follow the [Build Instructions in README.md](https://github.com/vega/vega/#Build-Instructions). We use [Yarn workspaces](https://yarnpkg.com/lang/en/docs/workspaces/) and [lerna](https://github.com/lerna/lerna) to manage the monorepo packages.
To setup a development environment follow the [Build Instructions in README.md](#build-instructions). We use [Yarn workspaces](https://yarnpkg.com/lang/en/docs/workspaces/) and [lerna](https://github.com/lerna/lerna) to manage the monorepo packages.

## Build Instructions
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section was lifted without modifications from README.md

- After running either `yarn test` or `yarn build`, run `yarn serve` to launch a local web server — your default browser will open and you can browse to the `"test"` folder to view test specifications.

This repository includes the Vega website and documentation in the `docs` folder. To launch the website locally, first run `bundle install` in the `docs` folder to install the necessary Jekyll libraries. Afterwards, use `yarn docs` to build the documentation and launch a local webserver. After launching, you can open [`http://127.0.0.1:4000/vega/`](http://127.0.0.1:4000/vega/) to see the website.
Try using Vega in the online [Vega Editor](https://vega.github.io/editor/#/examples/vega/bar-chart).
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is based on a similar line in the Vega-Lite readme.md to encourage people to try the library right away without having to install anything.


## Internet Explorer Support
For backwards compatibility, Vega includes a [babel-ified](https://babeljs.io/) IE-compatible version of the code in the `packages/vega/build-es5` directory. Older browser would also require several polyfill libraries:
For backwards compatibility, Vega includes a [babel-ified](https://babeljs.io/) IE-compatible version of the code in the `packages/vega/build-es5` directory. Older browsers also require these polyfill libraries:
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I considered moving this section on IE into Contributing / Development as well, but decided to leave it in place. I'm not sure how relevant this section still is to keep on the homepage given the default MSFT browser has been Edge for 10 years.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's delete it in the next major version.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noting this as part of the ESM support (since switching over would end that compatibility): #3990

@@ -0,0 +1,21 @@
# Security

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I blended the Github and Electron README's together.

We could alternately put this directly in our .github community folder to have a policy that applies to all repos in the vega org, but I figured it would be safe and meaningful to start with vega/vega (since this is the core browser runtime that every other package is importing).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, makes sense to have one for Vega specifically. We could also link to the org one for more info so we only have to maintain one place.

@hydrosquall hydrosquall changed the title docs: Propose SECURITY.md for vega docs: Add Security Advisory Policy for vega Feb 2, 2025
SECURITY.md Outdated

## Preferred Languages

We prefer communications to be in English.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we require it.

Try using Vega in the online [Vega Editor](https://vega.github.io/editor/#/examples/vega/bar-chart).

## Internet Explorer Support
For backwards compatibility, Vega includes a [babel-ified](https://babeljs.io/) IE-compatible version of the code in the `packages/vega/build-es5` directory. Older browser would also require several polyfill libraries:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should get rid of that actually. But not here.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to handle that in a separate issue 👍

SECURITY.md Outdated

A Vega maintainer will send a response indicating next steps in handling your report. After the initial reply, the team will keep you informed of the progress towards a fix and announcement, and may ask for additional information or guidance.

You can also report a vulnerability through the [npm contact form](https://www.npmjs.com/support) by selecting "I'm reporting a security vulnerability".
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where does that go?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe the NPM security team would contact the account owner for https://www.npmjs.com/package/vega . I'm including this mainly so that someone without a Github account has a way to reach us.

If we would find this redundant with the Github security advisory feature, I can remove it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, let's remove it and have one clear path.

@@ -0,0 +1,21 @@
# Security
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a way to have an org wide document rather than per repo?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have the option of putting this in .github like Microsoft does here. It will fill in the "security" tab if a repo doesn't already have one, just confirmed from checking an old Microsoft example

image

I can relocate this draft to vega/.github if we prefer!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a modified proposal to the shared repo vega/.github#20 . It will fill in for any repos that are missing a local security advisory.

SECURITY.md Outdated

## Languages

Communications should be in English.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can delete that since we already have that for the org. If we ever get a request not in English, we can respond.

@@ -0,0 +1,21 @@
# Security

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, makes sense to have one for Vega specifically. We could also link to the org one for more info so we only have to maintain one place.

@hydrosquall hydrosquall force-pushed the cameron.yick/draft-security-advisory-vega branch from e1f6639 to 15e5e62 Compare February 2, 2025 19:21
@hydrosquall hydrosquall force-pushed the cameron.yick/draft-security-advisory-vega branch from 15e5e62 to 170ac17 Compare February 2, 2025 23:39
@hydrosquall hydrosquall marked this pull request as ready for review February 3, 2025 20:11
@hydrosquall hydrosquall requested a review from a team as a code owner February 3, 2025 20:11
@hydrosquall hydrosquall requested a review from domoritz February 3, 2025 20:11
@domoritz
Copy link
Member

domoritz commented Feb 3, 2025

Can we just not do anything specific here? Or just add a short reference to the org one?

Screenshot 2025-02-03 at 16 45 52

@hydrosquall
Copy link
Member Author

hydrosquall commented Feb 4, 2025 via email

@domoritz
Copy link
Member

domoritz commented Feb 4, 2025

You are right that most of the document is the same as in the org link. We
could shorten this doc to just the pointer to the org link and the
intro/report a vulnerability link if we prefer.

Yes, that was what I was thinking.

@hydrosquall hydrosquall merged commit 560aeec into main Feb 8, 2025
4 checks passed
@hydrosquall hydrosquall deleted the cameron.yick/draft-security-advisory-vega branch February 8, 2025 02:50
@lsh lsh mentioned this pull request Feb 24, 2025
lsh added a commit that referenced this pull request Feb 25, 2025
Changes since v5.31.0

**vega-expression**
* Add base64 string encoder/decoder to `vega-expression` and
`vega-interpreter` (via #4009). (Thanks @hydrosquall!)

**vega-typings**
* Add Typescript Types for `vega-loader` (via #4000). (Thanks
@hydrosquall!)

**docs**
* Correct data year citation in dorling-cartogram example (via #4006).
(Thanks @dsmedia!)
* Update typo in vega.timeFloor description (via #4010). (Thanks
@hydrosquall!)
* Add Security Advisory Policy for Vega (via #4008). (Thanks
@hydrosquall!)
* Replace redirect url in `expressions.md` (via #3996). (Thanks
@dangotbanned!)
* correct queries to query in `crossfilter.md` (via #4005). (Thanks
@danmarshall!)

---------

Signed-off-by: Lukas Hermann <1734032+lsh@users.noreply.github.com>
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

Successfully merging this pull request may close these issues.

2 participants