Low commit activity in last 3 years
Block pods from being used in your project.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
 Project Readme

cocoapods-blocklist

Build Status

A CocoaPods plugin used to check a project against a list of pods that you do not want included in your build. Security is the primary use, but keeping specific pods that have conflicting licenses is another possible use.

We use this in our continuous integration builds. If a security issue is found with a pod, we can update our blocklist.json file and builds will start to fail immediately. Developers don't always read the email about a new vulnerability. They definitely notice when the build fails. 😄

Installation

$ gem install cocoapods-blocklist

Usage

$ pod blocklist [LOCKFILE] --config=BLOCKLIST_CONFIG

The LOCKFILE is optional, and ./Podfile.lock is assumed if one is not explicitly passed in.

Blocklist config file

The blocklist config file is a JSON file that has an array of pods, each one containing a hash with:

  • name: the same string you would use to include a pod in a Podfile
  • versions: a version string (or array of version strings) used to match the version
  • reason: a string used to explain why a pod is blocked, will be printed out when a check fails
{
  "pods":[
    {
      "name":"FooKit",
      "reason":"FooKit 1.2.2 did not check passwords on Thursdays",
      "versions":"1.2.2"
    },
    {
      "name":"BananaKit",
      "reason":"Vulnerable to code injection with malformed BQL queries",
      "versions":[">=3.4.2", "<3.6.0"]
    }
  ]
}

Contributors

License

Code licensed under the MIT license. See LICENSE file for terms.