Lp3
Medium
- Category
- MCP Least Privilege
- Confidence
- 70% confidence
- Finding
- Without declared permissions the skill's intent is opaque and cannot be validated.
Security audit
Security checks across malware telemetry and agentic risk
This skill does what it claims, but it sets up a powerful autonomous email inbox with full email-provider credentials and weakly scoped access controls.
Install only if you intentionally want an agent-operated email address. Before using it, add authentication to the inbox read and ack endpoints, limit the Resend API key where possible, store secrets in a real secrets manager, restrict who can read mail/inbox and mail.log, and make the cron monitor explicit, reversible, and easy to disable.
```js
async function sendEmail(to, subject, text, html) {
const res = await fetch('https://api.resend.com/emails', {
method: 'POST',
headers: {
'Authorization': `Bearer ${RESEND_API_KEY}`,RESEND_KEY="re_xxxxx"
# Add domain
curl -s -X POST -H "Authorization: Bearer $RESEND_KEY" \
-H "Content-Type: application/json" \
https://api.resend.com/domains \
-d '{"name": "yourdomain.com", "region": "us-east-1"}'## Step 3: Register Webhook on Resend
```bash
curl -s -X POST -H "Authorization: Bearer $RESEND_KEY" \
-H "Content-Type: application/json" \
https://api.resend.com/webhooks \
-d '{**Send a test email:**
```bash
curl -s -X POST -H "Authorization: Bearer $RESEND_KEY" \
-H "Content-Type: application/json" \
https://api.resend.com/emails \
-d '{# Add domain
curl -s -X POST -H "Authorization: Bearer $RESEND_KEY" \
-H "Content-Type: application/json" \
https://api.resend.com/domains \
-d '{"name": "yourdomain.com", "region": "us-east-1"}'
# Get DNS records to configure# Get DNS records to configure curl -s -H "Authorization: Bearer $RESEND_KEY" \ https://api.resend.com/domains/yourdomain.com | jq '.records' ``` Add the returned DNS records (TXT, MX, CNAME) to your DNS provider. Wait for verification (usually minutes).
**Verify status:**
```bash
curl -s -H "Authorization: Bearer $RESEND_KEY" \
https://api.resend.com/domains/yourdomain.com | jq '{status, capabilities}'
```
Both `sending` and `receiving` must be `"enabled"`.```bash
curl -s -X POST -H "Authorization: Bearer $RESEND_KEY" \
-H "Content-Type: application/json" \
https://api.resend.com/webhooks \
-d '{
"endpoint": "https://yourdomain.com/api/inbound-email",
"events": ["email.received"],```bash
curl -s -X POST -H "Authorization: Bearer $RESEND_KEY" \
-H "Content-Type: application/json" \
https://api.resend.com/emails \
-d '{
"from": "Agent <agent@yourdomain.com>",
"to": ["owner@theirdomain.com"],```js
async function sendEmail(to, subject, text, html) {
const res = await fetch('https://api.resend.com/emails', {
method: 'POST',
headers: {
'Authorization': `Bearer ${RESEND_API_KEY}`,## Step 6: Set Up Inbox Monitoring Cron Create a cron job that checks for new emails every 5 minutes and notifies the agent: ``` Every 5 min → Check mail/inbox/ for new .json files
63/63 vendors flagged this skill as clean.
Detected: suspicious.env_credential_access