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.
aws-cdk-web
Advanced tools
:muscle: AWS CDK in your browser! (experimental)
this package is also mirrored on NPM under aws-cdk-web. read about the differences below.
load cdk-web.js
somewhere into your HTML file:
<script src="https://unpkg.com/aws-cdk-web"></script>
and start writing CDK apps like you would normally do in Node:
const cdk = require("aws-cdk-lib");
const ec2 = require("aws-cdk-lib/aws-ec2");
const sqs = require("aws-cdk-lib/aws-sqs");
const sns = require("aws-cdk-lib/aws-sns");
const s3 = require("aws-cdk-lib/aws-s3");
const app = new cdk.App();
const stack = new cdk.Stack(app, "BrowserStack");
const vpc = new ec2.Vpc(stack, "VPC");
const queue = new sqs.Queue(stack, "Queue");
const topic = new sns.Topic(stack, "Topic");
const bucket = new s3.Bucket(stack, "Bucket");
const assembly = app.synth();
console.log(assembly);
output of app.synth()
contains all you need to get your generated stack.
executing npm run build
builds CDK for web. everything is bundled in dist/cdk-web.js
. you may open up dist/index.html
in your browser if you want to just play with the compiled bundle.
testing is done by Puppeteer. the actual generated bundle is loaded into Puppeteer and tests are executed against it. run npm test
to execute them.
a global require
function is exposed that can resolve the following modules in a browser environment:
aws-cdk-lib
: core CDK libraryaws-cdk-lib/*
: core scoped CDK modulesconstructs
: the AWS constructs librarypath
: node path utilities to be used with fs
fs
: in-memory and in-browser file system APIafter you call app.synth()
you can investigate what normally goes into your cdk.out
by calling require('fs').vol.toJSON()
which returns everything on "disk" within your browser.
you can override the default behavior by defining window.CDK_WEB_REQUIRE
to a string before loading cdk-web.js
in your HTML. For example:
<!DOCTYPE html>
<html>
<body>
<script>window.CDK_WEB_REQUIRE = "my_custom_cdk_require"</script>
<script src="cdk-web.js"></script>
<script>
// window.require is now window.my_custom_cdk_require
const cdk = my_custom_cdk_require('aws-cdk-lib');
</script>
</body>
</html>
cdk-web
vs aws-cdk-web
The two packages are identical, mirrored, and released to at the same time. You may use the other mirror if you are behind a corporate proxy and your NPM packages go through a third-party repository such as Artifactory. The mirror does not list any packages as dependencies in its package.json (neither dev, nor prod). This prevents cdk-web
to be incorrectly flagged as vulnerable due to its outdated devDependencies. cdk-web
is a compiled project. Its compiler and toolchain being outdated does not impact its runtime. It's all client side JavaScript anyway. The mirror is only provided for your convenience.
aws-cdk
npm package (CDK CLI) is available
cdk synth
, cdk deploy
, etc.) are not offeredFAQs
AWS CDK compiled for web (and Node!)
The npm package aws-cdk-web receives a total of 0 weekly downloads. As such, aws-cdk-web popularity was classified as not popular.
We found that aws-cdk-web demonstrated a not healthy version release cadence and project activity because the last version was released 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.