[claude-hackernews] Reply draft: Snyk agent-scan Show HN, static-catalog vs runtime-call seam (id=47999709)#42
Conversation
… seam (id=47999709)
📝 WalkthroughWalkthroughA new Markdown draft for a HackerNews "Show HN" reply is added. The draft documents a proposed runtime enforcement approach using a PreToolUse hook to close tool-invocation gaps, alongside audit criteria and compliance findings. ChangesHackerNews Draft Reply
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Review rate limit: 4/5 reviews remaining, refill in 12 minutes. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
drafts/2026-05-03T232919Z.md (1)
23-23: 💤 Low valueConsider adding a language specifier to the code block.
For documentation clarity, add a language identifier to the code block (e.g.,
```textor```markdown). This improves readability and satisfies the markdownlint rule without changing the HN-posted content.📝 Proposed fix
-``` +```text (disclosure: I work on FailProof AI: https://github.com/exospherehost/failproofai)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@drafts/2026-05-03T232919Z.md` at line 23, The markdown code fence that contains the disclosure line "(disclosure: I work on FailProof AI: https://github.com/exospherehost/failproofai)" should include a language specifier; replace the opening "```" for that block with a fenced code start like "```text" (or "```markdown") so the block is explicitly typed and satisfies markdownlint and improves readability.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@drafts/2026-05-03T232919Z.md`:
- Line 5: The phrase "MIT-pyproject is Apache-2.0" is ambiguous; update the
draft line to explicitly state where each license is declared (e.g., "Repository
README/license file states MIT; pyproject.toml declares Apache-2.0") so readers
know there is a discrepancy—edit the sentence in the draft (the line containing
"MIT-pyproject is Apache-2.0") to mention the exact sources (README/license
header and pyproject.toml) and the two license identifiers.
---
Nitpick comments:
In `@drafts/2026-05-03T232919Z.md`:
- Line 23: The markdown code fence that contains the disclosure line
"(disclosure: I work on FailProof AI:
https://github.com/exospherehost/failproofai)" should include a language
specifier; replace the opening "```" for that block with a fenced code start
like "```text" (or "```markdown") so the block is explicitly typed and satisfies
markdownlint and improves readability.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 8b0bbfbe-b0ad-4508-ae55-358d9e76f873
📒 Files selected for processing (1)
drafts/2026-05-03T232919Z.md
|
|
||
| **HN:** https://news.ycombinator.com/item?id=47999709 | ||
|
|
||
| **Story:** Show HN: Security Scanner for Agent Skills and MCP (github.com/snyk/agent-scan). Posted by `lirantal` (Snyk DevRel, listed contributor on the repo), ~5 hours old at draft time, 4 points, 0 comments. Reply form live. Repo at 2.3k stars, MIT-pyproject is Apache-2.0. Auto-discovers MCP/skill installs across Claude Code, Cursor, Windsurf, Gemini CLI, Amp, Amazon Q, etc. |
There was a problem hiding this comment.
Clarify the license notation.
The phrase "MIT-pyproject is Apache-2.0" is ambiguous. If there's a license discrepancy between the repo's stated license and the pyproject.toml file, please clarify the notation for internal reference (e.g., "MIT license in README, Apache-2.0 in pyproject.toml" or similar).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@drafts/2026-05-03T232919Z.md` at line 5, The phrase "MIT-pyproject is
Apache-2.0" is ambiguous; update the draft line to explicitly state where each
license is declared (e.g., "Repository README/license file states MIT;
pyproject.toml declares Apache-2.0") so readers know there is a discrepancy—edit
the sentence in the draft (the line containing "MIT-pyproject is Apache-2.0") to
mention the exact sources (README/license header and pyproject.toml) and the two
license identifiers.
Summary
id=47999709(Show HN: Security Scanner for Agent Skills and MCP, github.com/snyk/agent-scan, bylirantal).consent-before-executeflow they had to build because scanning a stdio MCP requires booting it - then surfaces the catalog-entry-vs-arguments shell-laundering example as a runtime gap a static catalog scan can't see by construction. One policy name (block-curl-pipe-sh) tied directly to that example. No snippet (snippet OR name, never both).Discovery path
/ask,/show,/newestvia thebrowser-useMCP. Most front-page candidates were either model-layer pain (Claude Code stop-hooks regression on/ask- excluded by the thread-fit gate, FailProof does not solve model regressions) or already covered by open PRs ([claude-hackernews] Reply draft: AgentPort vs runtime-hook layer (id=47950752) #11-[claude-hackernews] Reply draft: Spec27 Show HN, spec-tests vs in-loop hook seam (id=47959984) #41 list).47999709because it is a Show HN of an adjacent product (security scanner for agent components - Show HN of an adjacent sandbox / gateway / hook manager / policy engine where the OP solicits design discussion is explicitly in the "Yes" row of the thread-fit gate inINSTRUCTIONS.md), the OP is a Snyk DevRel (credible amplifier), and the static-vs-runtime seam is a substantive design point on their tool rather than a generic pitch.drafts/orcomments/on this branch, not in the diff of any of the 30+ open PRs (PR [claude-hackernews] Reply draft: Smithery MCP scan, static-vs-runtime gate (id=47969781) #35 is on a related topic - Smithery / Bawbel scan - but anchors on tool-output injection withblock-unknown-egress, a different concrete failure mode and a different policy name).Thread URLs
Reply (proposed body, in
drafts/2026-05-03T232919Z.md)Status
CLAUDE.mdandREADME.md, the user reviews on GitHub, posts manually to HN, then merges this PR (merge = "I posted it"). After posting, the comment permalink can be appended to the HN: line on request.Test plan
comments/2026-04-29T043958Z.md,drafts/2026-05-01T184439Z.md) to confirm the working shape matches.id=47999709before posting.Summary by CodeRabbit
Note: This release contains no user-facing feature updates or changes.