[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CAMAAGSNSN2QRT312V2WC9":3,"skill-same:01M6CAMAAGSNSN2QRT312V2WC9":89},{"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":51,"linkOnly":52,"markdownContent":53,"markdownBody":54,"frontMatter":55,"refName":59,"commitSha":60,"skillDirectory":61,"forksCount":62,"repositoryHtmlUrl":63,"repositoryHomepageUrl":64,"ownerHtmlUrl":65,"ownerBlogUrl":66,"ownerDescription":67,"updatedAt":68,"install":69,"resources":82},"01M6CAMAAGSNSN2QRT312V2WC9","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\u002Fplugins\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,49,50],"supply chain audit","supply","chain","audit","cargo","cargo supply chain audit","supply chain","publishing","source","lock","io","cargo deny","cargo audit","publisher","info","checksum","review","dependency","diff","json","provenance","supply-chain","metadata","verification","release","rust","policy","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":56,"platforms":57,"description":7},"aiwg",[58],"all","main","6754967c344ccb087a8de06972f55a41067b291b","agentic\u002Fcode\u002Fplugins\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 00:33:10",{"source":8,"skillName":5,"commands":70,"prompt":80,"zipAvailable":81},[71,74,77],{"tool":72,"command":73},"npx","npx skills add jmagly\u002Faiwg --skill cargo-supply-chain-audit",{"tool":75,"command":76},"bunx","bunx skills add jmagly\u002Faiwg --skill cargo-supply-chain-audit",{"tool":78,"command":79},"pnpm","pnpm dlx skills add jmagly\u002Faiwg --skill cargo-supply-chain-audit","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fsecurity-engineering\u002Fskills\u002Fcargo-supply-chain-audit\u002FSKILL.md",true,[83],{"path":84,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":87,"sourceHtmlUrl":88},"integration-patterns.md","REFERENCE","参考文档",9246,"https:\u002F\u002Fgithub.com\u002Fboisenoise\u002Fskills-collections\u002Fblob\u002Fmain\u002Fskills\u002Faws-api-gateway\u002Fintegration-patterns.md",[90,116,140,146,153,167],{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":97,"publishedAt":51},"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",[96],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[98,99,100,101,102,103,104,105,106,47,107,108,109,110,27,111,112,113,114,115],"host","host hardening","hardening","read","re","recommendations","remediation","plan","port","Bash","access","only","retention","never","firewall","bind","secrets","request",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":126,"publishedAt":51},"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",[122,125],{"categoryNo":123,"categoryName":124,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[127,128,129,101,130,106,131,132,107,133,98,134,109,135,136,111,112,137,138,139],"exposure analysis","analysis","unknown","credentials","collection","ufw","ports","internet","local","scope","reconstruction","operator","write",{"skillNo":141,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":145,"publishedAt":51},"01M70P8QATMPKA78E4FT5D2TNA","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[144],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[100,98,99,108,101,115,104,103,27,105,106,47,107,114,109,110,102,111,112,113],{"skillNo":147,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":152,"publishedAt":51},"01M70NMPVJ5H0JH131P60FW4R8","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[150,151],{"categoryNo":123,"categoryName":124,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[128,127,111,130,106,131,107,129,98,134,109,135,136,101,112,133,132,137,138,139],{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":160,"publishedAt":51},"01M6CB4DDR0B4NNCFK7ZK7449H","fixture-skill","Exercise rule delivery.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Frule-delivery\u002Fskills\u002Ffixture-skill\u002FSKILL.md",[159],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[161,162,163,164,165,166],"fixture skill","fixture","rule","delivery","true","exercise",{"skillNo":168,"name":169,"nameZh":6,"description":170,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":171,"categories":172,"keywords":174,"publishedAt":51},"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",[173],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[175,176,135,177,162],"pi","pi local","duplicate"]