Tom Forbes
tomforb.es · Personal blog · on HN since 2012
Tom Forbes writes about Python, Django, security research, and cloud tooling, including large-scale scans of public packages.
What HN saysHN commenters link his S3 deletion visualization, his PyPI scan that found live AWS keys, and his XPath injection work.
18HN people shared it
6linked it in comments
35stories submitted
878story points
2 years agolast shared
2012people per year2026
Most-shared posts
- 1Automatically inline Python function calls3 people · 46 points · first shared 2013 · 9 comments on HN
- 2XPath injection issues are severely underrated3 people · 7 points · first shared 2018 · 1 comments on HN
- 3Just How Slow are Django Templates?3 people · 5 points · first shared 2013 · 1 comments on HN
- 4Visualizing how S3 deletes 1B objects with Athena and Rust2 people · 27 points · first shared 2022 · 3 comments on HN
- 5CVE-2022-0329 and the problems with automated vulnerability management2 people · 21 points · first shared 2022 · 7 comments on HN
- 6Breaking out of secured Python environments2 people · 11 points · first shared 2013 · discussion on HN
- 7I scanned every package on PyPI and found 57 live AWS keys2 people · 11 points · first shared 2023 · 2 comments on HN
- 8Counting Pizza with Python2 people · 6 points · first shared 2016 · 2 comments on HN
- 9AWS may have broken your CloudFront API for nearly a month2 people · 4 points · first shared 2022 · discussion on HN
- 10Infosys leaked FullAdminAccess AWS keys on PyPI for over a year1 people · 502 points · first shared 2022 · 201 comments on HN
- 11Dear Apple, I don't want your god-damn lossless audio1 people · 66 points · first shared 2021 · 35 comments on HN
- 12Segfaulting Python with afl-fuzz1 people · 50 points · first shared 2016 · 11 comments on HN
- 13Purchasing a £30,000 numberplate for the price of a bus ticket1 people · 44 points · first shared 2013 · 34 comments on HN
- 14Opera is really nice.1 people · 35 points · first shared 2014 · 61 comments on HN
- 15Dell Does a SuperFish: Exploiting Dell Service Tag Detector1 people · 16 points · first shared 2015 · discussion on HN
What HN people wrote when they linked it
orf · 2023-10-16
Ignore the replies about inventories. $0.005 Per 1k list requests. A list request returns 1k items. 1 million items for $0.005, or 1 billion items for 5 dollars.
Still use lifecycle policies (I visualized how it ages out 1 billion items here[1]), but list request prices are not a factor worth mentioning.
1. https://tomforb.es/visualizing-how-s3-deletes-1-billion-objects-with-a…
chanux · 2023-09-03
Thanks for the fantastic work!
So you found 57 live AWS keys[1]. That's out of 1631 according to your stats (If I didn't misread something). I wonder how many of the top two in the list are live :D
Google API Key 4,015
OpenAI API Key 3,531
[1] https://tomforb.es/i-scanned-every-package-on-pypi-and-found-57-live-a…
petters · 2020-11-01
I thought XPath was terrible beyond 1.0?
E.g. https://tomforb.es/xcat-1.0-released-or-xpath-injection-issues-are-sev…
But it does not seem to be mentioned as an argument.
barosl · 2015-06-16
This is certainly an interesting idea. A quick Google search gave me this toy example: [1][2]
Of course making it work for all cases would be very hard due to the excessive dynamism of Python, but for simple arithmetic operations it could be made to work fairly well.
[1] http://tomforb.es/automatically-inline-python-function-calls
[2] https://github.com/orf/inliner
Orf_ · 2012-06-07
I wrote my own to use SQLAlchemy models you define:
http://tomforb.es/using-a-custom-sqlalchemy-users-model-with-django
Its really not that bad or hard to do at all.
greysteil · 2022-02-26
Ha! Well, there's a lot.
On major strand is more work like this to make it easy for the community to collaborate. I expect we'll make a lot of iterative improvements to the database over the next few months, aimed at making it easier to contribute to, maintain and use. We need to improve our APIs for this data, for example (currently only available via GraphQL).
Another big one that we're starting to think about is the security vulnerability disclosure process. Our goal there is to support maintainers as much as possible, and there's more we can do. Recent articles on loguru, beg bounties, and the way log4j initially reached public attention all point to problems GitHub can and should help with. In the next 12 months we'd like to give maintainers the option to receive vulnerability disclosures privately on GitHub, and for us to be able to support them through that process. (GitHub already does a bit here - through maintainer security advisories we issued about 30% of the CVEs in the JavaScript ecosystem last year, for example. But we can and will do more.)
Loguru CVE article: https://tomforb.es/cve-2022-0329-and-the-problems-with-automated-vulne…
Beg bounties: https://www.troyhunt.com/beg-bounties/
Log4j PR: https://github.com/apache/logging-log4j2/pull/608#issuecomment-9897620…