Giter Club home page Giter Club logo

blurb_it's People

Contributors

aaortiz avatar aldwinaldwin avatar alexwaygood avatar dependabot-preview[bot] avatar dependabot[bot] avatar ewjoachim avatar ezio-melotti avatar hugovk avatar mariatta avatar nsiregar avatar pyup-bot avatar richardlthomas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blurb_it's Issues

Automatically remove non CPython repo installation

Blurb_it is meant to be used for CPython only.
While it hasn't happened yet, it is quite possible for people to install blurb_it on other repos.

Perhaps blurb_it can be proactive and refuse to be installed on repos other than username/CPython. So if someone tries installing it elsewhere, just remove it.

Using this endpoint, we can remove a repo from installation: https://developer.github.com/v3/apps/installations/#remove-repository-from-installation

🚨 New Python runtime environment in Heroku

There's a new Python runtime enviornment in Heroku. You might want to update the bot to use the new environment by editing the runtime.txt file.

See the changelog at https://devcenter.heroku.com/changelog-items/1928
Message:
Python (CPython) 3.9.0 is now available on Heroku.

To read about what’s changed, see What’s New In Python 3.9 .

The Python buildpack has recently migrated its assets to a new S3 bucket. As such apps will need

to be using the latest version of the Python buildpack

in order to use newly released Python versions.

For more information, see our page on Python Support .

(I'm a bot) πŸ€–

🚨 New Python runtime environment in Heroku

There's a new Python runtime enviornment in Heroku. You might want to update the bot to use the new environment by editing the runtime.txt file.

See the changelog at https://devcenter.heroku.com/changelog-items/1722
Message:
New python runtimes Python 3.8.1, 3.7.6, 3.6.10 are now available on the platform.

Additionally, Pypy 2.7 and 3.6 version 7.2.0 are now also released to Beta on the platform.

For more information, see Python Supported Runtimes

(I'm a bot) πŸ€–

CSRF vulnerability

I have discussed with @Mariatta privately, and I was told to open a public issue, so here it is.

The view that launches blurb_it doesn't protect itself against CSRF attacks.
This means if I have a session on https://blurb-it.herokuapp.com/, and I visit, say, attacker.com which contains the following script:

fetch("https://blurb-it.herokuapp.com/add_blurb", {
    "credentials": "include",
    "headers": {
        "Content-Type": "application/x-www-form-urlencoded",
    },
    "body": "bpo_number=1&pr_number=1&section=Security&news_entry=yay",
    "method": "POST",
    "mode": "cors"
});

then a blurb would be silently created.

I guess that this it not critical, given it would be reviewed before it's merged into CPython but still, that could make things strange for the victim who would have a blurb on their PR that they didn't create.

Mitigations would include:

  • Adding a CSRF token: a random string stored in the session, and added as <input type="hidden> in the form. It's value would be checked on POST and if the form and the session differ, the POST would be rejected. This requires code, but would be enough on itself.
  • Making the aiohttp session cookie SameSite attribute be Lax. This is discussed upstream in aiohttp & aiohttp-session: the option to pass a value for SameSite has been merged but not released yet in aiohttp and a ticket for making this available in aiohttp-session is openned. This would solve the problem on modern browsers, but old browsers would still be vulnerable. That being said, the target users of blurb_it most probably use modern browsers.

Any way to allow blurb_it to write to other people's pending cpython PRs?

I was hoping to use the we blurb_it to write a NEWS entry for someone's PR that currently lacked one while reviewing it. Unfortunately only appear to be able to grant it access to my own cpython fork rather than PR branches in other people's forks.

Obviously I can't grant it blanket write access to everything I have access to so I'm not sure there is anything that can be done about this. I'm just filing the issue to as a πŸ¦„ "wouldn't it be nice if" πŸ¦„ idea.

Release once, release often!

Hey,

I was planning to package this tool for the Debian repositories and for it to happen, the initial requirement is to make a release so that I can get the tar and convert it into a package.

Thus, requesting you to please make a release of the same.

🚨 New Python runtime environment in Heroku

There's a new Python runtime enviornment in Heroku. You might want to update the bot to use the new environment by editing the runtime.txt file.

See the changelog at https://devcenter.heroku.com/changelog-items/1880
Message:
Python (CPython) 3.5.10 is now available on Heroku.

Please note that after 2020-09-13 the upstream Python community will no longer be releasing new updates of Python 3.5 , so all customers using Python 3.5 should update to Python 3.6 or newer as soon as possible, to ensure they continue to receive security updates after that point.

For more information, see our page on Python Support .

(I'm a bot) πŸ€–

Does not recognize when it has access through an organization

For some reasons1 my clone of cpython is not a repository on my user but on the https://github.com/chrysn-pull-requests, which is technically an organization.

I've gone through the initial setup steps of the blurb-it online app, and as part of that allowed it access to my repository https://github.com/chrysn-pull-requests/cpython, but after returning to https://blurb-it.herokuapp.com/, I still just see "Please install the blurb-it GitHub App, and enable it on your CPython repository." (Then when I follow the install link, GitHub shows it as already installed for chrysn-pull-requests and gives me a link to configure it).

Maybe this is just a recognition problem in the start page, and I can jump to the actual app with the right deep link?

Footnotes

  1. Irrelevant to this PR, but if curious: I dislike how GitHub mangles the terms "forking" and "creating a branch", and thus keep a separate group of repositories that I do not intend to fork, but just have branches on. ↩

Allow adding "skip news"

It would be nice if blurb_it could also add the skip news label for PRs where a NEWS item is not needed. For me, the missing skip news label is the most common reason why my CPython pull requests get the red cross.

Include Newline at end of NEWS entry

The NEWS entry added by blurb-it does not contain a newline at the end of the file, which makes the Docs CI check fail since the addition of sphinx-lint in python/cpython#31097

See python/cpython#31266 :

Error: [1] ../Misc/NEWS.d/next/Documentation/2022-02-10-23-40-54.bpo-44953.ZvrfXw.rst:0: No newline at end of file (no-newline-at-end-of-file).

🚨 New Python runtime environment in Heroku

There's a new Python runtime enviornment in Heroku. You might want to update the bot to use the new environment by editing the runtime.txt file.

See the changelog at https://devcenter.heroku.com/changelog-items/1804
Message:
Python (CPython) 2.7.18, 3.5.9, 3.7.7 and 3.8.3 are now available on Heroku.

Additionally, PyPy 2.7 and 3.6 version 7.3.1 are now also released to Beta.

For more information, see our page on Python Support .

(I'm a bot) πŸ€–

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.