Ideas Lab

Real problems people complain about online, pulled every morning and scored out of 100. Build, validate, or skip. How scoring works

Ideas
4,820
BUILD
702
Sources
8
Last sync
11h ago
752 ideas
AI

New audit: unpinned-tools

I've been thinking about this one recently in the context of trivy's [ongoing issues](https://github.com/aquasecurity/trivy/discussions/10425): it's good to hash-pin actions, but a lot of actions internally just fetch whatever "latest" version of a binary is available as a GitHub release. Consequently, even hash-pinned actions can be a vector for distributing malicious builds, since "latest" is always a mutable concept (and without immutable releases, previous tags may also be mutable). So, we should have an audit for this. Like with `cache-poisoning`, we'll probably want to use the coordinate API and start with a fixed set of well-known actions that are known to install binaries. Some good initial candidates: - `aquasecurity/trivy-action` - `taiki-e/install-action` Each of these will require slightly different coordinates/nuances. For example `trivy-action` has the `version:` input, but `version: latest` should still be flagged. In contrast `install-action` has no `version:` input, but the `tool:` input should have a `@version` suffix. Those are the relatively easy cases; it might also be nice to be able to flag actions like `astral-sh/setup-uv`, but the wrinkle with those is that they also support a `version-file` input and by policy zizmor doesn't attempt to parse files outside of workflows/actions/etc. for supporting information. So `setup-uv` and similar would be subject to higher false positive rates. There are also actions that never make sense to flag, like our own `zizmor-action`: `zizmor-action` has a `version:` input that defaults to `latest`, but under the hood `latest` is actually hash-pinned within the repo itself and is therefore immutable and changes only when the action itself changes. By way of example, here would be some steps that an audit here should flag: ```yaml - uses: aquasecurity/trivy-action@whatever # FLAG: no `version:` input - uses: taiki-e/install-action@whatever with: tool: cargo-hack # FLAG: no `@version` prefix - uses

GitHub7mo agoToolAI

62FL score
0Sign in to vote

Stage – Putting humans back in control of code review

Hey HN! We're Charles and Dean, and we're building Stage: a code review tool that guides you through reading a PR step by step, instead of piecing together a giant diff.Here's a demo video: https://www.tella.tv/video/stage-demo-1pph. You can play around with some example PRs here: https://stagereview.app/explore.Teams are moving faster than ever with AI these days, but more and more engineers are merging changes that they don't really understand. The bottleneck isn't writing code anymore, it's reviewing it.We're two engineers who got frustrated with GitHub's UI for code review. As coding agents took off, we saw our PR backlog pile up faster than we could handle. Not only that, the PRs themselves were getting larger and harder to understand, and we found ourselves spending most of our time trying to build a mental model of what a PR was actually doing.We built Stage to make reviewing a PR feel more like reading chapters of a book, not an unorganized set of paragraphs. We use it every day now, not just to review each other's code but also our own, and at this point we can't really imagine going back to the old GitHub UI.What Stage does: when a PR is opened, Stage groups the changes into small, logical "chapters". These chapters get ordered in the way that makes most sense to read. For each chapter, Stage tells you what changed and specific things to double check. Once you review all the chapters, you're done reviewing the PR.You can sign in to Stage with your GitHub account and everything is synced seamlessly (commenting, approving etc.) so it fits into the workflows you're already used to.What we're not building: a code review bot like CodeRabbit or Greptile. These tools are great for catching bugs (and we use them ourselves!) but at the end of the day humans are responsible for what gets shipped. It's clear that reviewing code hasn't scaled the sam

Hacker News6mo agoToolAI

78FL score
0Sign in to vote

SmallDocs – Markdown without the frustrations

Hi HN, I’d like to introduce you to SmallDocs (https://sdocs.dev). SDocs is a CLI + webapp to instantly and 100% privately elegantly preview and share markdown files. (Code: https://github.com/espressoplease/SDocs)The more we work with command line based agents the more `.md` files are part of our daily lives. Their output is great for agents to produce, but a little bit frustrating for humans: Markdown files are slightly annoying to read/preview and fiddly to share/receive. SDocs was built to resolve these pain points.If you `sdoc path/to/file.md` (after `npm i -g sdocs-dev`) it instantly opens in the browser for you to preview (with our hopefully-nice-to-look-at default styling) and you can immediately share the url.The `.md` files our agents produce contain some of the most sensitive information we have (about codebases, unresolved bugs, production logs, etc.). For this reason 100% privacy is an essential component of SDocs.To achieve this SDoc urls contain your markdown document's content in compressed base64 in the url fragment (the bit after the `#`):https://sdocs.dev/#md=GzcFAMT...(this is the contents of your document)...The cool thing about the url fragment is that it is never sent to the server (see https://developer.mozilla.org/en-US/docs/Web/URI/Reference/F...: "The fragment is not sent to the server when the URI is requested; it is processed by the client").The sdocs.dev webapp is purely a client side decoding and rendering engine for the content stored in the url fragment. This means the contents of your document stays with you and those you choose to share it with, the SDocs server doesn't access it. (Feel free to inspect/get your agent to inspect our code to confirm this!)Because `.md` files might play a big role in the future of work, SDocs wants to push the boundaries of styling and rendering interesting content in markd

Hacker News6mo agoToolAI

62FL score
0Sign in to vote