[claude-hackernews] Reply draft: Pi-hosts Show HN, args-level laundering vs verb-tier classification (id=47943466)#48
[claude-hackernews] Reply draft: Pi-hosts Show HN, args-level laundering vs verb-tier classification (id=47943466)#48NiveditJain wants to merge 1 commit intomainfrom
Conversation
… verb-tier classification (id=47943466)
📝 WalkthroughWalkthroughA new draft markdown file is added to document a Hacker News post about pi-hosts, an SSH access extension for AI coding agents. The draft includes the HN link, a proposed comment on risk-classification approaches, an integration insight for the FailProof team, and development notes. ChangesDraft HN Post: pi-hosts Response
Estimated Code Review Effort🎯 1 (Trivial) | ⏱️ ~3 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: 3/5 reviews remaining, refill in 16 minutes and 54 seconds. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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-04T051522Z.md`:
- Around line 18-22: The fenced code block opened with triple backticks (```)
triggers markdownlint MD040 because it lacks a language tag; update that opening
fence to include a language (e.g., change ``` to ```text) so the block reads
```text ... ``` and the linter no longer flags MD040, ensuring the block content
(the paragraph mentioning "FailProof AI" and "block-curl-pipe-sh") remains
unchanged.
🪄 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: 4673bc46-5454-4a5c-a9b5-5c855a941d36
📒 Files selected for processing (1)
drafts/2026-05-04T051522Z.md
| ``` | ||
| (disclosure: I work on FailProof AI: https://github.com/exospherehost/failproofai) | ||
|
|
||
| The risk-tier x approval-mode matrix is a real step up from "approve everything vs approve nothing", but classifying by the surface verb leaves a gap. `bash -c 'rm -rf /'` is a `bash` invocation, `sh -lc "..."` is a `sh` invocation, `curl https://x.sh | sh` is technically a `curl`, and an `apt-get install` flagged caution can fetch a postinst that does anything once it runs. Once you're shelling remote commands at all, the dangerous ones don't always wear their tier on their sleeve. A complementary pattern in FailProof is `block-curl-pipe-sh`: it doesn't try to classify the verb, it inspects the args for the laundering shape. Pairing tier classification with a couple of args-level matchers covers the cases tier-mapping alone can't see. | ||
| ``` |
There was a problem hiding this comment.
Add a language tag to the fenced block to satisfy markdownlint.
Line 18 opens a fenced code block without a language, which triggers MD040. Use an explicit language (for example text) to keep lint clean.
Suggested patch
-```
+```text
(disclosure: I work on FailProof AI: https://github.com/exospherehost/failproofai)
@@
-```
+```🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 18-18: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@drafts/2026-05-04T051522Z.md` around lines 18 - 22, The fenced code block
opened with triple backticks (```) triggers markdownlint MD040 because it lacks
a language tag; update that opening fence to include a language (e.g., change
``` to ```text) so the block reads ```text ... ``` and the linter no longer
flags MD040, ensuring the block content (the paragraph mentioning "FailProof AI"
and "block-curl-pipe-sh") remains unchanged.
Summary
bash -c '...',sh -lc,curl ... | sh,apt-get installpostinst).block-curl-pipe-shas the args-level companion to a name-classifier. Disclosure line at top, ASCII-only punctuation, ~135 words.Discovery path (browser-driven, no API mirrors)
table#hnmain.claude code deleted,agent guardrails,claude code rm -rf,agent destroyed,agent sandbox,tool call policy,Show HN agent,Show HN MCP,Show HN policy,coding agent,claude code,accidentally deleted,AI agent deleted database. Most hits already covered or off-topic.Show HN policyquery; verified uncovered againstdrafts/,comments/, and the open-PR diff scan.Three-surface duplicate check (item?id=47943466)
grep -rl "item?id=47943466" drafts/ comments/-> no hits.gh pr list --state allcross-diff scan -> no hits across all 47 prior PRs.Thread-fit notes
host_execinvocations happen. The reply makes the design-contrast cleanly without claiming overlap.Brand-voice / anti-pitch checks
(disclosure: I work on FailProof AI: <repo URL>)form.block-curl-pipe-sh), tied directly to the laundering-shape gap. No comma-list of policies. No snippet (so the one OR the other rule is satisfied).~/.failproofai/talk, no two-link pattern (disclosure URL only), no dashboard plug, no marketing connectives.xnot×.Test plan
INSTRUCTIONS.md"Tone for discussing it on HN" and the working-example anchor (comments/2026-04-29T043958Z.md).add comment, copy the resulting comment permalink.Draft file:
drafts/2026-05-04T051522Z.mdSummary by CodeRabbit