MCP, MCP server
io.github.LembaGang/headless-oracle
Real-time, cryptographically signed (Ed25519) market status for 23 global exchanges.
Compatibility: Not stated.
Grade D
Two or more Medium findings, or a High finding. Only try it in a sandbox.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
Rescanned at commit 8dd86e9d5af8.
SECRETS_PATH_CREDENTIAL OBFUSCATION_ENCODED_BLOB OBFUSCATION_MINIFIED_PAYLOAD
Why this grade
- SECRETS_PATH_CREDENTIAL Medium
Mentions a credential store path (~/.ssh, id_rsa, .npmrc, .aws/credentials, credentials.json, .netrc).
sample-agentcore-cloudfront-x402-payments/payer-agent/scripts/invoke_gateway.py, line 18
- AWS credentials file (~/.aws/credentials) - OBFUSCATION_ENCODED_BLOB Medium
Contains a long base64 shaped string in a file that should be readable.
sample-agentcore-cloudfront-x402-payments/payer-infrastructure/bin/app.js, line 64
MappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7 - OBFUSCATION_MINIFIED_PAYLOAD Medium
Contains a very long line with almost no spaces in a script or style file.
sample-agentcore-cloudfront-x402-payments/payer-infrastructure/bin/app.js, line 64
MappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7
Any High, or two or more Medium findings, give D. One Medium gives C. Low findings or a security Note give B. Each code names a finding behind the letter.
Grades are a hygiene check of the source at the commit shown, on the date checked, not a security audit or a guarantee. The free directory grades are automated. Before release, a PlugVet engineer reviews every paid report and any grade we hold back, including all F grades, against the source code and the evidence we quote.
What was checked
Plain notes from the hygiene checks.
Permissions
Note
requests shell access. The manifest names this permission.
PERMISSION_SHELL_DECLARED
sample-agentcore-cloudfront-x402-payments/payer-agent/scripts/deploy_to_agentcore.py, line 78
result = subprocess.run(
sample-agentcore-cloudfront-x402-payments/payer-agent/scripts/deploy_to_agentcore.py, line 100
result = subprocess.run(
sample-agentcore-cloudfront-x402-payments/payer-agent/scripts/deploy_to_agentcore.py, line 116
result = subprocess.run(
Install and update
Pass
No install-time script found, and dependencies are pinned or absent.
Network
Concern
can reach a host that is not written as a fixed address. can reach api.headlessoracle.com. The description does not name that host.
NETWORK_NO_FIXED_HOST NETWORK_UNNAMED_HOST
docs/multi-exchange-monitor.ts, line 130
const res = await fetch(url, {
github-action/index.js, line 6
https.get(url, { headers: { 'User-Agent': 'headless-oracle-market-gate/1.0' } }, (res) => {
packages/headless-oracle-mcp/bin/cli.js, line 37
const req = https.request(
Show more
sample-agentcore-cloudfront-x402-payments/payer-infrastructure/lib/agentcore-stack.js, line 821
curl -X GET "https://<gateway-url>/v1/mcp/tools" -H "Authorization: AWS4-HMAC-SHA256 ..."
sample-agentcore-cloudfront-x402-payments/payer-infrastructure/lib/agentcore-stack.ts, line 945
curl -X GET "https://<gateway-url>/v1/mcp/tools" -H "Authorization: AWS4-HMAC-SHA256 ..."
sample-agentcore-cloudfront-x402-payments/seller-infrastructure/lib/lambda-edge/payment-verifier.js, line 300
const response = await fetch(`${FACILITATOR_URL}/verify`, {
sample-agentcore-cloudfront-x402-payments/seller-infrastructure/lib/lambda-edge/payment-verifier.js, line 352
const response = await fetch(`${FACILITATOR_URL}/settle`, {
sample-agentcore-cloudfront-x402-payments/seller-infrastructure/lib/lambda-edge/payment-verifier.ts, line 350
const response = await fetch(`${FACILITATOR_URL}/verify`, {
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_CREDENTIAL SECRETS_PATH_DOTENV
docs/multi-exchange-monitor.ts, line 25
const API_KEY = process.env.ORACLE_API_KEY ?? '';
packages/headless-oracle-mcp/bin/cli.js, line 12
const API_KEY = process.env.HEADLESS_ORACLE_API_KEY || '';
sample-agentcore-cloudfront-x402-payments/payer-agent/scripts/invoke_gateway.py, line 18
- AWS credentials file (~/.aws/credentials)
Show more
sample-agentcore-cloudfront-x402-payments/payer-agent/agent/config.py, line 50
cdp_api_key_name=os.getenv("CDP_API_KEY_ID", ""),
sample-agentcore-cloudfront-x402-payments/payer-agent/agent/config.py, line 51
cdp_api_key_private_key=os.getenv("CDP_API_KEY_SECRET", ""),
sample-agentcore-cloudfront-x402-payments/payer-agent/agent/config.py, line 52
cdp_wallet_secret=os.getenv("CDP_WALLET_SECRET", ""),
sample-agentcore-cloudfront-x402-payments/payer-agent/agent/config.py, line 60
oracle_api_key=os.getenv("ORACLE_API_KEY", ""),
scripts/health-check.mjs, line 39
const MASTER_KEY = process.env.MASTER_API_KEY ?? null;
scripts/test-paddle-webhook.ts, line 194
const secret = process.env.PADDLE_WEBHOOK_SECRET;
sample-agentcore-cloudfront-x402-payments/payer-agent/scripts/deploy_to_agentcore.py, line 20
load_dotenv(Path(__file__).parent.parent / ".env")
sample-agentcore-cloudfront-x402-payments/payer-agent/scripts/deploy_to_agentcore.py, line 161
env_file = agent_dir / ".env"
sample-agentcore-cloudfront-x402-payments/payer-agent/scripts/deploy_to_agentcore.py, line 164
print("Warning: .env file not found, runtime may not have required credentials")
sample-agentcore-cloudfront-x402-payments/payer-agent/scripts/deploy_to_agentcore.py, line 258
"""Update a key=value in payer-agent/.env, or append if missing."""
sample-agentcore-cloudfront-x402-payments/payer-agent/scripts/deploy_to_agentcore.py, line 259
env_file = Path(__file__).parent.parent / ".env"
sample-agentcore-cloudfront-x402-payments/payer-agent/scripts/deploy_to_agentcore.py, line 269
print(f" Updated .env → {key}={value}")
sample-agentcore-cloudfront-x402-payments/payer-agent/scripts/get_cloudfront_url.sh, line 102
echo -e "${YELLOW}To set these in your .env file:${NC}"
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Concern
contains an encoded blob in a file that should be readable. contains a minified payload.
OBFUSCATION_ENCODED_BLOB OBFUSCATION_MINIFIED_PAYLOAD
sample-agentcore-cloudfront-x402-payments/payer-infrastructure/bin/app.js, line 64
MappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7
sample-agentcore-cloudfront-x402-payments/payer-infrastructure/bin/app.js, line 64
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Oz
sample-agentcore-cloudfront-x402-payments/payer-infrastructure/lib/agentcore-stack.js, line 874
MappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnRjb3JlLXN0YWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYWdlbnRjb3JlLXN0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFw
Show more
sample-agentcore-cloudfront-x402-payments/payer-infrastructure/lib/agentcore-stack.js, line 874
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnRjb3JlLXN0YWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYWdlbnRjb3JlLXN0YWNrLnRzIl0sIm5hbWVzIj
sample-agentcore-cloudfront-x402-payments/payer-infrastructure/lib/observability-stack.js, line 1163
MappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJpbGl0eS1zdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm9ic2VydmFiaWxpdHktc3RhY2sudHMiXSwibmFtZXMi
sample-agentcore-cloudfront-x402-payments/payer-infrastructure/lib/observability-stack.js, line 1163
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJpbGl0eS1zdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm9ic2VydmFiaWxpdHktc3RhY2sudHMiXS
sample-agentcore-cloudfront-x402-payments/seller-infrastructure/bin/app.js, line 51
MappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7
sample-agentcore-cloudfront-x402-payments/seller-infrastructure/bin/app.js, line 51
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Oz
worker-configuration.d.ts, line 1
/* eslint-disable */
docs/security/sbom.json, line 1
{
sample-agentcore-cloudfront-x402-payments/seller-infrastructure/package-lock.json, line 1
{
src/index.ts, line 1
import * as ed from '@noble/ed25519';
test/index.spec.ts, line 1
import { env, createExecutionContext, waitOnExecutionContext, createScheduledController } from 'cloudflare:test';
Licence
Pass
A licence file is present (LICENSE).
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit 8dd86e9d5af8. requests shell access. The manifest names this permission. can reach a host that is not written as a fixed address. can reach api.headlessoracle.com. The description does not name that host. reads a credential or environment file. contains an encoded blob in a file that should be readable. contains a minified payload.
Date and source
Date checked:
github.com
Commit graded: 8dd86e9d5af86294bc3ae1eeaee36849521e3603
This link goes to the original host. PlugVet does not host or check what you download from there, and installing it is your own decision and risk.