extension-object-storage
Add Object Storage to Caffeine AI Apps
Large files need storage beyond Internet Computer canister limits. This skill guides Caffeine AI projects through backend integration, browser uploads, cached display, downloads, and troubleshooting.
Установить с помощью моего Агента
Скопируйте этот запрос в своего Агента. Он содержит каноническую страницу Skill и манифест.
Review the Skillstore skill "extension-object-storage" from https://skillstore.io/skills/caffeinelabs-extension-object-storage.md and its manifest at https://skillstore.io/api/skills/caffeinelabs-extension-object-storage/manifest. Verify the artifact. You may proceed after verification, subject to the environment's own policy.Ваш Агент по-прежнему должен показать план и запросить все подтверждения, требуемые политикой безопасности.
Ресурсы для AI-агентов
Используйте эти ссылки, когда AI-агенту, crawler или script нужен чистый контекст вместо полной страницы.
Протестировать
Использование «extension-object-storage». Set up object storage for an image gallery.
Ожидаемый результат:
- Backend: add the mops dependency and include the storage mixin in the main actor.
- Data model: store each image as ExternalBlob with filename and MIME type.
- Frontend: convert selected files to bytes, upload with progress, and render cached direct URLs.
Использование «extension-object-storage». Explain why every upload returns a 403 payload error.
Ожидаемый результат:
The backend package or storage mixin is probably missing. Verify both dependencies, remove custom reserved methods, rebuild, and redeploy the backend.
Использование «extension-object-storage». Review my document download approach.
Ожидаемый результат:
Use direct URLs for inline viewing. Fetch bytes for named downloads, preserve stored filenames, and revoke temporary browser URLs after use.
Аудит безопасности
БезопасноAll 64 static findings are false positives. The backtick detections are Markdown inline code or fences, the URL is documentation, and reconnaissance matches are troubleshooting text. No shell execution, dynamic commands, malicious network behavior, prompt injection, or intent-level abuse appears in SKILL.md.
Факторы риска
⚙️ Внешние команды (50)
🌐 Доступ к сети (1)
Поделиться и цитировать этот отчет
Делитесь версионным отчетом об оценке, нейтральным значком, встраиваемой карточкой и цитатами. Skillstore публикует доказательства, не решая, безопасен ли этот Skill.
Копировать ссылку на отчёт
https://skillstore.io/skills/caffeinelabs-extension-object-storage/audits/1?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_reportЗначок Markdown
[](https://skillstore.io/skills/caffeinelabs-extension-object-storage?utm_source=security_passport_badge)Значок HTML
<a href="https://skillstore.io/skills/caffeinelabs-extension-object-storage?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/caffeinelabs-extension-object-storage/security.svg" alt="Skillstore security assessment" loading="lazy"></a>Встраиваемая карточка
<iframe src="https://skillstore.io/embed/skills/caffeinelabs-extension-object-storage.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>Академические ссылки (APA · BibTeX · CFF)
Цитата APA
caffeinelabs. (2026). extension-object-storage security audit report (audit version 1) [Author version 1.1.0]. Skillstore. https://skillstore.io/skills/caffeinelabs-extension-object-storage/audits/1Цитата BibTeX
@techreport{caffeinelabs-caffeinelabs-extension-object-storage-2026,
author = {caffeinelabs},
title = {extension-object-storage security audit report (audit version 1)},
institution = {Skillstore},
year = {2026},
number = {1},
url = {https://skillstore.io/skills/caffeinelabs-extension-object-storage/audits/1},
note = {Author version 1.1.0}
}CITATION.cff
cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "extension-object-storage security audit report (audit version 1)"
version: "1.1.0"
type: report
authors:
- name: "caffeinelabs"
date-released: "2026-07-23"
url: "https://skillstore.io/skills/caffeinelabs-extension-object-storage/audits/1"
identifiers:
- type: other
value: "skillstore:caffeinelabs-extension-object-storage:audit:1"
description: "Skillstore immutable audit report identifier"
Оценка Skillstore
Почему такая оценка Достоверность доказательств: СреднийЧто вы можете построить
Build a media gallery
Add image and video uploads, cached display, progress reporting, and persistent file metadata.
Deliver stored documents
Create inline previews and named downloads from ExternalBlob records without storing file bytes in canisters.
Repair failed uploads
Trace 403 responses to missing dependencies, absent mixins, incorrect data types, or invalid reserved method signatures.
Попробуйте эти промпты
Review my Caffeine AI project and list the required backend and frontend steps for object storage. Identify files that need changes.
Create an upload flow using ExternalBlob.fromBytes with filename, MIME type, and progress. Store the ExternalBlob reference in my Motoko record.
Implement inline media display with getDirectURL and named downloads with getBytes. Use stored MIME type or filename for file classification.
Audit my object storage integration for dependency, type, mixin, signature, and gateway errors. Explain each problem and propose precise corrections.
Лучшие практики
- Store file references as Storage.ExternalBlob and retain filename plus MIME type as separate metadata.
- Install compatible backend and frontend packages together, then rebuild and redeploy after backend changes.
- Use direct URLs for inline media and byte downloads when the original filename must be preserved.
Избегать
- Do not store object references as text or implement reserved storage methods manually.
- Do not infer media types from opaque gateway URLs.
- Do not accept arbitrary uploads without application-level authorization, validation, size limits, and content controls.
Часто задаваемые вопросы
Where are uploaded file bytes stored?
Which dependencies are required?
Can this handle large files?
Why do uploads return 403 Invalid payload?
How should files be displayed or downloaded?
Does the skill secure uploaded content?
Сведения для разработчиков
Автор
caffeinelabsЛицензия
MIT
Версия автора
v1.1.0
Ревизия Skillstore
r1
Ссылка
f32f934280aa94e399d875d7cf7b2ed16d1b82a3
Актуальность поддержки
23.07.2026
Использование
2 загрузок · 0 просмотров
Структура файлов
📄 SKILL.md