You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Veracode CWE ID 311加密问题:iOS修改文件属性报错修复问询

CWE ID 311 加密漏洞修复方案
  • 告警触发原因:当前操作的文件存储加密后的敏感业务数据,Veracode静态扫描规则识别到修改该文件属性时未显式配置文件访问权限,判定存在敏感文件被未授权访问的风险,因此抛出CWE-311告警。
  • 修复方案:
    1. 最优方案:修改文件属性时同步显式设置文件的POSIX权限,限制仅当前应用所有者可读写该文件,符合敏感数据防护要求,修复后的代码如下:
- (NSData*)loadContentsFromSecureFile:(NSString*)name ofType:(HCFileType)type
{
    NSString *path = [self pathForFile:name ofType:type];
    
    NSData *encryptedData = [NSData dataWithContentsOfFile:path];
    if (encryptedData == nil) {
        DebugLog(@"No secure data found: %@", path);
        return nil;
    }
    
    NSData *data = [encryptedData AES256DecryptWithKey:[self.profile getFileKeyBytes]];
    if (data == nil) {
        DebugLog(@"Unable to decrypt data, deleting: %@", path);
        [[NSFileManager defaultManager] removeItemAtPath:path error:nil];
        return nil;
    }
    
    // 新增文件权限配置,消除CWE-311告警
    [[NSFileManager defaultManager] setAttributes:@{
        NSFileModificationDate: [NSDate date],
        NSFilePosixPermissions: @(0600)
    } ofItemAtPath:path error:nil];
    
    return data;
}
  1. 可选方案:如果更新文件修改时间的业务逻辑非必要,直接删除被标记的setAttributes代码行即可消除告警。
  • 补充说明:iOS应用默认沙盒目录下的文件仅应用自身可访问,若操作的文件路径在沙盒内,添加权限配置后即可通过Veracode扫描;若文件存储在公共共享目录,该权限配置也可以有效避免其他应用读取敏感文件内容。

内容的提问来源于stack exchange,提问作者Prajnaranjan Das

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 02:54:04