{
  "name": "canister-audit",
  "title": "Canister Audit",
  "category": "Security",
  "description": "Audit an existing Internet Computer Rust canister (ic-cdk) for security flaws and PROVE a confirmed one with a PocketIC reproduction. Covers detecting the canister, a high-recall static first pass, a systematic review against the canister-security pitfalls, and the distinctive step: building the canister to wasm and executing the exploit in PocketIC to turn a suspected flaw into a demonstrated one. Use when reviewing or auditing a canister you did NOT write, or proving a finding before you report it. Complements canister-security (which teaches the secure patterns); this one finds and proves violations of them.",
  "license": "Apache-2.0",
  "compatibility": "a Rust ic-cdk canister repo (ic-cdk >= 0.18); cargo + the wasm32-unknown-unknown target; the pocket-ic crate (16.x) for the proof step, which downloads its matching server; Semgrep and cargo-audit optional",
  "updated": "2026-11-13T06:20:20.000Z",
  "urls": {
    "html": "https://skills.internetcomputer.org/skills/canister-audit/",
    "markdown": "https://skills.internetcomputer.org/.well-known/skills/canister-audit/SKILL.md",
    "json": "https://skills.internetcomputer.org/api/skills/canister-audit.json",
    "source": "https://github.com/dfinity/icskills/blob/ad2900d88ddb931d2f75c188a2d037d32f501bbd/skills/canister-audit/SKILL.md"
  },
  "publisher": {
    "name": "DFINITY Foundation",
    "url": "https://dfinity.org"
  },
  "canonicalRepo": {
    "name": "dfinity/icskills",
    "url": "https://github.com/dfinity/icskills"
  }
}
