小编Sco*_*yet的帖子

如何获取 veracode 漏洞报告的详细信息?

如何获取 veracode 漏洞报告的详细信息?

我是一个流行的 JS 库Ramda的维护者,我们最近收到一份报告,称该库存在原型污染漏洞。这可以追溯到veracode 报告,其中写道:

ramda 很容易受到原型污染。攻击者可以通过该_curry2函数将属性注入到现有的构造原型中,并修改诸如 __proto__ constructor 、 和 之类的属性prototype

我明白他们所说的原型污染是什么。snyk 的 writeuplodash.merge中有一个很好的解释。Ramda 的设计有所不同,明显类似的 Ramda 代码不会受到此类漏洞的影响。这并不意味着 Ramda 的任何部分都不受其约束。但该报告没有包含任何细节,没有代码片段,也没有办法质疑他们的发现。

他们描述的细节显然是错误的。 _curry2不可能会遇到这个问题。但由于该函数被用作许多其他函数的包装器,因此报告者的误解可能隐藏着真正的漏洞。

有没有办法获取此错误报告的详细信息?演示问题的代码片段?任何事物?我已经填写了他们的联系表。答案可能仍在到来,因为才 24 小时前,但我并没有屏住呼吸——这似乎主要是一份销售表格。我所做的所有搜索都提供了有关如何使用其安全工具的信息,但几乎没有提供有关如何创建自定义报告的信息。我在 CVE 数据库中找不到这个。

javascript veracode ramda.js cve

25
推荐指数
1
解决办法
1353
查看次数

翻译版本的`lt`,`lte`,`gt`和`gte`的好名字?

我已经在一个名为Ramda的Javascript FP库上工作了一段时间,我在命名方面遇到了一些问题.(你听说过这条旧线,对吗?"计算机科学只有两个难题:缓存失效,命名事物和一个一个错误.")

在这个库中,(几乎)多个参数的每个函数都会自动计算.这适用于大多数用例.但是有一些问题是一些函数是非交换二元运算符.问题在于,英语名称往往意味着与应用currying时所发生的不同.例如,

var div10 = divide(10);
Run Code Online (Sandbox Code Playgroud)

听起来它应该是一个将其参数除以10的函数.但实际上它将其参数分为 10,如果你看一下这个定义就很清楚了:

var divide = curry(function(a, b) {
    return a / b;
});
Run Code Online (Sandbox Code Playgroud)

所以相反的预期:

div10(50); //=> 5 // NO!!
Run Code Online (Sandbox Code Playgroud)

事实上,你得到了

div10(50); //=> 0.2 // Correct, but surprising!
Run Code Online (Sandbox Code Playgroud)

我们通过记录从人们的预期可能的差别,并创建处理这个问题divideBy,这只是flip(divide)subtractN,这是flip(subtract).但是我们还没有找到一个很好的等价函数,例如lt:

R.lt = curry(function(a, b) { 
    return a < b;
});
Run Code Online (Sandbox Code Playgroud)

或它的表兄弟lte,gtgte.

我自己的直觉就是这样

map(lt(5), [8, 6, 7, 5, 3, 0, 9]); 
//=> [false, false, false, false, …
Run Code Online (Sandbox Code Playgroud)

javascript functional-programming ramda.js

13
推荐指数
1
解决办法
2660
查看次数

表格内的Markdown列表

根据标题,

是否可以在markdown中的表格中放置一个列表?

我试图搜索它但找不到任何东西.

表格如下:

Fruit    |Color
---------|----------
Apples   |Red
Pears    |Green
Run Code Online (Sandbox Code Playgroud)

和列表是类似的

  • 清单项目1
  • 清单项目2

html markdown

9
推荐指数
2
解决办法
6027
查看次数

这个扩展的'compose`函数有什么好名字?

我有一个寻找名字的功能.

我一直在用Javascript 构建一个新的函数式编程库,最近我添加了一个对我有用的新函数.我命名了它,useWith但我想知道它是否是功能程序员以不同名称已知的功能.

该函数与之相关compose,因为它返回一个新函数,它结合了几个现有函数,但方式略有不同compose.它接收的第一个参数被挑选出来; 其余部分均匀处理.当调用返回的函数时,参数将分别传递给其余每个函数,结果以及任何未配对的参数将被发送到第一个函数,然后返回其结果.因此,如果只使用两个函数调用它,并且如果结果函数传递一个参数,则这与compose完全等效.但它有多个参数的附加功能.

我想要这个函数的原因是我实现了类似projectMichal Fogus在Functional Javascript中提供的函数,project类似于Codd的类似Javascript对象的数组,类似于SQL的select动词.写这样很容易:

var project = curry(function(keys, table) {
    return map(pick(keys), table);
});


// Used like this:
var kids = [{name: 'Bob', age: 3, eyes: 'blue', hair: 'brown'}, 
            {name: 'Sue', age: 5, eyes: 'hazel', hair: 'blonde'}];
project(['name', 'eyes'], kids); 
//=> [{name: 'Bob', eyes: 'blue'}, {name: 'Sue', eyes: 'hazel'}]
Run Code Online (Sandbox Code Playgroud)

但我真的想以无点的方式实现它.但当然这不起作用:

var project = compose(map, pick); // NO!
Run Code Online (Sandbox Code Playgroud)

...因为没有设施通过第二个参数, …

javascript functional-programming

5
推荐指数
1
解决办法
539
查看次数

在 React-Admin 中保存自定义组件的更改

如何将自定义组件的输出保存回 React Admin 模型?

我有一个带有一个自定义组件的表单,该组件是 CodeMirror 字段。对其他所有内容的更改均正确保存。但是我的 CodeMirror 字段虽然可以作为编辑器正常工作并按我想要的方式配置,但不会保存更改。

我是 React-Admin 的新手,并且对 React 的经验有限,所以我想我错过了一些基本的东西。

const handleChange = (field) => (val, evt) => {
  // I reach here with `field` set to the instance of MyEditField, with `val`
  // set to the updated editor value, and `evt` the CodeMirror event

  // But now how do I update the underlying record?

  // The following will update the stored copy, but doesn't mark it as a change 
  // to be saved by the …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-codemirror react-admin

3
推荐指数
1
解决办法
2556
查看次数

计算数组中有多少个对象具有特定值(JavaScript)

我有一个对象数组,如下所示:

[
{
"_id": "5b09cc3495cb6c0487f1166b",
"name": "ccc",
"email": "ccc@gmail.com",
"phone": "790467522",
"kidsNo": "1",
"adultsNo": "1",
"fullDate": "2018/5/1",
"year": "2018",
"month": "5",
"day": "1",
"chosenHour": "11:00",
"chosenRoom": "x",
"__v": 0
},
{
"_id": "5b09cc6095cb6c0487f1166c",
"name": "asd",
"email": "asd@asd.pl",
"phone": "790467522",
"kidsNo": "2",
"adultsNo": "3",
"fullDate": "2018/5/1",
"year": "2018",
"month": "5",
"day": "1",
"chosenHour": "12:00",
"chosenRoom": "x",
"__v": 0
},
{
"_id": "5b0b1560c7b4fd0c33b2d52e",
"name": "dddd",
"email": "dddd@ddd.pl",
"phone": "123123112",
"kidsNo": "2",
"adultsNo": "1",
"fullDate": "2018/5/17",
"year": "2018",
"month": "5",
"day": "17",
"chosenHour": …
Run Code Online (Sandbox Code Playgroud)

javascript

2
推荐指数
1
解决办法
2823
查看次数