{
  "_id": "6aac327d3d719c1f84070976",
  "Package": "pkgaudit",
  "Title": "Static Analysis Security Testing (SAST) for R Packages",
  "Version": "0.4.0",
  "Authors@R": "person(\"Tyler\", \"Smith\", , \"tylerjssmith@gmail.com\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0003-4692-2206\"))",
  "Description": "A static analysis tool that flags security-relevant files\nand code in R source packages for human review without\nexecuting anything it scans. Models package lifecycle execution\nsemantics -- it reports not just what a package does, but when\nit runs, so code that executes on install or load is\ndistinguishable from code that runs only when called. Reads\nevery surface a package can execute, including 'configure'\nscripts, help-file macros, and vignettes, and states what it\ncould not read, so a clean result can be checked rather than\ntrusted. Detection rules are data, shipped in a versioned and\nhash-verified 'SQLite' database.",
  "License": "Apache License (>= 2)",
  "URL": "https://github.com/tylerjssmith/pkgaudit,\nhttps://tylerjssmith.github.io/pkgaudit/",
  "BugReports": "https://github.com/tylerjssmith/pkgaudit/issues",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "Roxygen": "list(markdown = TRUE)",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Config/roxygen2/version": "8.1.0",
  "Config/Needs/website": "pkgdown",
  "Config/Needs/coverage": "covr",
  "Config/pak/sysreqs": "libxml2-dev",
  "Repository": "https://ropensci-staging.r-universe.dev",
  "Date/Publication": "2026-09-17 14:29:24 UTC",
  "RemoteUrl": "https://github.com/tylerjssmith/pkgaudit",
  "RemoteRef": "HEAD",
  "RemoteSha": "4279f8f5d42300ba9cc860db490392af2ca64b2f",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-09-17 18:29:37 UTC",
    "User": "root"
  },
  "Author": "Tyler Smith [aut, cre] (ORCID: <https://orcid.org/0000-0003-4692-2206>)",
  "Maintainer": "Tyler Smith <tylerjssmith@gmail.com>",
  "_user": "ropensci-staging",
  "_type": "src",
  "_file": "pkgaudit_0.4.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/a8df0e64e851e01199836e8ae8e6543a4cdb6797fbc37aec05c46065f218187d",
  "_filesize": 439476,
  "_sha256": "a8df0e64e851e01199836e8ae8e6543a4cdb6797fbc37aec05c46065f218187d",
  "_expires": "2026-12-26T18:33:31.000Z",
  "_created": "2026-09-17T18:29:37.000Z",
  "_published": "2026-10-17T10:39:38.218Z",
  "_jobs": [
    {
      "job": 105330330660,
      "time": 186,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10514140946"
    },
    {
      "job": 105330330883,
      "time": 152,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10514700133"
    },
    {
      "job": 105330330817,
      "time": 151,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10514815054"
    },
    {
      "job": 105330330753,
      "time": 126,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10514355655"
    },
    {
      "job": 105329185970,
      "time": 180,
      "config": "pkgdown",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "10513770864"
    },
    {
      "job": 105329186139,
      "time": 199,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10512684635"
    },
    {
      "job": 105330330747,
      "time": 118,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "10513880993"
    },
    {
      "job": 105330330715,
      "time": 113,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10512854754"
    },
    {
      "job": 105330330705,
      "time": 126,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10514650037"
    },
    {
      "job": 105330330731,
      "time": 175,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10514016048"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/ropensci-staging/actions/runs/35258798617",
  "_status": "success",
  "_upstream": "https://github.com/tylerjssmith/pkgaudit",
  "_commit": {
    "id": "4279f8f5d42300ba9cc860db490392af2ca64b2f",
    "author": "Tyler Smith <tylerjssmith@gmail.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #7 from tylerjssmith/dependabot/github_actions/actions-1211937ee1\n\nBump r-lib/actions/setup-r from 2.12.1 to 2.13.0 in the actions group",
    "time": 1789655364
  },
  "_maintainer": {
    "name": "Tyler Smith",
    "email": "tylerjssmith@gmail.com",
    "login": "tylerjssmith",
    "linkedin": "in/tylerjssmith",
    "description": "Security Data Science",
    "uuid": 11305420,
    "orcid": "0000-0003-4692-2206"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1",
      "role": "Depends"
    },
    {
      "package": "DBI",
      "role": "Imports"
    },
    {
      "package": "digest",
      "role": "Imports"
    },
    {
      "package": "RSQLite",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tools",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "xml2",
      "role": "Imports"
    },
    {
      "package": "xmlparsedata",
      "role": "Imports"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "jsonlite",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "yaml",
      "role": "Suggests"
    }
  ],
  "_owner": "tylerjssmith",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-26",
      "n": 18
    },
    {
      "week": "2026-27",
      "n": 3
    },
    {
      "week": "2026-29",
      "n": 12
    },
    {
      "week": "2026-30",
      "n": 45
    },
    {
      "week": "2026-31",
      "n": 27
    },
    {
      "week": "2026-32",
      "n": 6
    },
    {
      "week": "2026-33",
      "n": 22
    },
    {
      "week": "2026-34",
      "n": 4
    },
    {
      "week": "2026-35",
      "n": 26
    },
    {
      "week": "2026-36",
      "n": 3
    },
    {
      "week": "2026-37",
      "n": 4
    },
    {
      "week": "2026-38",
      "n": 3
    }
  ],
  "_tags": [
    {
      "name": "release_0.2.0",
      "date": "2026-07-16"
    },
    {
      "name": "release_0.3.0",
      "date": "2026-08-02"
    },
    {
      "name": "release_0.4.0",
      "date": "2026-08-24"
    }
  ],
  "_topics": [
    "cybersecurity",
    "r-security",
    "security",
    "software-supply-chain-security",
    "static-code-analysis",
    "static-code-analyzer",
    "supply-chain-security"
  ],
  "_stars": 5,
  "_contributors": [
    {
      "user": "tylerjssmith",
      "count": 178,
      "uuid": 11305420
    }
  ],
  "_userbio": {
    "uuid": 318245800,
    "type": "organization",
    "name": "ropensci-staging",
    "followers": 0
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/pkgaudit"
  },
  "_devurl": "https://github.com/tylerjssmith/pkgaudit",
  "_pkgdown": "https://tylerjssmith.github.io/pkgaudit/",
  "_searchresults": 0,
  "_metadata": {
    "review": {
      "organization": "rOpenSci Software Review",
      "url": "https://github.com/ropensci/software-review/issues/802"
    }
  },
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/pkgaudit.html",
    "extra/readme.html",
    "extra/readme.md"
  ],
  "_cranurl": false,
  "_exports": [
    "analyze_segment",
    "audit_package",
    "audit_tarball",
    "emit_sarif",
    "export_unscanned",
    "extract_segments",
    "hash_manifest",
    "load_rules",
    "new_findings",
    "new_segment",
    "rules_version",
    "validate_tar"
  ],
  "_help": [
    {
      "page": "analyze_segment",
      "title": "Find code contexts, patterns and matches in one segment",
      "topics": [
        "analyze_segment"
      ]
    },
    {
      "page": "audit_package",
      "title": "Audit an R source package",
      "topics": [
        "audit_package"
      ]
    },
    {
      "page": "audit_tarball",
      "title": "Audit an R source package tarball",
      "topics": [
        "audit_tarball"
      ]
    },
    {
      "page": "emit_sarif",
      "title": "Render a scan as SARIF",
      "topics": [
        "emit_sarif"
      ]
    },
    {
      "page": "export_unscanned",
      "title": "Export the code pkgaudit could not read",
      "topics": [
        "export_unscanned"
      ]
    },
    {
      "page": "extract_segments",
      "title": "Read one source file into the code segments it contains",
      "topics": [
        "extract_segments"
      ]
    },
    {
      "page": "format.pkgaudit",
      "title": "Format or print a pkgaudit result",
      "topics": [
        "format.pkgaudit",
        "print.pkgaudit"
      ]
    },
    {
      "page": "hash_manifest",
      "title": "Compute a manifest hash for a directory",
      "topics": [
        "hash_manifest"
      ]
    },
    {
      "page": "load_rules",
      "title": "Load security rules from the pkgaudit rules database",
      "topics": [
        "load_rules"
      ]
    },
    {
      "page": "new_findings",
      "title": "Build the return value of an 'analyze_segment()' method",
      "topics": [
        "new_findings"
      ]
    },
    {
      "page": "new_segment",
      "title": "Build one code segment",
      "topics": [
        "new_segment"
      ]
    },
    {
      "page": "rules_version",
      "title": "Return the current rules database version",
      "topics": [
        "rules_version"
      ]
    },
    {
      "page": "summary.pkgaudit",
      "title": "Summarize a pkgaudit result",
      "topics": [
        "print.summary.pkgaudit",
        "summary.pkgaudit"
      ]
    },
    {
      "page": "validate_tar",
      "title": "Validate a source package tarball before extraction",
      "topics": [
        "validate_tar"
      ]
    }
  ],
  "_readme": "https://github.com/tylerjssmith/pkgaudit/raw/HEAD/README.md",
  "_rundeps": [
    "bit",
    "bit64",
    "blob",
    "cachem",
    "cli",
    "cpp11",
    "DBI",
    "digest",
    "fastmap",
    "glue",
    "lifecycle",
    "memoise",
    "pkgconfig",
    "rlang",
    "RSQLite",
    "vctrs",
    "xml2",
    "xmlparsedata"
  ],
  "_vignettes": [
    {
      "source": "pkgaudit.Rmd",
      "filename": "pkgaudit.html",
      "title": "Getting Started with pkgaudit",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Example package",
        "Auditing a package",
        "Examining results",
        "File contexts",
        "Patterns",
        "Matches",
        "Coverage",
        "Errors",
        "Metadata",
        "Subsetting by phase",
        "Reviewing findings",
        "Exporting findings",
        "Auditing a tarball",
        "Rule database integrity"
      ],
      "created": "2026-07-31 21:57:11",
      "modified": "2026-08-28 18:28:36",
      "commits": 19
    },
    {
      "source": "internals.Rmd",
      "filename": "internals.html",
      "title": "pkgaudit Internals",
      "engine": "knitr::rmarkdown",
      "headings": [
        "pkgaudit steps",
        "Discover",
        "Extract",
        "Analyze",
        "Resolve",
        "Call list",
        "Invariants",
        "Scanned files are never executed",
        "File size limits are applied before extraction",
        "Failures are contained and counted",
        "Rules are integrity-checked",
        "Every rule is verified against its own examples"
      ],
      "created": "2026-08-11 20:07:02",
      "modified": "2026-08-28 21:24:36",
      "commits": 9
    },
    {
      "source": "rules.Rmd",
      "filename": "rules.html",
      "title": "pkgaudit Rule Coverage",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Patterns",
        "Matches",
        "Phases and Contexts",
        "Phases",
        "File Contexts",
        "Code Contexts",
        "Rule-based",
        "Computed"
      ],
      "created": "2026-07-31 21:57:11",
      "modified": "2026-09-02 22:50:13",
      "commits": 19
    },
    {
      "source": "security.Rmd",
      "filename": "security.html",
      "title": "R Package Security",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2026-08-19 23:02:22",
      "modified": "2026-08-19 23:02:22",
      "commits": 1
    }
  ],
  "_score": 5.079181246047625,
  "_indexed": false,
  "_nocasepkg": "pkgaudit",
  "_universes": [
    "ropensci-staging"
  ],
  "_progress_url": "https://github.com/r-universe/ropensci-staging/actions/runs/39025717161",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.4.0",
      "date": "2026-09-17T18:32:20.000Z",
      "distro": "resolute",
      "commit": "4279f8f5d42300ba9cc860db490392af2ca64b2f",
      "fileid": "https://r2.ropensci.org/412443ab9741603fff826f1d26b2cbae13a45190bda5ce6b7b5b0b1655525c1b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci-staging/actions/runs/35258798617"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.4.0",
      "date": "2026-09-17T18:32:01.000Z",
      "distro": "resolute",
      "commit": "4279f8f5d42300ba9cc860db490392af2ca64b2f",
      "fileid": "https://r2.ropensci.org/affc569d850a1d2a7755b0b1f4f1610c91e4f58a2c111c660bae52b2e1549b24",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci-staging/actions/runs/35258798617"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.4.0",
      "date": "2026-09-17T18:31:47.000Z",
      "commit": "4279f8f5d42300ba9cc860db490392af2ca64b2f",
      "fileid": "https://r2.ropensci.org/529711df528ac1304bf5b8789b5a0e25cc0fbfc6ac7e2512377d896a2c9e306f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci-staging/actions/runs/35258798617"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.4.0",
      "date": "2026-09-17T18:31:31.000Z",
      "commit": "4279f8f5d42300ba9cc860db490392af2ca64b2f",
      "fileid": "https://r2.ropensci.org/e2b08fded74fe46c9053e48b49280c34193c390bac1bad833d52472ac3d19134",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci-staging/actions/runs/35258798617"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.4.0",
      "date": "2026-09-17T18:31:58.000Z",
      "commit": "4279f8f5d42300ba9cc860db490392af2ca64b2f",
      "fileid": "https://r2.ropensci.org/9edfa6eea6980dfa395c57d72234a2f6d83593379d20e3549698c79dc43d1a58",
      "status": "success",
      "buildurl": "https://github.com/r-universe/ropensci-staging/actions/runs/35258798617"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-09-17T18:30:49.000Z",
      "commit": "4279f8f5d42300ba9cc860db490392af2ca64b2f",
      "fileid": "https://r2.ropensci.org/024d0f330ccd8f7e7db844c9e4f869f5ac2c87bf4e9bf020da37c3a1935b3ada",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci-staging/actions/runs/35258798617"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-09-17T18:30:52.000Z",
      "commit": "4279f8f5d42300ba9cc860db490392af2ca64b2f",
      "fileid": "https://r2.ropensci.org/034c98f52d466f9b145e515e46be1fcc3a2941aa2853238f9fd4e99ca8710f1f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci-staging/actions/runs/35258798617"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-09-17T18:30:55.000Z",
      "commit": "4279f8f5d42300ba9cc860db490392af2ca64b2f",
      "fileid": "https://r2.ropensci.org/58772b422e9ec726354c50fabbc4c4cd59ea50e5ea8e8cded75e807d99a9eced",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci-staging/actions/runs/35258798617"
    }
  ]
}