
Security News
Lovable’s OJ Rewrites Vite’s Dev Server in Rust as AI Lowers the Cost of Forking Open Source
Lovable’s OJ rewrites Vite’s dev server in Rust, reducing memory use and preview times as AI lowers the cost of open source reimplementation.
@25xcodes/llmfeed-validator
Advanced tools
LLMFeed validation library with Ed25519 cryptographic signature verification.
npm install @25xcodes/llmfeed-validator
# Validate from URL (auto-discovers .well-known path)
npx @25xcodes/llmfeed-validator example.com
# Validate full URL
npx @25xcodes/llmfeed-validator https://example.com/.well-known/mcp.llmfeed.json
# Validate local file
npx @25xcodes/llmfeed-validator ./my-feed.json
# JSON output (for CI/CD)
npx @25xcodes/llmfeed-validator example.com --json
# Skip signature verification
npx @25xcodes/llmfeed-validator example.com --skip-signature
# Verbose output
npx @25xcodes/llmfeed-validator example.com --verbose
| Code | Meaning |
|---|---|
| 0 | Feed is valid |
| 1 | Feed is invalid (has errors) |
| 2 | Could not fetch or parse feed |
import { validateLLMFeed, fetchLLMFeed } from '@webmcp/validator'
// Validate from URL
const feed = await fetchLLMFeed('https://example.com')
const result = await validateLLMFeed(feed)
console.log(result.valid) // true/false
console.log(result.score) // 0-100
console.log(result.signatureValid) // true/false/undefined
console.log(result.errors) // ValidationError[]
console.log(result.warnings) // ValidationWarning[]
// With options
const result = await validateLLMFeed(feed, {
skipSignatureVerification: true,
timeout: 5000
})
When signature verification fails, detailed diagnostics are available:
const result = await validateLLMFeed(feed)
if (!result.signatureValid && result.signatureDiagnostics) {
const diag = result.signatureDiagnostics
// Step-by-step verification status
for (const step of diag.steps) {
console.log(`${step.status}: ${step.message}`)
}
// Detected issues with recommendations
for (const issue of diag.detectedIssues) {
console.log(`[${issue.code}] ${issue.title}`)
console.log(` Recommendation: ${issue.recommendation}`)
}
// Canonical payload for debugging
console.log('Canonical JSON:', diag.canonicalPayload?.json)
console.log('SHA-256:', diag.canonicalPayload?.hash)
}
For environments without global fetch or for testing:
import { validateLLMFeed } from '@webmcp/validator'
const result = await validateLLMFeed(feed, {
fetch: customFetchFunction,
publicKeyResolver: async (url) => {
// Return PEM-encoded public key string
return '-----BEGIN PUBLIC KEY-----\n...'
}
})
name: Validate LLMFeed
on: [push, pull_request]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npx @webmcp/validator ./mcp.llmfeed.json --json > validation.json
- run: |
if [ $(jq '.valid' validation.json) != "true" ]; then
echo "Feed validation failed!"
jq '.errors' validation.json
exit 1
fi
#!/bin/bash
# .git/hooks/pre-commit
npx @webmcp/validator ./mcp.llmfeed.json --quiet
validateLLMFeed(feed, options?)Validates an LLMFeed object.
Parameters:
feed: unknown — The feed object to validateoptions?: ValidatorOptions
fetch?: typeof fetch — Custom fetch functionskipSignatureVerification?: boolean — Skip signature checkspublicKeyResolver?: (url: string) => Promise<string> — Custom key resolvertimeout?: number — Network timeout in msReturns: Promise<ValidationResult>
fetchLLMFeed(input, options?)Fetches an LLMFeed from a URL.
Parameters:
input: string — URL, domain, or file pathoptions?: ValidatorOptionsReturns: Promise<LLMFeed>
verifyEd25519Signature(feed, options?)Verifies Ed25519 signature with detailed diagnostics.
Returns: Promise<SignatureVerificationResult>
interface ValidationResult {
valid: boolean
errors: ValidationError[]
warnings: ValidationWarning[]
score: number
signatureValid?: boolean
signatureDiagnostics?: SignatureVerificationResult
}
interface ValidationError {
type: 'structure' | 'schema' | 'signature' | 'format'
field?: string
message: string
severity: 'error' | 'warning'
}
interface SignatureVerificationResult {
valid: boolean
error?: string
steps: SignatureVerificationStep[]
canonicalPayload?: { json: string; bytes: number; hash?: string }
detectedIssues: SignatureIssue[]
// ... more fields
}
MIT
FAQs
LLMFeed validation library with Ed25519 signature verification
The npm package @25xcodes/llmfeed-validator receives a total of 17 weekly downloads. As such, @25xcodes/llmfeed-validator popularity was classified as not popular.
We found that @25xcodes/llmfeed-validator demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Lovable’s OJ rewrites Vite’s dev server in Rust, reducing memory use and preview times as AI lowers the cost of open source reimplementation.

Security News
It has been one year since Shai-Hulud made its first appearance on npm.

Research
/Security News
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.