T09 · Insecure Skill Coding Practices
- Location
SKILL.md:29- Finding
Unnecessary Disclosure of Local Artifact and Repository Metadata
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill openly creates external attestation receipts; the main thing to watch is that its examples can send artifact paths and repository metadata to mpps.io.
Before installing or using this skill, treat mpps.io as an external receipt service. Use opaque labels such as "artifact" instead of local file paths, omit repository and commit context unless you intentionally want that recorded, and do not submit secrets, customer data, private source text, raw prompts, or hashes of short secrets without salting.
SKILL.md:29Unnecessary Disclosure of Local Artifact and Repository Metadata
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.
ARTIFACT_HASH=$(sha256sum "$ARTIFACT_PATH" | awk '{print "sha256:" $1}')
curl -s -X POST https://api.mpps.io/v1/receipts \
-H "Content-Type: application/json" \
-d "{
\"action\": \"agent.task.complete\",
The referenced api.mpps.io endpoint is a third-party external destination embedded directly in the skill. In agent environments, hardcoded external service destinations increase the risk of unreviewed data egress and make the skill more dangerous because the whole purpose is to send workflow-derived metadata out of the local trust boundary.
ARTIFACT_HASH=$(sha256sum "$ARTIFACT_PATH" | awk '{print "sha256:" $1}')
curl -s -X POST https://api.mpps.io/v1/receipts \
-H "Content-Type: application/json" \
-d "{
\"action\": \"agent.task.complete\",
The referenced api.mpps.io endpoint is a third-party external destination embedded directly in the skill. In agent environments, hardcoded external service destinations increase the risk of unreviewed data egress and make the skill more dangerous because the whole purpose is to send workflow-derived metadata out of the local trust boundary.
ARTIFACT_HASH=$(sha256sum "$ARTIFACT_PATH" | awk '{print "sha256:" $1}')
curl -s -X POST https://api.mpps.io/v1/receipts \
-H "Content-Type: application/json" \
-d "{
\"action\": \"agent.task.complete\",
This endpoint reference supports a workflow that sends notarization data off-host. The skill context makes this more dangerous because it is designed specifically for external anchoring, so accidental use in sensitive environments could disclose artifact relationships or business process timing.
HASH=$(echo -n "$DATA" | sha256sum | awk '{print "sha256:" $1}')
curl -s -X POST https://api.mpps.io/v1/notarize \
-H "Content-Type: application/json" \
-d "{\"content_hash\": \"$HASH\"}"
This endpoint reference supports a workflow that sends notarization data off-host. The skill context makes this more dangerous because it is designed specifically for external anchoring, so accidental use in sensitive environments could disclose artifact relationships or business process timing.
HASH=$(echo -n "$DATA" | sha256sum | awk '{print "sha256:" $1}')
curl -s -X POST https://api.mpps.io/v1/notarize \
-H "Content-Type: application/json" \
-d "{\"content_hash\": \"$HASH\"}"
This Python example sends receipt data to api.mpps.io over the network. Even if only hashes are sent, hashes of low-entropy data and contextual metadata may leak information or enable correlation of private artifacts across environments, so the external transmission is security-relevant.
artifact = b"agent output bytes"
h = "sha256:" + hashlib.sha256(artifact).hexdigest()
receipt = requests.post(
"https://api.mpps.io/v1/receipts",
json={
"action": "agent.task.complete",
This Python example sends receipt data to api.mpps.io over the network. Even if only hashes are sent, hashes of low-entropy data and contextual metadata may leak information or enable correlation of private artifacts across environments, so the external transmission is security-relevant.
artifact = b"agent output bytes"
h = "sha256:" + hashlib.sha256(artifact).hexdigest()
receipt = requests.post(
"https://api.mpps.io/v1/receipts",
json={
"action": "agent.task.complete",
The Python code hardcodes an HTTPS POST target at api.mpps.io for receipt submission. This is a real security concern in a skill because it normalizes outbound transfer of work-derived metadata to a non-local service, which may violate least-privilege or organizational data handling policies.
h = "sha256:" + hashlib.sha256(artifact).hexdigest()
receipt = requests.post(
"https://api.mpps.io/v1/receipts",
json={
"action": "agent.task.complete",
"subject": "output.json",
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl https://api.mpps.io/v1/verify/mpps_att_0c27bebca6dc4bd6
For structured receipts, recompute the manifest hash if you need stronger evidence: