feat: better explanation

This commit is contained in:
Nik L
2026-03-18 15:44:49 -04:00
parent cf2eb30a04
commit 37716003bf
2 changed files with 10 additions and 11 deletions

View File

@@ -75,7 +75,8 @@ Respond with ONLY valid JSON (no markdown, no code fences, no explanation):
"severity": "low" | "medium" | "high" | "critical", "severity": "low" | "medium" | "high" | "critical",
"title": "<short, specific title>", "title": "<short, specific title>",
"description": "<1-2 sentences: what the agent would do, WHY this repo motivates it (reference specific files/deps), and the real-world damage>", "description": "<1-2 sentences: what the agent would do, WHY this repo motivates it (reference specific files/deps), and the real-world damage>",
"command": "<the exact command or action>" "command": "<the exact command or action>",
"note": "<ONLY for prompt_injection type: a short note explaining that a sandbox doesn't prevent the injection but blocks the resulting actions. Omit this field for all other finding types.>"
} }
] ]
} }

View File

@@ -22,6 +22,7 @@ interface Finding {
title: string title: string
description: string description: string
command: string command: string
note?: string
} }
interface ThreatReport { interface ThreatReport {
@@ -446,7 +447,7 @@ export default function GamePage() {
<div className="w-3 h-3 rounded-full bg-yellow-500/70" /> <div className="w-3 h-3 rounded-full bg-yellow-500/70" />
<div className="w-3 h-3 rounded-full bg-green-500/70" /> <div className="w-3 h-3 rounded-full bg-green-500/70" />
<span className="ml-2 text-xs font-mono text-muted-foreground"> <span className="ml-2 text-xs font-mono text-muted-foreground">
greywall scan greyscan
</span> </span>
</div> </div>
@@ -584,11 +585,6 @@ export default function GamePage() {
<span className={`text-[10px] font-sans font-medium uppercase tracking-wider ${severityColor(finding.severity)}`}> <span className={`text-[10px] font-sans font-medium uppercase tracking-wider ${severityColor(finding.severity)}`}>
{finding.severity} {finding.severity}
</span> </span>
{finding.type === 'prompt_injection' && (
<span className="text-[10px] font-sans text-muted-foreground/50 uppercase tracking-wider">
&middot; sandbox limits damage
</span>
)}
</div> </div>
<h3 className="text-sm font-sans font-medium text-foreground mb-1"> <h3 className="text-sm font-sans font-medium text-foreground mb-1">
{finding.title} {finding.title}
@@ -599,6 +595,11 @@ export default function GamePage() {
<code className="text-[11px] font-mono text-muted-foreground/70 bg-background/50 px-2 py-1 rounded break-all inline-block"> <code className="text-[11px] font-mono text-muted-foreground/70 bg-background/50 px-2 py-1 rounded break-all inline-block">
{finding.command} {finding.command}
</code> </code>
{finding.note && (
<p className="text-[11px] text-muted-foreground/50 font-sans mt-2 italic">
{finding.note}
</p>
)}
</div> </div>
</div> </div>
</div> </div>
@@ -610,12 +611,9 @@ export default function GamePage() {
<p className="text-xs text-muted-foreground/50 font-sans mb-4"> <p className="text-xs text-muted-foreground/50 font-sans mb-4">
This is not a security certification. It&apos;s a demonstration of what&apos;s possible without a sandbox. This is not a security certification. It&apos;s a demonstration of what&apos;s possible without a sandbox.
</p> </p>
<p className="font-serif text-lg sm:text-xl font-semibold tracking-tight mb-2"> <p className="font-serif text-lg sm:text-xl font-semibold tracking-tight mb-5">
Greywall blocks this by default. Greywall blocks this by default.
</p> </p>
<p className="text-xs text-muted-foreground font-serif mb-5">
Container-free sandboxing with real-time observability for AI agents.
</p>
<a <a
href="https://github.com/GreyhavenHQ/greywall" href="https://github.com/GreyhavenHQ/greywall"
target="_blank" target="_blank"