0.01
No commit activity in last 3 years
No release in over 3 years
A collection of useful tools for auditing data and performing security checks.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

 Project Readme

SecurityGuard Build Status Dependency Status

This gem is a collection of useful tools for auditing data and performing security checks.

Installation

Standalone

$ gem install security_guard

As part of your application

Add this line to your application's Gemfile:

gem 'security_guard'

And then execute:

$ bundle

Usage

Executable

There is an sguard command if you intend to use security_guard as a command line tool. Please refer to the help option for its usage.

sguard -h

Tips

You can pass in setters during initialisation, for example:

country_ips = SecurityGuard::CountryIps.new
country_ips.countries = ['Australia', 'United Kingdom']
country_ips.ips = ['4.4.4.4', '8.8.8.8', '203.206.0.1']

# the above is equivalent to:

country_ips = SecurityGuard::CountryIps.new(
  :countries => ['Australia', 'United Kingdom'],
  :ips       => ['4.4.4.4', '8.8.8.8', '203.206.0.1']
)

Country IPs

Returns a list of the IPs from given country and IP dictionaries. Useful for auditing IPs from higher risk nations.

SecurityGuard::CountryIps.new(
  :countries => ['Australia'],
  :ips       => ['4.4.4.4', '8.8.8.8', '203.206.0.1']
).result # => ['203.206.0.1']

You may also pass country and IP data as a line-delimited file by appending _from_file at the end of the attributes:

country_ips.countries_from_file = '/path/to/the/file'
country_ips.ips_from_file = '/path/to/the/file'

Deduplication

Deduplicates line-delimited content contained within a list of files. Useful for deduplicating email newsletter subscription lists.

SecurityGuard::Deduplication.new(
  :input_folder  => '/path/to/the/input/folder',
  :output_folder => '/path/to/the/output/folder'
).process

Sequences

Prepends line-delimited content with a comma-delimited sequence column (1, 2, 3...) for counting.

SecurityGuard::Sequences.new(
  :input_folder  => '/path/to/the/input/folder',
  :output_folder => '/path/to/the/output/folder'
).process

Changelog

v0.0.6 [2012-03-07]

  • Output file names are now automatically mapped from the input file names

v0.0.5 [2012-03-07]

  • Fixed the file ordering issue on some OSes like Linux
  • Fixed the non-existing specs/tmp directory that causes specs to fail

v0.0.4 [2012-02-08]

  • Fixed Concerns::Initializable for CountryIps
  • Added Deduplication

v0.0.3 [2012-01-20]

  • Added Concerns::Initializable

v0.0.2 [2012-01-19]

  • Added IP address sanity check
  • Coloured test output
  • Added changelog

v0.0.1 [2012-01-18]

  • First release, implemented CountryIps and bin/sguard

Contributing

  1. Fork it
  2. Make sure you add documentation to README.md
  3. Make sure you test all your code
  4. Do your magic!
  5. Create a new Pull Request

Author

Brought to you by SitePoint.