update-aegis — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited update-aegis (Agent Skill) and scored it 45/100 (orange). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 2 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 2 flagged
A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.
*.sig, SIGNATURES) outside the documentation.A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.
*.sig, SIGNATURES) outside the documentation.Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Update the installed Aegis Method Pack for the current AI coding host.
This skill is host maintenance. Do not edit the target project just because the user asked to update Aegis.
aegis:update updates the current host's registered Aegis installation.--all request.ask one concrete question before updating.
separate path.
updateMode, but this skill only performs explicit user-triggered updates.
From the installed method-pack root, inspect the host-scoped registry:
python scripts/aegis-update.py status --jsonIf the registry is missing, register the current host before updating. Use the host's install guide and actual discovery path rather than guessing.
If ~/.config/aegis/config.toml already declares method_pack_root, prefer that canonical root when registering additional hosts. Host-specific discovery paths, copied skill directories, plugin caches, or adapter payloads should be treated as generated / host-managed views into the same Aegis body, not as separate editable checkouts.
Codex example:
python scripts/aegis-update.py register \
--host codex \
--sync-mode junction \
--discovery-root ~/.agents/skills/aegis \
--reload-hint "restart Codex"Copy-based host example:
python scripts/aegis-update.py register \
--host codebuddy \
--sync-mode copy-skills \
--discovery-root ~/.codebuddy/skills \
--reload-hint "restart CodeBuddy"Copy synchronization uses the installation registry's scoped file inventory. It preserves unrelated files and local edits, and stops on conflicting writes before changing the view. An identical legacy copy can be adopted; a differing copy needs reconciliation or a separate discovery root. Unknown stale copies are retained. Names and prefixes alone never prove ownership; do not delete them to make verification pass. Source names that collide under Unicode normalization/case folding are rejected for portability. A case-only rename with changed contents can require moving the conflicting file to a backup outside the discovery root, or selecting a separate root. Preserve existing files during reconciliation.
Prefixed direct-child host example:
python scripts/aegis-update.py register \
--host copilot \
--sync-mode junction \
--discovery-shape direct-child \
--discovery-root <target-repo>/.github/skills \
--discovery-name-prefix aegis- \
--reload-hint "restart Copilot session or reopen the repository"Kimi Code CLI automatic installations are plugin-managed. Do not use the Aegis updater against Kimi's managed plugin copy. In Kimi, run the native update or reinstall flow, verify the selected managed plugin, then reload:
/plugins install https://github.com/GanyuanRan/Aegis
/plugins info aegis
/reloadIf Kimi requires confirmation or removal before replacing the managed copy, follow its exact plugin-manager prompt. Then locate the managed root from /plugins info aegis and run:
cd <aegis-method-pack-root>
python scripts/aegis-doctor.py --json --host-profile kimi-code-autoKimi Code CLI Explicit Compatibility Installation example:
python scripts/aegis-update.py register \
--host kimi-code \
--sync-mode junction \
--reload-hint "restart Kimi Code CLI"When --discovery-root is omitted for kimi, kimi-code, or kimi-code-cli, the updater uses $KIMI_CODE_HOME/skills or, when KIMI_CODE_HOME is unset, ~/.kimi-code/skills. Use this updater path only when the Aegis Kimi plugin is disabled or uninstalled and the user has selected explicit compatibility mode.
Plugin-managed hosts can be registered, but the updater reports that the host plugin manager owns the update path:
python scripts/aegis-update.py register \
--host opencode \
--sync-mode plugin-managed \
--reload-hint "restart OpenCode"Current or explicitly selected host:
python scripts/aegis-update.py update --host <host> --jsonAll registered hosts, only when the user explicitly asks for all-host update:
python scripts/aegis-update.py update --all --jsonPreview without touching files:
python scripts/aegis-update.py update --host <host> --dry-run --jsonIf the installed checkout has local changes, do not overwrite them. Either ask the user how to proceed or, with explicit permission, preserve them with:
python scripts/aegis-update.py update --host <host> --stash --jsonTreat the update as complete only when the updater reports the selected host and the post-update doctor verification succeeds. For link-based discovery roots (junction, symlink, or repo-only), the updater passes discoveryRoot through to aegis-doctor.py --discovery-root; when a registered direct-child view declares discoveryNamePrefix, the updater also passes --discovery-name-prefix. For copy-based hosts, it verifies that copied Aegis skill directories exist after the copy step, then runs doctor against the method-pack root.
When multiple registered hosts share the same methodPackRoot, the updater now reuses a single method-pack checkout update and then refreshes each host's exposure or verification path separately.
Report:
If the updater skips a plugin-managed host, state that the host plugin manager owns the update path and give the reload or reinstall hint.
For Kimi automatic installations, completion also requires /plugins info aegis, /reload or /new, the kimi-code-auto doctor profile, and the host-native automatic-entry checks from docs/README.kimi-code.md. File discovery or a generic doctor result alone is not sufficient.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.