Benign gem 22,953,417 installs Download

hanami-utils 2.2.0.beta2

Legitimate Ruby gem

“Ruby core extentions and Hanami utilities”

Ruby subshell command executionCode embeds cleartext HTTP URL literal
SHA-2569843d35b0e426a3277e3b2921fa689b61ac27dd55e88fa02b65cfe5c37ad1915

Evidence

Ruby gemspec assigns package name hanami-utils.gemspec · lines 1–11
⋯4 lines
5require "hanami/utils/version"
6
7Gem::Specification.new do |spec|
8 spec.name = "hanami-utils"
9 spec.version = Hanami::Utils::VERSION
10 spec.authors = ["Luca Guidi"]
11 spec.email = ["me@ …
Code embeds cleartext HTTP URL literal hanami-utils.gemspec · lines 12–20
12:40… s"
13 spec.summary = "Ruby core extentions and Hanami utilities"
14 spec.homepage = "http://hanamirb.org"
15 spec.license = "MIT"
16
17 spec.files = `git ls-files -- lib/* CHANGELOG.md LICENSE.md README.md hanami-utils.gemspec`.split($/)
18 spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19 spec.require_paths = ["lib"]
20 spec.meta …
Ruby class_eval call class_attribute.rb · lines 19–28
19:5… module ClassMethods
20 def self.extended(base)
21 base.class_eval do
22 @__class_attributes = Attributes.new unless defined?(@__class_attributes)
23 end
24 end
25
26 # Defines a class level accessor for the given attribute(s).
27 #
28 # A value set for a superclass is automatically available …
Copies a file with Ruby FileUtils files.rb · lines 45–52
45:13… lf.cp(source, destination)
46 mkdir_p(destination)
47 FileUtils.cp(source, destination)
48 end
49
50 # Creates a directory for the given path.
51 # It assumes that all the tokens in `path` are meant to be a directory.
52 # All the intermediate directories …
Ruby creates a directory tree files.rb · lines 68–74
68:29… `path/to/file.rb` directory
69 def self.mkdir(path)
70 FileUtils.mkdir_p(path)
71 end
72
73 # Creates a directory for the given path.
74 # It assumes that all the tokens, but the last, in `path` …

No evidence locations were recorded for this file. Raw result

Keyboard shortcuts on this page: j for the next sample, k for the previous one, x to go back to the feed, d to download the original bytes, r to re-queue the sample for analysis.