question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

feat(core-api): read-only and distortion proxies of plugins

See original GitHub issue

Description

As a Cactus operator I want to have safety measures in place when importing a plugin, ensuring that if said plugin turns out to be malicious it will not be able to steal sensitive information from other plugins such as private keys used by a validator plugin for example so that I can have peace of mind (or at least a little less anxiety) about installing new plugins to my Cactus deployment.

https://github.com/salesforce/observable-membrane

Acceptance Criteria

  1. A test case showing two plugins having only read-only access to each other’s read-only properties
  2. Test case for distortion where dummy malicious plugin tries to access the privateKeyHex property of some other plugin instnace that it acquired through the plugin registry and failing (e.g. distortion ensures real private key is hidden and the proxy accessor returned some garbage instead).

cc: @cliveb @jonathan-m-hamilton @takeutak @sfuji822

Issue Analytics

  • State:open
  • Created 3 years ago
  • Reactions:2
  • Comments:14 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
petermetzcommented, Feb 15, 2021

@erights @cliveb @kumavis Thank you all, it’s starting to make a lot more sense now big-picture wise. This will help me a lot once I get started up on this task again (currently neck deep in another one).

Welcome to your new favorite rabbit hole rabbit2

Definitely made me chuckle. 😃 Can’t go back up now… gotta go deeper! 😃

1reaction
kumaviscommented, Feb 12, 2021

Hello/ author of LavaMoat here I think the observable-membrane package is not built to be secure. I looked at it when building my membrane implementation Cytoplasm https://github.com/LavaMoat/cytoplasm However I ultimately abandoned it due to severe performance impact (I’ve seen 300x slowdown) and some other design issues Membranes are really neat but I’ve lost some hope on their practicality.

That said, I think you can get a lot of security without them by using SES. Welcome to your new favorite rabbit hole 🐇

Read more comments on GitHub >

github_iconTop Results From Across the Web

Core API
Core API is a format-independent Document Object Model for representing Web APIs. It can be used to represent either Schema or Hypermedia responses, ......
Read more >
Forward Proxy Advanced plugin - Kong Docs
The Forward Proxy plugin allows Kong to connect to intermediary transparent HTTP proxies, ... Therefore, the Admin API is mostly read-only.
Read more >
elasticsearch-readonlyrest-plugin - Scaladex
Readonly REST Elasticsearch Plugin ... Expose the high performance HTTP server embedded in Elasticsearch directly to the public, safely blocking any attempt to ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found