Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
bp3-core provides core concerns for BP3, the persuavis/black_phoebe_3 multi-site multi-tenant rails application.
Add this line to your application's Gemfile:
gem 'bp3-core'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install bp3-core
In all controllers (or their base class), add
include Bp3::Core::Actions
include Bp3::Core::Cookies
In ActiveRecord models(or their base class) that are displayed to users, add:
include Bp3::Core::Displayable
In models, controllers, services and helpers that use feature flags, add:
include Bp3::Core::FeatureFlags
include Bp3::Core::Settings
In ActiveRecord models (or their base class) that are filtered/sorted with ransack, add:
include Bp3::Core::Ransackable
Then in your application's config/initializers/bp3-core
, add:
Bp3::Core::Ransackable.attribute_exceptions = %w[config config_id settable settable_id]
Bp3::Core::Ransackable.association_exceptions = %w[config settable]
In all ActiveRecord models (or their base class) with a request-id attribute :rqid, add:
include Bp3::Core::Rqid
Then in your application's config/initializers/bp3-core
, add:
Bp3::Core::Rqid.global_request_state_class_name = 'GlobalRequestState'
Bp3::Core::Rqid.global_request_state_method = :request_id
In all ActiveRecord models (or their base class) with a sequence number attribute :sqnr, add:
include Bp3::Core::Sqnr
To use :sqnr for record ordering for a particular model, use the class macro:
use_sqnr_for_ordering
In all ActiveRecord models (or their base class) that use site, tenant and/or workspace attributes that need to be populated from global state, add:
include Bp3::Core::Tenantable
The specific columns expected by Tenantable
are:
sites_site_id
tenant_id
workspaces_workspace_id
Tenantable will use reflection to determine which one(s) exist, and will create associations and callbacks accordingly.After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You
can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run rake install
. To release a new version,
update the version number in version.rb
, and then run rake release
, which will create a git
tag for the version, push git commits and the created tag, and push the .gem
file to rubygems.org.
The Bp3::Core::Test
class is for testing purposes.
Run rake
to run rspec tests and rubocop linting.
A .yardopts
file is provided to support yard documentation.
The gem is available as open source under the terms of the MIT License.
FAQs
Unknown package
We found that bp3-core demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.