
Security News
Follow-up and Clarification on Recent Malicious Ruby Gems Campaign
A clarification on our recent research investigating 60 malicious Ruby gems.
Claudius is an easy-to-use domain specific language for cloud experiments. It has been designed to speed up process of building distributed experiments and highly reduce time of remote machines configuration. To avoid vendor lock-in, Claudius was build on top of fog.io library, which enables flexible and powerful way to manage machine instances at various cloud providers. Remote commands execution is based on SSH protocol (SSH-2). DLS allow users to generate readable execution graph, which is extremely useful for experiment flow verification and help avoid wasting money.
Install it as:
$ sudo gem install claudius
If you want export execution tree to image you need Graphivz.
experiment -- main part of Claudius DLS, which defines a new experiment. After command, you are obligated to provide 2 parameters:
You are allowed to call following methods on returned experiment object:
define_providers - method takes as a parameter description of machines used in experiment. In experiments You are allowed to use 2 different types of machines
manual - those machines have been created before experiment start, You should possess appropriate credentials such as: ip address, login, password etc.
cloud - if You like to perform your experiment in cloud, You should firstly provide necessary information to authenticate to Your cloud provider ( e.g. AWS). After successfully authentication, please define instances which You are going to use in your experiment by create_instances method.
foreach - keyword is similar to ruby ‘each’ method, but in contrast to ordinary ‘each’, you may provide adjectives describing how parameters should be process Currently supported adjectives are.
on - specify on which machine instructions should be executed, by default it is localhost. It takes instance name as a parameter.
before, after - keywords are used to construct metrics
concurrent - if elements (such as execute or foreach) are in common concurrent block, they are executed each in separate thread.
execute - method takes as a parameter block of code (which contain ssh methods calls), end perform instructions sequentially
ssh - specify instruction(s) which are going to be invoked on machine. As a parameter takes a string representing shell command.
In order to authenticate in AWS services (at other cloud providers also) you are obligated to provide some credentials data, which are: aws_access_key_id, aws_secret_access_key, and so on. It is recomended to store configuration in json file and refer to them, when they are require. Sample config file looks like one below:
{
"provider" : "AWS",
"region" : "eu-west-1",
"aws_access_key_id" : "XXXXXXXXXXXXXXXXXXXX",
"aws_secret_access_key" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"key_name" : "My-irleand-key",
"groups" : ["My-irleand-group"]
"private_key_path" : "./pems/my-irleand-key.pem"
}
After creation, You could load your file, assign it to variable and use freely as dictionary.
config = load_config('./user_config.json')
aws_key = config['aws_access_key_id']
Check doc here.
Documemtation is autogenerated from examples by Groc. To build doc you need Node.js and Pygments.
npm install -g groc
Generate to doc folder:
groc examples/* README.md
Generate to GitHub page:
groc --gh examples/* README.md
git checkout -b my-new-feature
)git commit -am 'Add some feature'
)git push origin my-new-feature
)FAQs
Unknown package
We found that claudius demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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
A clarification on our recent research investigating 60 malicious Ruby gems.
Security News
ESLint now supports parallel linting with a new --concurrency flag, delivering major speed gains and closing a 10-year-old feature request.
Research
/Security News
A malicious Go module posing as an SSH brute forcer exfiltrates stolen credentials to a Telegram bot controlled by a Russian-speaking threat actor.