Rubyエージェントのリリースノート
リリース日: 2024年5月30日
現在サポートしている言語バージョン: 3.0 - 3.2
修正された不具合:
新しい検出結果の比較時に、応答ベースのルールで誤ったアルゴリズムが使用されていました。(RUBY-2136)
Contrast Webインターフェイスにメッセージが送信される際に、レスポンス本文の解析に失敗すると、メッセージが再送されることがありました。(RUBY-2137)
リリース日:2024年4月11日
現在サポートしている言語バージョン: 3.0 - 3.2
新機能と改善点:
シャットダウンのレスポンス処理を更新しました。解析を無効にする前に、シャットダウンのレスポンスコードがネットワークの問題ではなく、Contrastからのものであることを確認するようにしました。
ActionController::RoutingError
の発生時にRailsでマップされないルートに対するルート観測の処理を改善しました。
リリース日: 2023年10月6日
現在サポートしている言語バージョン: 3.0 - 3.2
新機能と改善点:
依存関係の要件を緩和し、Rackの3.xバージョンの環境で実行ができるようになりました。
リリース日: 2023年9月21日
現在サポートしている言語バージョン: 3.0 - 3.2
新機能と改善点:
FrameworkManager
がRailsのActionDispatch
クラスを処理して、検出されたルートを特定できるようにしました。
修正された不具合:
RailsGoatを使用してDockerコンテナ内でテストを実行するとパッチのエラーが発生する問題を修正しました。(RUBY-2117)
SQLインジェクション
ルールの探査検出がContrastサーバに報告されると、攻撃イベントが大量に作成され、ルールに対するセキュリティログが作成されないという問題を修正しました。(RUBY-2114)
リリース日: 2023年9月12日
現在サポートしている言語バージョン: 3.0 - 3.2
新機能と改善点:
有効なエージェントの設定を解析可能に更新しました。
非推奨の攻撃タイミング機能をContrast Protectから削除しました。
ローカル設定で維持できるProtectルールインスタンスを作成しました。
修正された不具合:
アプリケーション名がない無効なpreflightエントリを修正しました。(RUBY-2112)
リリース日: 2023年8月9日
現在サポートしている言語バージョン: 3.0 - 3.2
修正された不具合:
Protectルールの設定がローカルに設定されていない場合、Contrastサーバからの応答として受信したProtectルールの設定が正しく反映されていませんでした。(RUBY-2105)
リリース日: 2023年8月4日
現在サポートしている言語バージョン: 3.0 - 3.2
新機能と改善点:
外部からのリクエストを信頼できないものとしてマークし、合わせてレスポンスにタグを付ける実装をしました。
修正された不具合:
nil:NilClass
のNoMethodError: undefined method `pfamily'
を解決しました。 (RUBY-2101)ENVからの設定の解析時に、一部の値が、対応する設定に正しくマッピングされていませんでした。(RUBY-2091)
リリース日: 2023年7月26日
現在サポートしている言語バージョン: 3.0 - 3.2
新機能と改善点:
設定がない場合にのみ、ヘルパーコンフィグ(設定のプレースホルダ)を作成するようにしました。
LinuxのARM64とAlpineのARM64をサポートするように
AgentLib
のgemが更新されました。
修正された不具合:
プリフライト処理のレポートで、セッションIDの検証エラーが出力されていませんでした。(RUBY-2074)
設定ファイルが存在しない場合(または生成されない場合)、およびENV変数も設定されていない場合にエージェントが2つのログファイルを作成していました。(RUBY-2097)
CONTRAST__ASSESS__SAMPLING__ENABLE=TRUE
が設定されている場合、Contrast::Components::Sampling::Interface#enable
が設定されず、NoMethodError
エラーが発生していました。(RUBY-2096)
リリース日: 2023年6月1日
現在サポートしている言語バージョン: 3.0 - 3.2
新機能と改善点:
Assessポリシーに、新しいバージョンの
rails-html-sanitizer
対する更新を行いました。ユーザ名でテレメトリの例外が発生した場合に、難読化するようにしました。
脆弱性の重複回避を改善するために、URIのUUIDを正規化しました。
共通の優先順位に合わせて、階層化されたエージェント設定を可能にしました。
SourceMethod
のパフォーマンスを調査し、改善しました。
修正された不具合:
XCodeを搭載したMacの一部のバージョンで、Ruby自体との非互換性によりClangリンカが正しいシンボルを見つけられないことがあった。(RUBY-2079)
リリース日: April 13, 2023
現在サポートしている言語バージョン: 3.0 - 3.2
新機能と改善点:
Added custom internal parsing in order to support non-standard JSON gem installs version 1.8+.
All sources of configuration are now included in the configuration report.
Improved logging with exceptions and exception reporting.
リリース日: April 3, 2023
現在サポートしている言語バージョン: 3.0 - 3.2
新機能と改善点:
Ruby 2.7 EOL as of March 31, 2023, with agent version 6.15.3.Updated supported technologies.
Added warning for applications instrumented with Contrast when the application starts in a version of Ruby less than 3.0.0.
Implemented Sorbet for static and runtime checks.
Upgraded
Vulneruby_Engine
push images script.
リリース日: March 8, 2023
現在サポートしている言語バージョン: 2.7 - 3.1
修正された不具合:
When calculating finding uniqueness, URI is used even when a route signature is available. (RUBY-2025)
リリース日: February 22, 2023
現在サポートしている言語バージョン: 2.7 - 3.1
修正された不具合:
When running the rake task with the agent disabled and no configuration, a stack level too deep error occurs cycling between Agent's worker threads' connection initialization and telemetry logger. (RUBY-2027)
リリース日: February 22, 2023
現在サポートしている言語バージョン: 2.7 - 3.1
No updates
リリース日: February 16, 2023
現在サポートしている言語バージョン: 2.7 - 3.1
新機能と改善点:
Cleaned the Protect rules by merging
Contrast::Agent::Protect::Rule::BaseService
withContrast::Agent::Protect::Rule::Base
class.Updated
contrast-agent-lib
to v.1.1.1.
リリース日: January 27, 2023
現在サポートしている言語バージョン: 2.7 - 3.1
新機能と改善点:
Autogenerate new stencil config file on agent's gem install.
リリース日: January 20, 2023
現在サポートしている言語バージョン: 2.7 - 3.1
新機能と改善点:
Added Ruby 3.2.0 Support.
When Regexp timeout is set and Redos is enabled, then the agent checks the timeout set and warns if timeout is infinity.
Updated AgentLib project Gemspec to support any version of Ruby below 3.3.0.
リリース日: January 11, 2023
現在サポートしている言語バージョン: 2.7 - 3.1
新機能と改善点:
Updated connection diagnostic to new specifications.
Refactored
Contrast::Api::Communication::ConnectionStatus
and Telemetry.Added input exclusions to Protect.
修正された不具合:
When setting CONTRAST__SERVER__NAME environment variable, the application crashes. (RUBY-2014)
When error handling occurs in to_controlled_hash, required data is missing. (RUBY-1992)
When recording the last time settings were updated, the agent conflates Server update time with Application update time. (RUBY-1999)
When Rails/ActiveSupportAliases settings are used, a lack of warning from Rubocop is in place. (RUBY-2007)
リリース日: November 9, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
修正された不具合:
When sending observed routes with empty signature or URL, TS auth error occurs. (RUBY-1983)
リリース日: November 2, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
新機能と改善点:
Updated protect security analysis to honor log levels set by the user in the Contrast web interface.
When the application starts, then the Agent will begin polling Contrast for
ServerFeatures
.When an event is reported to TeamServer, then that data is validated before being sent.
Expanded NoSQLI triggers when Mongo::Collection is used.
修正された不具合:
Fixed Telemetry Sentry error where it was unable to connect to Contrast. (RUBY-1846)
リリース日: October 7, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
新機能と改善点:
Improved report deduplication to improve performance.
Tune reporting to improve performance.
リリース日: September 12, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
新機能と改善点:
Removed the Protobuf dependency.
Enhanced reporting capabilities for routes, libraries, and applications.
Enhanced and updated Protect rules.
リリース日: August 31, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
新機能と改善点:
Enabled URL and Input (Assess) exclusions.
修正された不具合:
Instrumented applications no longer return 502. (RUBY-1775)
リリース日: August 4, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
修正された不具合:
When attempting to read custom configuration, some attributes are unable to be set. (RUBY-1785)
リリース日: July 21, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
新機能と改善点:
Update internal URL parsing to be more compatible with third-party APM monitoring of outbound connections to Contrast web interface.
リリース日: July 19, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
修正された不具合:
When reading database configuration objects such as
ActiveRecord::DatabaseConfigurations::HashConfig
, the agent may be unable to properly parse connection settings.
リリース日: July 15, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
修正された不具合:
When parsing a SQL statement in MySQL, the Agent may incorrectly identify a boundary overrun resulting in an improper attack evaluation. (RUBY-1770)
リリース日: July 14, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
修正された不具合:
When running in trace mode, a dynamically generated method wrapper may conflict with other middleware. (RUBY-1760)
リリース日: July 13, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
修正された不具合:
When redirecting through OmniAuth, the Agent incorrectly reports a security vulnerability. (RUBY-1758)
リリース日: July 1, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
修正された不具合:
When `ActiveRecord::StatementCache::BindMap#execute` is used, the agent incorrectly flags the query executed as unsafe.
アーカイブ
リリース日: June 29, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
新機能と改善点:
Update to our internal policies and corresponding policy tests.
Performance improvements from bug fixes: Ruby-1740, Ruby-1742.
修正された不具合:
When we try to extract routes from
ActionDispatch::Routing::RouteSet::Dispatcher
, an exception that may cause CPU spikes or server outages occurs. (RUBY-1737)When
contrast_post_patch
was being called twice during applying patches, it caused performance issues and other various bugs. (Ruby-1740)When calling
to_sym
on a string, the propagation breaks. (Ruby-1741)When evaluating Assess rule violation, sometimes multiple events were created. (Ruby-1742)
When the Ruby Agent has large memory usage, it crashes since
PROPERTIES_HASH
is not getting cleaned up. (Ruby-1747)
リリース日: June 9, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
修正された不具合:
When added to an application with
google-protobuf
, a namespace collision prevents installation. (RUBY-1736)
リリース日: June 6, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
リリース日: May 27, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
新機能と改善点:
Telemetry exceptions - production issues from live customer environments will be reported to our servers to help remediate bugs.
New diagnostic executable to help troubleshoot settings, connectivity, and configuration lookup.
修正された不具合:
When multiple exceptions are queued for reporting, translating them to JSON may cause the agent to bloat application memory usage. (RUBY-1698)
When body of type
Rack::Files
orRack::Files::Iterator
is passed, the agent is not able to handle that body type and throws an error. (RUBY-1710)
リリース日: May 12, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
修正された不具合:
When given a non-standard database connection string, the agent raises a handled exception during parsing. (Ruby-1697)
リリース日: May 12, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
修正された不具合:
When creating a stack trace for telemetry reporting, the agent pushes a potentially uninitialized instance variable. (Ruby-1694)
リリース日: May 5, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
修正された不具合:
When the Contrast Service is not running, the agent queues up messages to send infinitely, creating a memory leak. (RUBY-1667)
リリース日: April 4, 2022
現在サポートしている言語バージョン: 2.7 - 3.1
新機能と改善点:
Added support for Ruby 3.1.
Removed support for Ruby 2.6.
修正された不具合:
When reporting Stored XSS findings, the agent is omitting the database table and column of origin (Ruby-1548)
リリース日: March 3, 2022
現在サポートしている言語バージョン: 2.6 - 3.0
修正された不具合:
When running in an environment without Rails, the agent may cause a require error. (RUBY-1551)
リリース日: February 28, 2022
現在サポートしている言語バージョン: 2.6 - 3.0
修正された不具合:
When another dependency overrides the
Kernel#exec
method with a prepend, then the agent can cause an infinite loop. (RUBY-1246)
リリース日: January 24, 2022
現在サポートしている言語バージョン: 2.6 - 3.0
修正された不具合:
When the agent is installed in an environment running
rspec-rails
on a Ruby version less than 3.0.0, a collision withActiveSupport::Concern
breaks theActiveSupport::Concern#included
method. (Ruby-1500)
リリース日: January 6, 2022
現在サポートしている言語バージョン: 2.6 - 3.0
注記
Ruby 2.5 is no longer supported after the Ruby agent 4.14.1.
リリース日: December 20, 2021
現在サポートしている言語バージョン: 2.5 - 3.0
注記
Ruby 2.5 is no longer supported after the Ruby agent 4.14.1.
リリース日: December 7, 2021
現在サポートしている言語バージョン: 2.5 - 3.0
リリース日: November 19, 2021
現在サポートしている言語バージョン: 2.5 - 3.0
修正された不具合:
When attempting to write to the filesystem, if the directory is inaccessible, then an uncaught exception may cause a crash. (RUBY-1420)
リリース日: November 11, 2021
現在サポートしている言語バージョン: 2.5 - 3.0
新機能と改善点:
Support for Puma web server.
Support for Thin web server.
Telemetry is now enabled in the Ruby agent in order to gather valuable data about the agent’s functionality.データは全て匿名で、個人情報は収集されません。
リリース日: October 14, 2021
現在サポートしている言語バージョン: 2.5 - 3.0
修正された不具合:
When a fork is called in a Rails application that has hooked ActiveSupport::ForkTracker, it conflicts between aliasing and prepending result in
no superclass method \
fork', causing the rails application to fail during agent start-up. (RUBY-1352)When looking up cached strings prior to Ruby 2.7, cache collisions could cause the wrong representation to be reported. (RUBY-1325)
リリース日: September 23, 2021
現在サポートしている言語バージョン: 2.5 - 3.0
修正された不具合:
When determining if a closed stream should be copied, an IOError is raised. (RUBY-1318)
When the agent logs patching a class extending
ActiveRecord
model withhas_and_belongs_to_many
before cis determined, then
table_name
is permanently set to''
.(RUBY-1322)
リリース日: August 26, 2021
現在サポートしている言語バージョン: 2.5 - 3.0
新機能と改善点:
Improved agent performance, reducing impact to instrumented application.
Support for Grape application framework.
リリース日: July 15, 2021
現在サポートしている言語バージョン: 2.5 - 3.0
修正された不具合:
When a Rake task was executed for an application instrumented with Contrast, an erroneous include prevented the loading of Contrast tasks. (RUBY-1247)
リリース日: June 24, 2021
現在サポートしている言語バージョン: 2.5 - 3.0
新機能と改善点:
Improved runtime performance and round-trip time by optimizing dynamic components.
リリース日: May 20, 2021
現在サポートしている言語バージョン: 2.5 - 3.0
新機能と改善点:
Added support for built-in sanitization and validation in the Rails and Sinatra Web Application Frameworks to improve vulnerability detection when Assess is enabled.
リリース日: May 10, 2021
現在サポートしている言語バージョン: 2.5 - 3.0
修正された不具合:
When a user tries to install the agent in an application requiring Parser 3.0 or later, then a dependency conflict prevents installation. (RUBY-1195)
リリース日: April 22, 2021
現在サポートしている言語バージョン: 2.5 - 3.0
新機能と改善点:
Various updates are included in this release to improve memory usage and all around performance when Assess is enabled.
リリース日: March 25, 2021
現在サポートしている言語バージョン:2.5 - 2.7
新機能と改善点:
The agent now has improved stacktrace reporting.
Added
[]= Hash Equals
key tracking for Ruby 3.0.The Ruby Agent now reports its effective instrumentation mode.
The agent will now ignore methods for
ActionDispatch::Http::URL
.Updated patching for
:+
patching in Ruby 3.0.Updated copyright to 2021.
修正された不具合:
When reading overrides for the mode of individual Protect rules from local configuration, a translation error prevented rules from enabling Blocking mode. (RUBY-1134)
リリース日: March 10, 2021
現在サポートしている言語バージョン:2.5 - 2.7
修正された不具合:
When trying to startup a Rails application, an exception is thrown in
ActionController::Railties::Helper::ClassMethods
if it is missing the inherited method. (RUBY-1127)
リリース日: February 25, 2021
現在サポートしている言語バージョン:2.5 - 2.7
新機能と改善点:
The agent now determines Sinatra routes from
Middleware#call
instead ofSinatra::Base
.
修正された不具合:
When the ReDos Assess rule is disabled, the vulnerability could still be reported. (RUBY-1113)
リリース日: February 12, 2021
現在サポートしている言語バージョン:2.5 - 2.7
新機能と改善点:
Upgraded the service for latest updates.
リリース日: February 5, 2021
現在サポートしている言語バージョン:2.5 - 2.7
修正された不具合:
When rendering a template with
ActionView
, a patched method would cause issues in the rendering process.We removed this patching to solve this issue. (RUBY-1102)
リリース日: January 29, 2021
現在サポートしている言語バージョン:2.5 - 2.7
Important note:
Support for Ruby 2.5 will be deprecated in April 2021.
New features and improvements:
Modified
String#split
Assess dataflow analysis to improve performance of String tracking operations.Added the ability to configure capturing Assess stack traces with
assess.stacktraces
.The agent now does library discovery in a background thread to improve startup performance.
Modified dataflow tracking in Assess to short circuit sooner, avoiding the need to create intermediate objects when processing non-user input data.
The agent now ignores certain methods for dataflow in Rails to improve performance.
修正された不具合:
When a dataflow event occurs, a memory leak happens when we track data.We fixed the duplicated key stop the leak. (RUBY-1081)
リリース日: December 18, 2020
現在サポートしている言語バージョン:2.5 - 2.7
New features and improvements:
Improved
array.rb
tracking performance when Assess is enabled.Improved application context tracking performance when Assess is enabled.
リリース日: November 20, 2020
現在サポートしている言語バージョン:2.5 - 2.7
New features and improvements:
Improved stability and accuracy of Assess and Protect rules
リリース日: November 5, 2020
現在サポートしている言語バージョン:2.5 - 2.7
New features and improvements:
Added Assess propagation and tracking for
MatchData#string
.The agent now reports enhanced library usage on startup and at the end of each request.After a request is received by the agent, we report new files loaded for an installed package.
Added configuration to disable library analysis.
Improved performance of scanning based rules like Hardcoded Key/Password.
リリース日: October 23, 2020
現在サポートしている言語バージョン:2.5 - 2.7
New features and improvements:
Added WARN level logging if the configuration required to connect to the Contrast service is missing.
Added INFO level application identification logging.
Improved agent detection of hardcoded password/cryptographic key for non-literal hardcoded values.
リリース日: September 17, 2020
現在サポートしている言語バージョン:2.5 - 2.7
New features and improvements:
Added support for Unicorn 4 and 5.
Improved Object tracking to account for frozen Objects.
Improved gemspec filtering to prevent precompiled files from being packaged in the gem.
Added warning if common config YAML contains invalid syntax when parsing.
Agent now logs full configuration state including ENV and YAML values.
リリース日: August 24, 2020
現在サポートしている言語バージョン:2.5 - 2.7
New features and improvements:
Added logging for request start.
Added logging for request end.
Updated Unsafe File Upload detection to correctly handle auto-generaged
Rack::Multipart tempfile
.Added support for Rails engine routes for route coverage.
Removed the
Kernel#require
tracker.Refactored dataflow tracing to function along side of, rather than directly on, String instances, reducing pollution of existing name and method spaces.
Updated
RuboCop
compliance.
リリース日: July 29, 2020
現在サポートしている言語バージョン:2.5 - 2.7
修正された不具合:
False positive in our usage of
rack.session
cookie in Sinatra applications (RUBY-959)
リリース日: July 24, 2020
現在サポートしている言語バージョン:2.5 - 2.7
新機能と改善点:
Updated Speedracer version to
2.9.5/20200723-1734.d8d4139
(RUBY-957)
現在サポートしている言語バージョン:2.5 - 2.7
過去1ヶ月間にリリースされたエージェントのバージョン: 3.12.1, 3.12.2, 3.13.0
New features and improvements:
Replaced google-protobuf with protobuf.
Improved logging to include
Thread Id
as well asProcess Id
.Removed custom
Contrast::InternalException
in favor of common exception types to improve error handling.
重要なお知らせ:
The change of dependency from google-protobuf to protobuf, removes the need to execute the
bundle config force_ruby_platform true
command before installation.In 2020, the cucumber project forked protobuf for their own use in a way that is incompatible with the main branch.As such, you cannot run any project using cucumber-messages above version 8.0.0 as it depends on the incompatible protobuf-cucumber.
修正された不具合:
Improved handling of logging to unwritable destinations.
Improved handling of propagation to children of the String class.
Improved handling of propagation through Regular Expression where the result of a match is
nil
.
現在サポートしている言語バージョン:2.5 - 2.7
過去1ヶ月間にリリースされたエージェントのバージョン: 3.12.0
New features and improvements:
Caching of settings to improve performance and reduce memory impact
重要なお知らせ:
Deprecation of CSRF Assess and Protect rules
現在サポートしている言語バージョン:2.5 - 2.7
過去1ヶ月間にリリースされたエージェントのバージョン: 3.10.1, 3.10.2, 3.11.0
New features and improvements:
Improved Stack Trace capturing
Improved library analysis performance leading to a decrease in first request penalty
重要なお知らせ:
The Agent now supports TRACE level logging.Those running with DEBUG logging should see a significant decrease in logged events
現在サポートしている言語バージョン: 2.4 - 2.7
過去1ヶ月間にリリースされたエージェントのバージョン: 3.8.1, 3.8.2, 3.8.3, 3.8.4, 3.8.5, 3.9.0
New features and improvements:
Enhanced module definition detection using TracePoint
重要なお知らせ:
This will be the last on-premises release bundled with a gem that supports Ruby 2.4.
It is recommended to use RubyGems at this point.