[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C2EBEWCGTSHRNZH8MF9XT6":3,"skill-same:01M6C2EBEWCGTSHRNZH8MF9XT6":87},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":62,"ownerHtmlUrl":63,"ownerBlogUrl":64,"ownerDescription":65,"updatedAt":66,"install":67,"resources":80},"01M6C2EBEWCGTSHRNZH8MF9XT6","cargo-supply-chain-audit",null,"Audit Rust\u002FCargo crates for supply-chain exposure: crates.io metadata + checksum verification against Cargo.lock, .crate tarball hash and .cargo_vcs_info.json provenance, previous-vs-patched .crate source diff, Cargo.toml dependency + build-script review, cargo audit \u002F cargo deny \u002F cargo vet trust policy, and publisher \u002F trusted-publishing \u002F yank \u002F release-anomaly checks.","jmagly\u002Faiwg","jmagly","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1159087?v=4","01M6C10AK8N2WCSQN11FYGTJWN","Joseph Magly","01M6C10AQ8A2RMED1Y1BSVY7NF",229,"MIT","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fcargo-supply-chain-audit\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"cargo supply chain audit","supply chain audit","supply","chain","cargo","supply chain","audit","publisher","policy","source","lock","rust","release","io","verification","cargo deny","cargo audit","info","metadata","review","dependency","diff","json","provenance","supply-chain","2026-11-10 10:12:30",false,"---\nnamespace: aiwg\nname: cargo-supply-chain-audit\nplatforms: [all]\ndescription: \"Audit Rust\u002FCargo crates for supply-chain exposure: crates.io metadata + checksum verification against Cargo.lock, .crate tarball hash and .cargo_vcs_info.json provenance, previous-vs-patched .crate source diff, Cargo.toml dependency + build-script review, cargo audit \u002F cargo deny \u002F cargo vet trust policy, and publisher \u002F trusted-publishing \u002F yank \u002F release-anomaly checks.\"\n---\n\n# cargo-supply-chain-audit\n\nUse this skill when reviewing a **Rust \u002F Cargo** project or a specific\n**crates.io** crate for supply-chain exposure: compromised crate maintainer\nrisk, malicious `build.rs` or `proc-macro` execution at build time, dependency\nor checksum tampering, or a yank\u002Frelease anomaly. This is the Cargo\u002FRust\ncounterpart to `npm-supply-chain-audit` — reach for it whenever the artifact\nunder review is a crate, not an npm package.\n\n## Triggers\n\n- \"cargo crate supply chain audit\"\n- \"crates.io supply chain\"\n- \"rust dependency audit\"\n- \"malicious crate\" \u002F \"compromised crate\"\n- \"cargo audit\" \u002F \"cargo deny\" \u002F \"cargo vet\"\n- \"build.rs review\" \u002F \"proc-macro supply chain\"\n- \"Cargo.lock checksum verification\"\n- \".crate tarball provenance\"\n\n## Audit sequence\n\n### 1. Dependency + checksum verification (against `Cargo.lock`)\n\n`Cargo.lock` pins each dependency to a version **and** a registry checksum.\nVerify the lockfile is present, committed, and internally consistent:\n\n```bash\n# Lockfile must exist and be committed (binaries always; libraries when pinning matters)\ntest -f Cargo.lock || echo \"MISSING Cargo.lock — no checksum pinning\"\n\n# Re-verify every dependency against its recorded checksum without building\ncargo verify-project\ncargo fetch --locked            # fails if Cargo.lock would change (drift \u002F tampering)\n\n# Inspect the pinned source + checksum for a specific crate\ngrep -A3 'name = \"\u003Ccrate>\"' Cargo.lock\n```\n\nEscalate:\n\n- `Cargo.lock` missing or not committed for a binary\u002Fdeployable.\n- `cargo fetch --locked` reports the lockfile would change (unpinned drift).\n- A dependency `source` is a **git** URL or `path` override instead of\n  `registry+https:\u002F\u002Fgithub.com\u002Frust-lang\u002Fcrates.io-index` — git\u002Fpath deps\n  bypass the registry checksum + yank machinery (the Cargo analog of npm's\n  `git+`\u002F`file:` exotic sources).\n\n### 2. `.crate` tarball hash + provenance (`.cargo_vcs_info.json`)\n\nA published `.crate` is a gzipped tarball. Verify its hash matches what\n`Cargo.lock` \u002F crates.io records, and inspect the embedded VCS provenance:\n\n```bash\n# Download the exact published artifact\ncurl -sSL -o \u003Ccrate>-\u003Cver>.crate \\\n  \"https:\u002F\u002Fcrates.io\u002Fapi\u002Fv1\u002Fcrates\u002F\u003Ccrate>\u002F\u003Cver>\u002Fdownload\"\n\n# SHA-256 must match the checksum recorded in Cargo.lock for this version\nsha256sum \u003Ccrate>-\u003Cver>.crate\n\n# Inspect commit provenance baked in at publish time\ntar -xzf \u003Ccrate>-\u003Cver>.crate\ncat \u003Ccrate>-\u003Cver>\u002F.cargo_vcs_info.json    # { \"git\": { \"sha1\": \"\u003Ccommit>\" }, \"path_in_vcs\": \"\" }\n```\n\nEscalate:\n\n- `.crate` SHA-256 does not match the `Cargo.lock` checksum (artifact tampering).\n- Missing or mismatched `.cargo_vcs_info.json` — the published source can't be\n  tied back to a repository commit.\n- The recorded `sha1` does not exist in the upstream repo, or the repo tag for\n  this version was force-moved.\n\n### 3. Previous-vs-patched source diff\n\nFor a version bump (especially a patch release of a transitive dependency),\ndiff the actual published sources — not just the repo — because crates.io\npublishes a snapshot that can differ from the tagged commit:\n\n```bash\n# Extract both versions' .crate sources and diff\ntar -xzf \u003Ccrate>-\u003Cold>.crate && tar -xzf \u003Ccrate>-\u003Cnew>.crate\ndiff -ru \u003Ccrate>-\u003Cold>\u002F \u003Ccrate>-\u003Cnew>\u002F | less\n\n# Focus on the high-risk surfaces first\ndiff -ru \u003Ccrate>-\u003Cold>\u002Fbuild.rs \u003Ccrate>-\u003Cnew>\u002Fbuild.rs 2>\u002Fdev\u002Fnull\ndiff -ru \u003Ccrate>-\u003Cold>\u002FCargo.toml \u003Ccrate>-\u003Cnew>\u002FCargo.toml\n```\n\nEscalate any diff that adds: network calls, process spawns, filesystem writes\noutside `OUT_DIR`, new `build.rs`, new `proc-macro` crates, base64\u002Fhex blobs, or\nobfuscated string assembly.\n\n### 4. `Cargo.toml` dependency + build-script review\n\n`build.rs` and procedural macros execute **arbitrary code at build time** —\nthe Cargo analog of npm lifecycle scripts and the primary install-time\nexecution vector:\n\n```bash\n# Does the crate run a build script or ship proc-macros?\ngrep -nE '^build\\s*=|\\[build-dependencies\\]|proc-macro\\s*=\\s*true' Cargo.toml\nfind . -name build.rs -not -path '.\u002Ftarget\u002F*'\n\n# Read every build.rs in the dependency tree, not just the top crate\ncargo tree -e build,normal --prefix depth | grep -i build\n```\n\nEscalate:\n\n- A `build.rs` that does anything beyond codegen \u002F linking into `OUT_DIR`\n  (network, exec, writing outside `OUT_DIR`, reading secrets\u002Fenv beyond\n  documented `CARGO_*`\u002F`OUT_DIR`).\n- New `[build-dependencies]` or `proc-macro = true` crates introduced in a\n  patch release.\n- Feature unification pulling an unexpected crate into the build.\n\n### 5. Trust-policy tooling: `cargo audit` \u002F `cargo deny` \u002F `cargo vet`\n\n```bash\n# Known-vulnerability scan against RustSec advisory DB\ncargo audit                      # fails on advisories; `cargo audit fix` for patches\n\n# Policy gate: licenses, bans, advisories, exotic sources, duplicate versions\ncargo deny check                 # bans, advisories, licenses, sources\n\n# Supply-chain trust: require human\u002Forg review of each crate+version\ncargo vet                        # fails on un-vetted crates; `cargo vet certify` to record review\n```\n\nEscalate:\n\n- `cargo audit` advisories (especially `code-execution`\u002F`memory-corruption`).\n- `cargo deny` `sources` violations (non-crates.io registries, unexpected git).\n- `cargo vet` reports a new un-vetted crate\u002Fversion in a project that maintains\n  a vet trust policy (`supply-chain\u002Fconfig.toml`).\n\n### 6. Publisher \u002F trusted-publishing \u002F yank \u002F release-anomaly checks\n\n```bash\n# Crate + version metadata: owners, publish time, yank state\ncurl -sSL \"https:\u002F\u002Fcrates.io\u002Fapi\u002Fv1\u002Fcrates\u002F\u003Ccrate>\" | jq '{owners: .crate.id, versions: [.versions[] | {num, yanked, created_at, published_by: .published_by.login}]}'\n```\n\nEscalate:\n\n- Version published by an account that is **not** an established owner\n  (compromised-maintainer signal — the crates.io analog of npm trusted\n  publishing review).\n- A previously-yanked version un-yanked, or a rapid patch following a yank.\n- Publish timestamp anomaly (off-hours burst, version published far ahead of\n  the corresponding repo tag).\n\n## Incident-response trigger\n\nIf any escalation in steps 2–6 confirms tampering or malicious build-time code,\ntreat it as an active supply-chain incident: pin\u002Fyank-avoid the affected\nversion in `Cargo.lock`, run `cargo deny`\u002F`cargo audit` across the whole\nworkspace, and route to the forensics framework for evidence handling. See\n`supply-chain-trust` for the cross-ecosystem hardening model.\n\n## Output format\n\nProduce a findings report with: crate + version under review, each step's\nverdict (pass \u002F escalate), the exact command output backing each verdict, and a\ngo \u002F no-go recommendation for adopting the version.\n\n## References\n\n- `npm-supply-chain-audit` — the npm counterpart (same threat model, JS ecosystem)\n- `supply-chain-trust` — cross-ecosystem reproducible-build + dependency-pinning model\n- `dependency-source-policy` rule — exotic-source prohibition (git\u002Fpath bypass registry checksums)\n- RustSec advisory DB: \u003Chttps:\u002F\u002Frustsec.org\u002F>; `cargo vet`: \u003Chttps:\u002F\u002Fmozilla.github.io\u002Fcargo-vet\u002F>\n","# cargo-supply-chain-audit\n\nUse this skill when reviewing a **Rust \u002F Cargo** project or a specific\n**crates.io** crate for supply-chain exposure: compromised crate maintainer\nrisk, malicious `build.rs` or `proc-macro` execution at build time, dependency\nor checksum tampering, or a yank\u002Frelease anomaly. This is the Cargo\u002FRust\ncounterpart to `npm-supply-chain-audit` — reach for it whenever the artifact\nunder review is a crate, not an npm package.\n\n## Triggers\n\n- \"cargo crate supply chain audit\"\n- \"crates.io supply chain\"\n- \"rust dependency audit\"\n- \"malicious crate\" \u002F \"compromised crate\"\n- \"cargo audit\" \u002F \"cargo deny\" \u002F \"cargo vet\"\n- \"build.rs review\" \u002F \"proc-macro supply chain\"\n- \"Cargo.lock checksum verification\"\n- \".crate tarball provenance\"\n\n## Audit sequence\n\n### 1. Dependency + checksum verification (against `Cargo.lock`)\n\n`Cargo.lock` pins each dependency to a version **and** a registry checksum.\nVerify the lockfile is present, committed, and internally consistent:\n\n```bash\n# Lockfile must exist and be committed (binaries always; libraries when pinning matters)\ntest -f Cargo.lock || echo \"MISSING Cargo.lock — no checksum pinning\"\n\n# Re-verify every dependency against its recorded checksum without building\ncargo verify-project\ncargo fetch --locked            # fails if Cargo.lock would change (drift \u002F tampering)\n\n# Inspect the pinned source + checksum for a specific crate\ngrep -A3 'name = \"\u003Ccrate>\"' Cargo.lock\n```\n\nEscalate:\n\n- `Cargo.lock` missing or not committed for a binary\u002Fdeployable.\n- `cargo fetch --locked` reports the lockfile would change (unpinned drift).\n- A dependency `source` is a **git** URL or `path` override instead of\n  `registry+https:\u002F\u002Fgithub.com\u002Frust-lang\u002Fcrates.io-index` — git\u002Fpath deps\n  bypass the registry checksum + yank machinery (the Cargo analog of npm's\n  `git+`\u002F`file:` exotic sources).\n\n### 2. `.crate` tarball hash + provenance (`.cargo_vcs_info.json`)\n\nA published `.crate` is a gzipped tarball. Verify its hash matches what\n`Cargo.lock` \u002F crates.io records, and inspect the embedded VCS provenance:\n\n```bash\n# Download the exact published artifact\ncurl -sSL -o \u003Ccrate>-\u003Cver>.crate \\\n  \"https:\u002F\u002Fcrates.io\u002Fapi\u002Fv1\u002Fcrates\u002F\u003Ccrate>\u002F\u003Cver>\u002Fdownload\"\n\n# SHA-256 must match the checksum recorded in Cargo.lock for this version\nsha256sum \u003Ccrate>-\u003Cver>.crate\n\n# Inspect commit provenance baked in at publish time\ntar -xzf \u003Ccrate>-\u003Cver>.crate\ncat \u003Ccrate>-\u003Cver>\u002F.cargo_vcs_info.json    # { \"git\": { \"sha1\": \"\u003Ccommit>\" }, \"path_in_vcs\": \"\" }\n```\n\nEscalate:\n\n- `.crate` SHA-256 does not match the `Cargo.lock` checksum (artifact tampering).\n- Missing or mismatched `.cargo_vcs_info.json` — the published source can't be\n  tied back to a repository commit.\n- The recorded `sha1` does not exist in the upstream repo, or the repo tag for\n  this version was force-moved.\n\n### 3. Previous-vs-patched source diff\n\nFor a version bump (especially a patch release of a transitive dependency),\ndiff the actual published sources — not just the repo — because crates.io\npublishes a snapshot that can differ from the tagged commit:\n\n```bash\n# Extract both versions' .crate sources and diff\ntar -xzf \u003Ccrate>-\u003Cold>.crate && tar -xzf \u003Ccrate>-\u003Cnew>.crate\ndiff -ru \u003Ccrate>-\u003Cold>\u002F \u003Ccrate>-\u003Cnew>\u002F | less\n\n# Focus on the high-risk surfaces first\ndiff -ru \u003Ccrate>-\u003Cold>\u002Fbuild.rs \u003Ccrate>-\u003Cnew>\u002Fbuild.rs 2>\u002Fdev\u002Fnull\ndiff -ru \u003Ccrate>-\u003Cold>\u002FCargo.toml \u003Ccrate>-\u003Cnew>\u002FCargo.toml\n```\n\nEscalate any diff that adds: network calls, process spawns, filesystem writes\noutside `OUT_DIR`, new `build.rs`, new `proc-macro` crates, base64\u002Fhex blobs, or\nobfuscated string assembly.\n\n### 4. `Cargo.toml` dependency + build-script review\n\n`build.rs` and procedural macros execute **arbitrary code at build time** —\nthe Cargo analog of npm lifecycle scripts and the primary install-time\nexecution vector:\n\n```bash\n# Does the crate run a build script or ship proc-macros?\ngrep -nE '^build\\s*=|\\[build-dependencies\\]|proc-macro\\s*=\\s*true' Cargo.toml\nfind . -name build.rs -not -path '.\u002Ftarget\u002F*'\n\n# Read every build.rs in the dependency tree, not just the top crate\ncargo tree -e build,normal --prefix depth | grep -i build\n```\n\nEscalate:\n\n- A `build.rs` that does anything beyond codegen \u002F linking into `OUT_DIR`\n  (network, exec, writing outside `OUT_DIR`, reading secrets\u002Fenv beyond\n  documented `CARGO_*`\u002F`OUT_DIR`).\n- New `[build-dependencies]` or `proc-macro = true` crates introduced in a\n  patch release.\n- Feature unification pulling an unexpected crate into the build.\n\n### 5. Trust-policy tooling: `cargo audit` \u002F `cargo deny` \u002F `cargo vet`\n\n```bash\n# Known-vulnerability scan against RustSec advisory DB\ncargo audit                      # fails on advisories; `cargo audit fix` for patches\n\n# Policy gate: licenses, bans, advisories, exotic sources, duplicate versions\ncargo deny check                 # bans, advisories, licenses, sources\n\n# Supply-chain trust: require human\u002Forg review of each crate+version\ncargo vet                        # fails on un-vetted crates; `cargo vet certify` to record review\n```\n\nEscalate:\n\n- `cargo audit` advisories (especially `code-execution`\u002F`memory-corruption`).\n- `cargo deny` `sources` violations (non-crates.io registries, unexpected git).\n- `cargo vet` reports a new un-vetted crate\u002Fversion in a project that maintains\n  a vet trust policy (`supply-chain\u002Fconfig.toml`).\n\n### 6. Publisher \u002F trusted-publishing \u002F yank \u002F release-anomaly checks\n\n```bash\n# Crate + version metadata: owners, publish time, yank state\ncurl -sSL \"https:\u002F\u002Fcrates.io\u002Fapi\u002Fv1\u002Fcrates\u002F\u003Ccrate>\" | jq '{owners: .crate.id, versions: [.versions[] | {num, yanked, created_at, published_by: .published_by.login}]}'\n```\n\nEscalate:\n\n- Version published by an account that is **not** an established owner\n  (compromised-maintainer signal — the crates.io analog of npm trusted\n  publishing review).\n- A previously-yanked version un-yanked, or a rapid patch following a yank.\n- Publish timestamp anomaly (off-hours burst, version published far ahead of\n  the corresponding repo tag).\n\n## Incident-response trigger\n\nIf any escalation in steps 2–6 confirms tampering or malicious build-time code,\ntreat it as an active supply-chain incident: pin\u002Fyank-avoid the affected\nversion in `Cargo.lock`, run `cargo deny`\u002F`cargo audit` across the whole\nworkspace, and route to the forensics framework for evidence handling. See\n`supply-chain-trust` for the cross-ecosystem hardening model.\n\n## Output format\n\nProduce a findings report with: crate + version under review, each step's\nverdict (pass \u002F escalate), the exact command output backing each verdict, and a\ngo \u002F no-go recommendation for adopting the version.\n\n## References\n\n- `npm-supply-chain-audit` — the npm counterpart (same threat model, JS ecosystem)\n- `supply-chain-trust` — cross-ecosystem reproducible-build + dependency-pinning model\n- `dependency-source-policy` rule — exotic-source prohibition (git\u002Fpath bypass registry checksums)\n- RustSec advisory DB: \u003Chttps:\u002F\u002Frustsec.org\u002F>; `cargo vet`: \u003Chttps:\u002F\u002Fmozilla.github.io\u002Fcargo-vet\u002F>\n",{"name":5,"namespace":54,"platforms":55,"description":7},"aiwg",[56],"all","main","6754967c344ccb087a8de06972f55a41067b291b","agentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fcargo-supply-chain-audit",36,"https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg","https:\u002F\u002Faiwg.io","https:\u002F\u002Fgithub.com\u002Fjmagly","https:\u002F\u002Fintegrolabs.io","ml\u002Fai, industrial automation, safety\u002Fsecurity, ssi\r\n\r\nmagly.net\r\nintegrolabs.io\r\naiwg.io\r\nfortemi.com\r\npagenary.com\r\nbytecask.com","2026-11-12 21:57:33",{"source":8,"skillName":5,"commands":68,"prompt":78,"zipAvailable":79},[69,72,75],{"tool":70,"command":71},"npx","npx skills add jmagly\u002Faiwg --skill cargo-supply-chain-audit",{"tool":73,"command":74},"bunx","bunx skills add jmagly\u002Faiwg --skill cargo-supply-chain-audit",{"tool":76,"command":77},"pnpm","pnpm dlx skills add jmagly\u002Faiwg --skill cargo-supply-chain-audit","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fcargo-supply-chain-audit\u002FSKILL.md",true,[81],{"path":82,"resourceType":83,"resourceTypeDesc":84,"sizeBytes":85,"sourceHtmlUrl":86},"references\u002F02-review-report-template.md","REFERENCE","参考文档",271,"https:\u002F\u002Fgithub.com\u002FNharu\u002Fcc-cmds\u002Fblob\u002Fmaster\u002Ftests\u002Ffixtures\u002Flint-team-model-tier-pins\u002FT-TIER-FAIL-2\u002Freview\u002Freferences\u002F02-review-report-template.md",[88,114,138,144,151,165],{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":95,"publishedAt":49},"01M70QA0BSYJ49EES9V4RE8QH1","host-hardening","Read-only system hardening baseline and plan-first host hardening recommendations for SSH, Docker bind addresses, firewall persistence, datastores, exporters and audit retention.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[94],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[96,97,98,99,100,101,102,103,104,38,105,106,107,108,30,109,110,111,112,113],"host","host hardening","hardening","read","re","recommendations","remediation","plan","port","Bash","access","only","retention","never","firewall","bind","secrets","request",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":124,"publishedAt":49},"01M70PNT2Z4HMZPRBTAF6073NN","exposure-analysis","Read-only firewall analysis and effective host exposure reconstruction for Docker published ports, UFW bypass, stale rules, CDN scope, IPv6 asymmetry and external probe allowlists.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fforensics\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[120,123],{"categoryNo":121,"categoryName":122,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[125,126,127,99,128,104,129,130,105,131,96,132,107,133,134,109,110,135,136,137],"exposure analysis","analysis","unknown","credentials","collection","ufw","ports","internet","local","scope","reconstruction","operator","write",{"skillNo":139,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":143,"publishedAt":49},"01M70P8QATMPKA78E4FT5D2TNA","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[142],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[98,96,97,106,99,113,102,101,30,103,104,38,105,112,107,108,100,109,110,111],{"skillNo":145,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":150,"publishedAt":49},"01M70NMPVJ5H0JH131P60FW4R8","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[148,149],{"categoryNo":121,"categoryName":122,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[126,125,109,128,104,129,105,127,96,132,107,133,134,99,110,131,130,135,136,137],{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":158,"publishedAt":49},"01M6CB4DDR0B4NNCFK7ZK7449H","fixture-skill","Exercise rule delivery.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Frule-delivery\u002Fskills\u002Ffixture-skill\u002FSKILL.md",[157],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[159,160,161,162,163,164],"fixture skill","fixture","rule","delivery","true","exercise",{"skillNo":166,"name":167,"nameZh":6,"description":168,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":169,"categories":170,"keywords":172,"publishedAt":49},"01M6CB4AVK1W76MFMPP0JP32CJ","pi-local","Pi-local duplicate-precedence fixture.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fproviders\u002Fpi\u002Fproject\u002F.pi\u002Fskills\u002Fpi-local\u002FSKILL.md",[171],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[173,174,133,175,160],"pi","pi local","duplicate"]